zhaoyang há 3 anos atrás
pai
commit
fb9f43ff97
100 ficheiros alterados com 24130 adições e 34 exclusões
  1. 3 0
      FGUIProject/assets/Login/LoginUI.xml
  2. 10 0
      FGUIProject/assets/Login/components/ButtonTapLogin.xml
  3. BIN
      FGUIProject/assets/Login/images/Taplogin_button_16.png
  4. 2 0
      FGUIProject/assets/Login/package.xml
  5. 14 5
      GameClient/Assets/Game/HotUpdate/Controller/GameController.cs
  6. 3 3
      GameClient/Assets/Game/HotUpdate/Controller/LoginController.cs
  7. 1 1
      GameClient/Assets/Game/HotUpdate/ETCodes/Hotfix/App/Login/LoginHelper.cs
  8. 11 0
      GameClient/Assets/Game/HotUpdate/ETCodes/Hotfix/App/Role/RoleInfosComponentSystem.cs
  9. 10 1
      GameClient/Assets/Game/HotUpdate/ETCodes/Hotfix/App/ServerInfo/ServerInfosComponentSystem.cs
  10. 3 0
      GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Login/UI_LoginUI.cs
  11. 27 0
      GameClient/Assets/Game/HotUpdate/GameConfig.cs
  12. 11 0
      GameClient/Assets/Game/HotUpdate/GameConfig.cs.meta
  13. 0 13
      GameClient/Assets/Game/HotUpdate/GameGlobal.cs
  14. 8 0
      GameClient/Assets/Game/HotUpdate/Platform.meta
  15. 23 0
      GameClient/Assets/Game/HotUpdate/Platform/PlatformManager.cs
  16. 11 0
      GameClient/Assets/Game/HotUpdate/Platform/PlatformManager.cs.meta
  17. 52 0
      GameClient/Assets/Game/HotUpdate/Platform/PlatformTapManager.cs
  18. 11 0
      GameClient/Assets/Game/HotUpdate/Platform/PlatformTapManager.cs.meta
  19. 65 11
      GameClient/Assets/Game/HotUpdate/Views/Login/LoginView.cs
  20. 8 0
      GameClient/Assets/Plugins/LeanCloudSDK.meta
  21. BIN
      GameClient/Assets/Plugins/LeanCloudSDK/Common.dll
  22. 33 0
      GameClient/Assets/Plugins/LeanCloudSDK/Common.dll.meta
  23. BIN
      GameClient/Assets/Plugins/LeanCloudSDK/Common.pdb
  24. 7 0
      GameClient/Assets/Plugins/LeanCloudSDK/Common.pdb.meta
  25. BIN
      GameClient/Assets/Plugins/LeanCloudSDK/LC.Google.Protobuf.dll
  26. 33 0
      GameClient/Assets/Plugins/LeanCloudSDK/LC.Google.Protobuf.dll.meta
  27. BIN
      GameClient/Assets/Plugins/LeanCloudSDK/LC.Google.Protobuf.pdb
  28. 7 0
      GameClient/Assets/Plugins/LeanCloudSDK/LC.Google.Protobuf.pdb.meta
  29. 9125 0
      GameClient/Assets/Plugins/LeanCloudSDK/LC.Google.Protobuf.xml
  30. 7 0
      GameClient/Assets/Plugins/LeanCloudSDK/LC.Google.Protobuf.xml.meta
  31. BIN
      GameClient/Assets/Plugins/LeanCloudSDK/LC.Newtonsoft.Json.dll
  32. 33 0
      GameClient/Assets/Plugins/LeanCloudSDK/LC.Newtonsoft.Json.dll.meta
  33. BIN
      GameClient/Assets/Plugins/LeanCloudSDK/LC.Newtonsoft.Json.pdb
  34. 7 0
      GameClient/Assets/Plugins/LeanCloudSDK/LC.Newtonsoft.Json.pdb.meta
  35. 11246 0
      GameClient/Assets/Plugins/LeanCloudSDK/LC.Newtonsoft.Json.xml
  36. 7 0
      GameClient/Assets/Plugins/LeanCloudSDK/LC.Newtonsoft.Json.xml.meta
  37. 111 0
      GameClient/Assets/Plugins/LeanCloudSDK/LiveQuery.deps.json
  38. 7 0
      GameClient/Assets/Plugins/LeanCloudSDK/LiveQuery.deps.json.meta
  39. BIN
      GameClient/Assets/Plugins/LeanCloudSDK/LiveQuery.dll
  40. 33 0
      GameClient/Assets/Plugins/LeanCloudSDK/LiveQuery.dll.meta
  41. BIN
      GameClient/Assets/Plugins/LeanCloudSDK/LiveQuery.pdb
  42. 7 0
      GameClient/Assets/Plugins/LeanCloudSDK/LiveQuery.pdb.meta
  43. BIN
      GameClient/Assets/Plugins/LeanCloudSDK/Realtime.dll
  44. 33 0
      GameClient/Assets/Plugins/LeanCloudSDK/Realtime.dll.meta
  45. BIN
      GameClient/Assets/Plugins/LeanCloudSDK/Realtime.pdb
  46. 7 0
      GameClient/Assets/Plugins/LeanCloudSDK/Realtime.pdb.meta
  47. BIN
      GameClient/Assets/Plugins/LeanCloudSDK/Storage.Unity.dll
  48. 33 0
      GameClient/Assets/Plugins/LeanCloudSDK/Storage.Unity.dll.meta
  49. BIN
      GameClient/Assets/Plugins/LeanCloudSDK/Storage.Unity.pdb
  50. 7 0
      GameClient/Assets/Plugins/LeanCloudSDK/Storage.Unity.pdb.meta
  51. 71 0
      GameClient/Assets/Plugins/LeanCloudSDK/Storage.deps.json
  52. 7 0
      GameClient/Assets/Plugins/LeanCloudSDK/Storage.deps.json.meta
  53. 33 0
      GameClient/Assets/Plugins/LeanCloudSDK/Storage.dll.meta
  54. BIN
      GameClient/Assets/Plugins/LeanCloudSDK/Storage.pdb
  55. 7 0
      GameClient/Assets/Plugins/LeanCloudSDK/Storage.pdb.meta
  56. 10 0
      GameClient/Assets/Plugins/LeanCloudSDK/link.xml
  57. 7 0
      GameClient/Assets/Plugins/LeanCloudSDK/link.xml.meta
  58. BIN
      GameClient/Assets/ResIn/Config/excelConfig.sqlite.bytes
  59. BIN
      GameClient/Assets/ResIn/UI/Login/Login_atlas0!a.png
  60. BIN
      GameClient/Assets/ResIn/UI/Login/Login_atlas0.png
  61. BIN
      GameClient/Assets/ResIn/UI/Login/Login_fui.bytes
  62. 8 0
      GameClient/Assets/TapTap.meta
  63. 8 0
      GameClient/Assets/TapTap/Bootstrap.meta
  64. 245 0
      GameClient/Assets/TapTap/Bootstrap/CHANGELOG.md
  65. 3 0
      GameClient/Assets/TapTap/Bootstrap/CHANGELOG.md.meta
  66. 8 0
      GameClient/Assets/TapTap/Bootstrap/Documentation.meta
  67. 257 0
      GameClient/Assets/TapTap/Bootstrap/Documentation/README.md
  68. 7 0
      GameClient/Assets/TapTap/Bootstrap/Documentation/README.md.meta
  69. 8 0
      GameClient/Assets/TapTap/Bootstrap/Plugins.meta
  70. 233 0
      GameClient/Assets/TapTap/Bootstrap/Plugins/TapTap.Bootstrap.deps.json
  71. 7 0
      GameClient/Assets/TapTap/Bootstrap/Plugins/TapTap.Bootstrap.deps.json.meta
  72. BIN
      GameClient/Assets/TapTap/Bootstrap/Plugins/TapTap.Bootstrap.dll
  73. 33 0
      GameClient/Assets/TapTap/Bootstrap/Plugins/TapTap.Bootstrap.dll.meta
  74. BIN
      GameClient/Assets/TapTap/Bootstrap/Plugins/TapTap.Bootstrap.pdb
  75. 7 0
      GameClient/Assets/TapTap/Bootstrap/Plugins/TapTap.Bootstrap.pdb.meta
  76. 254 0
      GameClient/Assets/TapTap/Bootstrap/README.md
  77. 3 0
      GameClient/Assets/TapTap/Bootstrap/README.md.meta
  78. 6 0
      GameClient/Assets/TapTap/Bootstrap/VERSIONNOTE.md
  79. 7 0
      GameClient/Assets/TapTap/Bootstrap/VERSIONNOTE.md.meta
  80. 14 0
      GameClient/Assets/TapTap/Bootstrap/package.json
  81. 7 0
      GameClient/Assets/TapTap/Bootstrap/package.json.meta
  82. 8 0
      GameClient/Assets/TapTap/Common.meta
  83. 103 0
      GameClient/Assets/TapTap/Common/CHANGELOG.md
  84. 3 0
      GameClient/Assets/TapTap/Common/CHANGELOG.md.meta
  85. 8 0
      GameClient/Assets/TapTap/Common/Documentation.meta
  86. 178 0
      GameClient/Assets/TapTap/Common/Documentation/Bridge.md
  87. 7 0
      GameClient/Assets/TapTap/Common/Documentation/Bridge.md.meta
  88. 89 0
      GameClient/Assets/TapTap/Common/Documentation/README.md
  89. 3 0
      GameClient/Assets/TapTap/Common/Documentation/README.md.meta
  90. 8 0
      GameClient/Assets/TapTap/Common/Editor.meta
  91. 954 0
      GameClient/Assets/TapTap/Common/Editor/Plist.cs
  92. 3 0
      GameClient/Assets/TapTap/Common/Editor/Plist.cs.meta
  93. 232 0
      GameClient/Assets/TapTap/Common/Editor/TapCommonCompile.cs
  94. 3 0
      GameClient/Assets/TapTap/Common/Editor/TapCommonCompile.cs.meta
  95. 71 0
      GameClient/Assets/TapTap/Common/Editor/TapCommonIOSProcessor.cs
  96. 3 0
      GameClient/Assets/TapTap/Common/Editor/TapCommonIOSProcessor.cs.meta
  97. 168 0
      GameClient/Assets/TapTap/Common/Editor/TapFileHelper.cs
  98. 3 0
      GameClient/Assets/TapTap/Common/Editor/TapFileHelper.cs.meta
  99. 13 0
      GameClient/Assets/TapTap/Common/Editor/TapTap.Common.Editor.asmdef
  100. 7 0
      GameClient/Assets/TapTap/Common/Editor/TapTap.Common.Editor.asmdef.meta

+ 3 - 0
FGUIProject/assets/Login/LoginUI.xml

@@ -28,5 +28,8 @@
     <component id="n13_es2q" name="btnAge" src="es2q5i" fileName="components/Button5.xml" xy="924,1740">
       <relation target="" sidePair="right-right,bottom-bottom"/>
     </component>
+    <component id="n15_pwpm" name="btnTapLogin" src="pwpm5k" fileName="components/ButtonTapLogin.xml" xy="333,1837">
+      <relation target="" sidePair="bottom-bottom"/>
+    </component>
   </displayList>
 </component>

+ 10 - 0
FGUIProject/assets/Login/components/ButtonTapLogin.xml

@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<component size="413,67" extention="Button">
+  <Button/>
+  <controller name="button" pages="0,up,1,down,2,over,3,selectedOver"/>
+  <displayList>
+    <image id="n0_pwpm" src="pwpm5j" name="n0" xy="0,0">
+      <relation target="" sidePair="width,height"/>
+    </image>
+  </displayList>
+</component>

BIN
FGUIProject/assets/Login/images/Taplogin_button_16.png


+ 2 - 0
FGUIProject/assets/Login/package.xml

@@ -44,6 +44,8 @@
     <component id="hmrw5g" name="ComContent.xml" path="/components/"/>
     <image id="es2q5h" name="shilingts.png" path="/images/"/>
     <component id="es2q5i" name="Button5.xml" path="/components/"/>
+    <image id="pwpm5j" name="Taplogin_button_16.png" path="/images/"/>
+    <component id="pwpm5k" name="ButtonTapLogin.xml" path="/components/"/>
   </resources>
   <publish name="" path="..\GameClient\Assets\ResIn\UI\Login" packageCount="2" genCode="true" extractAlpha="true"/>
 </packageDescription>

+ 14 - 5
GameClient/Assets/Game/HotUpdate/Controller/GameController.cs

@@ -2,6 +2,7 @@ using FairyGUI;
 using UnityEngine;
 using ET;
 using static GFGGame.LauncherConfig;
+using TapTap.Bootstrap;
 
 namespace GFGGame
 {
@@ -32,9 +33,11 @@ namespace GFGGame
         public static void GetGameCfg()
         {
             var url = LauncherConfig.cfgUrl.Replace("{cfgName}", GameGlobal.cfgName);
-            HttpTool.Instance.Get(url, (string data) =>
-            {
-                GameGlobal.InitData(data);
+            HttpTool.Instance.Get(url, (string data) => {
+                //初始化游戏配置
+                GameConfig.InitData(data);
+                //初始化平台配置
+                PlatformManager.InitPlatform();
                 //显示登录
                 LoginController.ShowLogin();
             });
@@ -91,6 +94,7 @@ namespace GFGGame
 
         public static async ETTask PreEnterGameAsync()
         {
+            PlatformTapManager.OnEnterGame();
             RoleDataHandler.StartUpdate();
 
             GFGUIPackage.AddPackage(ResPathUtil.GetUIPackagePath("CommonGame"));
@@ -132,6 +136,7 @@ namespace GFGGame
 
         public static void QuitToLoginView(bool logout)
         {
+            PlatformTapManager.OnQuitGame();
             GameGlobal.isVisitor = false;
             GameGlobal.antiAddiction = true;
             GameGlobal.userId = 0;
@@ -155,7 +160,7 @@ namespace GFGGame
             GameGlobal.zoneScene.GetComponent<ServerInfosComponent>()?.ServerInfoList?.Clear();
             if (logout)
             {
-                Logout();
+                Logout().Coroutine();
             }
             ViewManager.Show<LoginView>(null, null, true);
             if (logout)
@@ -166,8 +171,12 @@ namespace GFGGame
         }
 
         //注销
-        public static void Logout()
+        public static async ETTask Logout()
         {
+            if(PlatformManager.IsTaptap)
+            {
+                await TDSUser.Logout();
+            }
             PlayerPrefs.DeleteKey(GameConst.PASSWORD_LAST_LOGIN_KEY);
         }
 

+ 3 - 3
GameClient/Assets/Game/HotUpdate/Controller/LoginController.cs

@@ -16,7 +16,7 @@ namespace GFGGame
         public static async ET.ETTask LoginTest(string account)
         {
             ViewManager.Show<ModalStatusView>("登录中...");
-            int errorCode = await ET.LoginHelper.LoginTest(GameGlobal.zoneScene, ET.ConstValue.LoginAddress, account);
+            int errorCode = await ET.LoginHelper.LoginTest(GameGlobal.zoneScene, GameConfig.LoginAddress, account);
 
             if (errorCode == ET.ErrorCode.ERR_Success)
             {
@@ -51,7 +51,7 @@ namespace GFGGame
         public static async ET.ETTask Login(string account, string password, bool isMD5 = false)
         {
             ViewManager.Show<ModalStatusView>("登录中...");
-            int errorCode = await ET.LoginHelper.Login(GameGlobal.zoneScene, ET.ConstValue.LoginAddress, account, password, isMD5);
+            int errorCode = await ET.LoginHelper.Login(GameGlobal.zoneScene, GameConfig.LoginAddress, account, password, isMD5);
 
             if (errorCode == ET.ErrorCode.ERR_Success)
             {
@@ -137,7 +137,7 @@ namespace GFGGame
         public static async ETTask Register(string account, string password, string name, string identityNum, string code)
         {
             ViewManager.Show<ModalStatusView>("注册中...");
-            int errorCode = await LoginHelper.Register(GameGlobal.zoneScene, ET.ConstValue.LoginAddress, account, password, name, identityNum, code);
+            int errorCode = await LoginHelper.Register(GameGlobal.zoneScene, GameConfig.LoginAddress, account, password, name, identityNum, code);
 
             if (errorCode == ErrorCode.ERR_Success)
             {

+ 1 - 1
GameClient/Assets/Game/HotUpdate/ETCodes/Hotfix/App/Login/LoginHelper.cs

@@ -308,7 +308,7 @@ namespace ET
                 return r2C_LoginRealm.Error;
             }
 
-            Log.Warning($"GateAddress : {r2C_LoginRealm.GateAddress}");
+            Log.Debug($"GateAddress : {r2C_LoginRealm.GateAddress}");
             Session gateSession = zoneScene.GetComponent<NetKcpComponent>().Create(NetworkHelper.ToIPEndPoint(r2C_LoginRealm.GateAddress));
             gateSession.AddComponent<PingComponent>();
             gateSession.AddComponent<DisConnectedCompnent>();

+ 11 - 0
GameClient/Assets/Game/HotUpdate/ETCodes/Hotfix/App/Role/RoleInfosComponentSystem.cs

@@ -26,5 +26,16 @@
             }
             return "";
         }
+        public static RoleInfo GetCurrentRole(this RoleInfosComponent self)
+        {
+            foreach (var i in self.RoleInfos)
+            {
+                if (i.Id == self.CurrentRoleId)
+                {
+                    return i;
+                }
+            }
+            return null;
+        }
     }
 }

+ 10 - 1
GameClient/Assets/Game/HotUpdate/ETCodes/Hotfix/App/ServerInfo/ServerInfosComponentSystem.cs

@@ -1,4 +1,6 @@
-namespace ET
+using static Codice.Client.Common.Servers.RecentlyUsedServers;
+
+namespace ET
 {
     public class ServerInfosComponentDestroySystem : DestroySystem<ServerInfosComponent>
     {
@@ -19,10 +21,17 @@
             self.ServerInfoList.Add(serverInfo.Id, serverInfo);
 
         }
+
         public static void SetRecentlyServerInfo(this ServerInfosComponent self, long recentId)
         {
             self.recentlyServerInfo = self.ServerInfoList[recentId];
             self.CurrentServerId = (int)recentId;
         }
+
+        public static ServerInfo GetCurrentServerInfo(this ServerInfosComponent self)
+        {
+            return self.ServerInfoList[self.CurrentServerId];
+        }
+
     }
 }

+ 3 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/Login/UI_LoginUI.cs

@@ -15,6 +15,7 @@ namespace UI.Login
         public GButton m_btnStart;
         public GButton m_btnChange;
         public GButton m_btnAge;
+        public GButton m_btnTapLogin;
         public const string URL = "ui://myoktu7pl55o0";
         public const string PACKAGE_NAME = "Login";
         public const string RES_NAME = "LoginUI";
@@ -70,6 +71,7 @@ namespace UI.Login
             m_btnStart = (GButton)comp.GetChild("btnStart");
             m_btnChange = (GButton)comp.GetChild("btnChange");
             m_btnAge = (GButton)comp.GetChild("btnAge");
+            m_btnTapLogin = (GButton)comp.GetChild("btnTapLogin");
         }
         public void Dispose(bool disposeTarget = false)
         {
@@ -81,6 +83,7 @@ namespace UI.Login
             m_btnStart = null;
             m_btnChange = null;
             m_btnAge = null;
+            m_btnTapLogin = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

+ 27 - 0
GameClient/Assets/Game/HotUpdate/GameConfig.cs

@@ -0,0 +1,27 @@
+using System.Collections;
+using ET;
+using LitJson;
+using UnityEngine;
+
+namespace GFGGame
+{
+    public class GameConfig
+    {
+
+        public static string LoginAddress;
+        public static string PlatformName;
+
+        public static void InitData(string json)
+        {
+            var result = JsonMapper.ToObject<Result>(json);
+            LoginAddress = result.loginApiUrl;
+            PlatformName = result.platformName;
+        }
+
+        private struct Result
+        {
+            public string loginApiUrl;
+            public string platformName;
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/GameConfig.cs.meta

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

+ 0 - 13
GameClient/Assets/Game/HotUpdate/GameGlobal.cs

@@ -21,8 +21,6 @@ namespace GFGGame
         public static bool isEnterGame = false;
 
 
-        public static string loginApiUrl;
-
         //ET
         public static Scene zoneScene;
         public static Unit myUnit;
@@ -47,16 +45,5 @@ namespace GFGGame
             }
         }
 
-        public static void InitData(string json)
-        {
-            var result = JsonMapper.ToObject<Result>(json);
-            loginApiUrl = result.loginApiUrl;
-            ConstValue.LoginAddress = loginApiUrl;
-        }
-
-        private struct Result
-        {
-            public string loginApiUrl;
-        }
     }
 }

+ 8 - 0
GameClient/Assets/Game/HotUpdate/Platform.meta

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

+ 23 - 0
GameClient/Assets/Game/HotUpdate/Platform/PlatformManager.cs

@@ -0,0 +1,23 @@
+namespace GFGGame
+{
+    public class PlatformManager
+    {
+        public static void InitPlatform()
+        {
+            switch(GameConfig.PlatformName)
+            {
+                case PlatformName.TapTap:
+                    PlatformTapManager.InitSDK();
+                    break;
+            }
+        }
+
+        public static bool IsTaptap
+        {
+            get
+            {
+                return GameConfig.PlatformName == PlatformName.TapTap;
+            }
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/Platform/PlatformManager.cs.meta

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

+ 52 - 0
GameClient/Assets/Game/HotUpdate/Platform/PlatformTapManager.cs

@@ -0,0 +1,52 @@
+using ET;
+using TapTap.Bootstrap;
+using TapTap.Common;
+using TapTap.TapDB;
+
+namespace GFGGame
+{
+    public class PlatformTapManager
+    {
+        public static void InitSDK()
+        {
+            if (!PlatformManager.IsTaptap)
+            {
+                return;
+            }
+            var config = new TapConfig.Builder()
+                .ClientID("K7bDyPGYlVx2AAtk6q")
+                .ClientToken("fjwWBtibB4Dj3UjyRQxK2tZ3f8fGNgg14tcRW38D")
+                .ServerURL("https://k7bdypgy.cloud.tds1.tapapis.cn")
+                .RegionType(RegionType.CN)
+                .TapDBConfig(true, "tap", null, true)
+                .ConfigBuilder();
+            TapBootstrap.Init(config);
+            
+        }
+
+        public static void OnEnterGame()
+        {
+            if(!PlatformManager.IsTaptap)
+            {
+                return;
+            }
+            var serverInfosComponent = GameGlobal.zoneScene.GetComponent<ServerInfosComponent>();
+            var accountInfoComponent = GameGlobal.zoneScene.GetComponent<AccountInfoComponent>();
+            var roleInfosComponent = GameGlobal.zoneScene.GetComponent<RoleInfosComponent>();
+            var currentRole = roleInfosComponent.GetCurrentRole();
+            TapDB.SetUser(accountInfoComponent.Account);
+            TapDB.SetName(currentRole.Name);
+            TapDB.SetLevel(RoleDataManager.lvl);
+            TapDB.SetServer(serverInfosComponent.GetCurrentServerInfo().ServerName);
+        }
+
+        public static void OnQuitGame()
+        {
+            if (!PlatformManager.IsTaptap)
+            {
+                return;
+            }
+            TapDB.ClearUser();
+        }
+    }
+}

+ 11 - 0
GameClient/Assets/Game/HotUpdate/Platform/PlatformTapManager.cs.meta

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

+ 65 - 11
GameClient/Assets/Game/HotUpdate/Views/Login/LoginView.cs

@@ -2,6 +2,9 @@ using UnityEngine;
 using FairyGUI;
 using UI.Login;
 using ET;
+using TapTap.Bootstrap;
+using System;
+using TapTap.Common;
 
 namespace GFGGame
 {
@@ -40,6 +43,7 @@ namespace GFGGame
             _ui.m_btnStart.onClick.Add(OnClickBtnStart);
             _ui.m_btnLogout.onClick.Add(OnClickBtnLogout);
             _ui.m_btnAge.onClick.Add(OnClickBtnAge);
+            _ui.m_btnTapLogin.onClick.Add(OnClickBtnTabLogin);
 
             _ui.m_imgLogo.visible = LauncherConfig.netType != LauncherConfig.EnumNetType.TEMP;
 
@@ -58,20 +62,12 @@ namespace GFGGame
                 _sceneObject = GameObject.Instantiate(_scenePrefab);
             }
             SceneController.UpdateLoginScene(_sceneObject);
-            if (!_ui.m_btnLogout.visible)
-            {
-                ViewManager.Show<LoginInputView>();
-            }
             ServerInfosComponent serverInfosComponent = GameGlobal.zoneScene.GetComponent<ServerInfosComponent>();
-
-
             ServerInfo recentlyServerInfo = serverInfosComponent.recentlyServerInfo;
             UpdateServer(recentlyServerInfo);
-            //尝试自动登录
-            if (serverInfosComponent.ServerInfoList.Count <= 0)
-            {
-                OnClickBtnStart();
-            }
+            _ui.m_btnStart.visible = false;
+            _ui.m_btnTapLogin.visible = false;
+            InitLoginStatus(serverInfosComponent).Coroutine();
         }
 
         protected override void OnHide()
@@ -84,8 +80,66 @@ namespace GFGGame
             base.OnHide();
         }
 
+        private async ETTask InitLoginStatus(ServerInfosComponent serverInfosComponent)
+        {
+            if (PlatformManager.IsTaptap)//taptap平台
+            {
+                TDSUser currentUser = await TDSUser.GetCurrent();
+                if (null == currentUser)
+                {
+                    _ui.m_btnTapLogin.visible = true;
+                }
+                else
+                {
+                    LoginController.LoginTest(currentUser.ObjectId).Coroutine();
+                }
+            }
+            //else//自有登录
+            //{
+                _ui.m_btnStart.visible = true;
+                //尝试自动登录
+                if (serverInfosComponent.ServerInfoList.Count <= 0)
+                {
+                    OnClickBtnStart();
+                }
+                if (!_ui.m_btnLogout.visible)
+                {
+                    ViewManager.Show<LoginInputView>();
+                }
+            //}
+        }
+
+        private void OnClickBtnTabLogin()
+        {
+            OnClickBtnTabLoginAsync().Coroutine();
+        }
+
+        private async ETTask OnClickBtnTabLoginAsync()
+        {
+            try
+            {
+                var tdsUser = await TDSUser.LoginWithTapTap();
+                Log.Debug($"login Success:{tdsUser}");
+                LoginController.LoginTest(tdsUser.ObjectId).Coroutine();
+            }
+            catch (Exception e)
+            {
+                if (e is TapException error)
+                {
+                    Log.Error($"Login Error:{error.code} message:{error.message}");
+                    PromptController.Instance.ShowFloatTextPrompt(error.message);
+                }
+                else
+                {
+                    Log.Error($"Login Error:{e}");
+                    PromptController.Instance.ShowFloatTextPrompt("登录异常");
+                }
+            }
+        }
+
         private void UpdateServer(ServerInfo info)
         {
+            //登录成功后更新注销按钮显示
             _ui.m_btnLogout.visible = GameController.CheckLoginCache(false);
             ServerInfosComponent serverInfosComponent = GameGlobal.zoneScene.GetComponent<ServerInfosComponent>();
             if (serverInfosComponent.ServerInfoList.Count == 0)

+ 8 - 0
GameClient/Assets/Plugins/LeanCloudSDK.meta

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

BIN
GameClient/Assets/Plugins/LeanCloudSDK/Common.dll


+ 33 - 0
GameClient/Assets/Plugins/LeanCloudSDK/Common.dll.meta

@@ -0,0 +1,33 @@
+fileFormatVersion: 2
+guid: 2b77db89a8e0a434eae2deb779bebf0e
+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: 

BIN
GameClient/Assets/Plugins/LeanCloudSDK/Common.pdb


+ 7 - 0
GameClient/Assets/Plugins/LeanCloudSDK/Common.pdb.meta

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

BIN
GameClient/Assets/Plugins/LeanCloudSDK/LC.Google.Protobuf.dll


+ 33 - 0
GameClient/Assets/Plugins/LeanCloudSDK/LC.Google.Protobuf.dll.meta

@@ -0,0 +1,33 @@
+fileFormatVersion: 2
+guid: d4461edc0f236bd41926fc2fe79406ec
+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: 

BIN
GameClient/Assets/Plugins/LeanCloudSDK/LC.Google.Protobuf.pdb


+ 7 - 0
GameClient/Assets/Plugins/LeanCloudSDK/LC.Google.Protobuf.pdb.meta

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

+ 9125 - 0
GameClient/Assets/Plugins/LeanCloudSDK/LC.Google.Protobuf.xml

@@ -0,0 +1,9125 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>LC.Google.Protobuf</name>
+    </assembly>
+    <members>
+        <member name="T:LC.Google.Protobuf.ByteArray">
+            <summary>
+            Provides a utility routine to copy small arrays much more quickly than Buffer.BlockCopy
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.ByteArray.CopyThreshold">
+            <summary>
+            The threshold above which you should use Buffer.BlockCopy rather than ByteArray.Copy
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.ByteArray.Copy(System.Byte[],System.Int32,System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Determines which copy routine to use based on the number of bytes to be copied.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.ByteArray.Reverse(System.Byte[])">
+            <summary>
+            Reverses the order of bytes in the array
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.ByteString">
+            <summary>
+            Immutable array of bytes.
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.ByteString.Unsafe">
+            <summary>
+            Unsafe operations that can cause IO Failure and/or other catastrophic side-effects.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.ByteString.Unsafe.FromBytes(System.Byte[])">
+            <summary>
+            Constructs a new ByteString from the given byte array. The array is
+            *not* copied, and must not be modified after this constructor is called.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.ByteString.AttachBytes(System.Byte[])">
+            <summary>
+            Internal use only.  Ensure that the provided array is not mutated and belongs to this instance.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.ByteString.#ctor(System.Byte[])">
+            <summary>
+            Constructs a new ByteString from the given byte array. The array is
+            *not* copied, and must not be modified after this constructor is called.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.ByteString.Empty">
+            <summary>
+            Returns an empty ByteString.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.ByteString.Length">
+            <summary>
+            Returns the length of this ByteString in bytes.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.ByteString.IsEmpty">
+            <summary>
+            Returns <c>true</c> if this byte string is empty, <c>false</c> otherwise.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.ByteString.ToByteArray">
+            <summary>
+            Converts this <see cref="T:LC.Google.Protobuf.ByteString"/> into a byte array.
+            </summary>
+            <remarks>The data is copied - changes to the returned array will not be reflected in this <c>ByteString</c>.</remarks>
+            <returns>A byte array with the same data as this <c>ByteString</c>.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.ByteString.ToBase64">
+            <summary>
+            Converts this <see cref="T:LC.Google.Protobuf.ByteString"/> into a standard base64 representation.
+            </summary>
+            <returns>A base64 representation of this <c>ByteString</c>.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.ByteString.FromBase64(System.String)">
+            <summary>
+            Constructs a <see cref="T:LC.Google.Protobuf.ByteString" /> from the Base64 Encoded String.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.ByteString.FromStream(System.IO.Stream)">
+            <summary>
+            Constructs a <see cref="T:LC.Google.Protobuf.ByteString"/> from data in the given stream, synchronously.
+            </summary>
+            <remarks>If successful, <paramref name="stream"/> will be read completely, from the position
+            at the start of the call.</remarks>
+            <param name="stream">The stream to copy into a ByteString.</param>
+            <returns>A ByteString with content read from the given stream.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.ByteString.FromStreamAsync(System.IO.Stream,System.Threading.CancellationToken)">
+            <summary>
+            Constructs a <see cref="T:LC.Google.Protobuf.ByteString"/> from data in the given stream, asynchronously.
+            </summary>
+            <remarks>If successful, <paramref name="stream"/> will be read completely, from the position
+            at the start of the call.</remarks>
+            <param name="stream">The stream to copy into a ByteString.</param>
+            <param name="cancellationToken">The cancellation token to use when reading from the stream, if any.</param>
+            <returns>A ByteString with content read from the given stream.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.ByteString.CopyFrom(System.Byte[])">
+            <summary>
+            Constructs a <see cref="T:LC.Google.Protobuf.ByteString" /> from the given array. The contents
+            are copied, so further modifications to the array will not
+            be reflected in the returned ByteString.
+            This method can also be invoked in <c>ByteString.CopyFrom(0xaa, 0xbb, ...)</c> form
+            which is primarily useful for testing.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.ByteString.CopyFrom(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Constructs a <see cref="T:LC.Google.Protobuf.ByteString" /> from a portion of a byte array.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.ByteString.CopyFrom(System.String,System.Text.Encoding)">
+            <summary>
+            Creates a new <see cref="T:LC.Google.Protobuf.ByteString" /> by encoding the specified text with
+            the given encoding.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.ByteString.CopyFromUtf8(System.String)">
+            <summary>
+            Creates a new <see cref="T:LC.Google.Protobuf.ByteString" /> by encoding the specified text in UTF-8.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.ByteString.Item(System.Int32)">
+            <summary>
+            Retuns the byte at the given index.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.ByteString.ToString(System.Text.Encoding)">
+            <summary>
+            Converts this <see cref="T:LC.Google.Protobuf.ByteString"/> into a string by applying the given encoding.
+            </summary>
+            <remarks>
+            This method should only be used to convert binary data which was the result of encoding
+            text with the given encoding.
+            </remarks>
+            <param name="encoding">The encoding to use to decode the binary data into text.</param>
+            <returns>The result of decoding the binary data with the given decoding.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.ByteString.ToStringUtf8">
+            <summary>
+            Converts this <see cref="T:LC.Google.Protobuf.ByteString"/> into a string by applying the UTF-8 encoding.
+            </summary>
+            <remarks>
+            This method should only be used to convert binary data which was the result of encoding
+            text with UTF-8.
+            </remarks>
+            <returns>The result of decoding the binary data with the given decoding.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.ByteString.GetEnumerator">
+            <summary>
+            Returns an iterator over the bytes in this <see cref="T:LC.Google.Protobuf.ByteString"/>.
+            </summary>
+            <returns>An iterator over the bytes in this object.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.ByteString.System#Collections#IEnumerable#GetEnumerator">
+            <summary>
+            Returns an iterator over the bytes in this <see cref="T:LC.Google.Protobuf.ByteString"/>.
+            </summary>
+            <returns>An iterator over the bytes in this object.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.ByteString.CreateCodedInput">
+            <summary>
+            Creates a CodedInputStream from this ByteString's data.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.ByteString.op_Equality(LC.Google.Protobuf.ByteString,LC.Google.Protobuf.ByteString)">
+            <summary>
+            Compares two byte strings for equality.
+            </summary>
+            <param name="lhs">The first byte string to compare.</param>
+            <param name="rhs">The second byte string to compare.</param>
+            <returns><c>true</c> if the byte strings are equal; false otherwise.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.ByteString.op_Inequality(LC.Google.Protobuf.ByteString,LC.Google.Protobuf.ByteString)">
+            <summary>
+            Compares two byte strings for inequality.
+            </summary>
+            <param name="lhs">The first byte string to compare.</param>
+            <param name="rhs">The second byte string to compare.</param>
+            <returns><c>false</c> if the byte strings are equal; true otherwise.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.ByteString.Equals(System.Object)">
+            <summary>
+            Compares this byte string with another object.
+            </summary>
+            <param name="obj">The object to compare this with.</param>
+            <returns><c>true</c> if <paramref name="obj"/> refers to an equal <see cref="T:LC.Google.Protobuf.ByteString"/>; <c>false</c> otherwise.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.ByteString.GetHashCode">
+            <summary>
+            Returns a hash code for this object. Two equal byte strings
+            will return the same hash code.
+            </summary>
+            <returns>A hash code for this object.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.ByteString.Equals(LC.Google.Protobuf.ByteString)">
+            <summary>
+            Compares this byte string with another.
+            </summary>
+            <param name="other">The <see cref="T:LC.Google.Protobuf.ByteString"/> to compare this with.</param>
+            <returns><c>true</c> if <paramref name="other"/> refers to an equal byte string; <c>false</c> otherwise.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.ByteString.WriteRawBytesTo(LC.Google.Protobuf.CodedOutputStream)">
+            <summary>
+            Used internally by CodedOutputStream to avoid creating a copy for the write
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.ByteString.CopyTo(System.Byte[],System.Int32)">
+            <summary>
+            Copies the entire byte array to the destination array provided at the offset specified.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.ByteString.WriteTo(System.IO.Stream)">
+            <summary>
+            Writes the entire byte array to the provided stream
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.CodedInputStream">
+            <summary>
+            Reads and decodes protocol message fields.
+            </summary>
+            <remarks>
+            <para>
+            This class is generally used by generated code to read appropriate
+            primitives from the stream. It effectively encapsulates the lowest
+            levels of protocol buffer format.
+            </para>
+            <para>
+            Repeated fields and map fields are not handled by this class; use <see cref="T:LC.Google.Protobuf.Collections.RepeatedField`1"/>
+            and <see cref="T:LC.Google.Protobuf.Collections.MapField`2"/> to serialize such fields.
+            </para>
+            </remarks>
+        </member>
+        <member name="F:LC.Google.Protobuf.CodedInputStream.leaveOpen">
+            <summary>
+            Whether to leave the underlying stream open when disposing of this stream.
+            This is always true when there's no stream.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.CodedInputStream.buffer">
+            <summary>
+            Buffer of data read from the stream or provided at construction time.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.CodedInputStream.bufferSize">
+            <summary>
+            The index of the buffer at which we need to refill from the stream (if there is one).
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.CodedInputStream.bufferPos">
+            <summary>
+            The position within the current buffer (i.e. the next byte to read)
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.CodedInputStream.input">
+            <summary>
+            The stream to read further input from, or null if the byte array buffer was provided
+            directly on construction, with no further data available.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.CodedInputStream.lastTag">
+            <summary>
+            The last tag we read. 0 indicates we've read to the end of the stream
+            (or haven't read anything yet).
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.CodedInputStream.nextTag">
+            <summary>
+            The next tag, used to store the value read by PeekTag.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.CodedInputStream.totalBytesRetired">
+            <summary>
+            The total number of bytes read before the current buffer. The
+            total bytes read up to the current position can be computed as
+            totalBytesRetired + bufferPos.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.CodedInputStream.currentLimit">
+            <summary>
+            The absolute position of the end of the current message.
+            </summary> 
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedInputStream.#ctor(System.Byte[])">
+            <summary>
+            Creates a new CodedInputStream reading data from the given byte array.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedInputStream.#ctor(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Creates a new <see cref="T:LC.Google.Protobuf.CodedInputStream"/> that reads from the given byte array slice.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedInputStream.#ctor(System.IO.Stream)">
+            <summary>
+            Creates a new <see cref="T:LC.Google.Protobuf.CodedInputStream"/> reading data from the given stream, which will be disposed
+            when the returned object is disposed.
+            </summary>
+            <param name="input">The stream to read from.</param>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedInputStream.#ctor(System.IO.Stream,System.Boolean)">
+            <summary>
+            Creates a new <see cref="T:LC.Google.Protobuf.CodedInputStream"/> reading data from the given stream.
+            </summary>
+            <param name="input">The stream to read from.</param>
+            <param name="leaveOpen"><c>true</c> to leave <paramref name="input"/> open when the returned
+            <c cref="T:LC.Google.Protobuf.CodedInputStream"/> is disposed; <c>false</c> to dispose of the given stream when the
+            returned object is disposed.</param>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedInputStream.#ctor(System.IO.Stream,System.Byte[],System.Int32,System.Int32,System.Boolean)">
+            <summary>
+            Creates a new CodedInputStream reading data from the given
+            stream and buffer, using the default limits.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedInputStream.#ctor(System.IO.Stream,System.Byte[],System.Int32,System.Int32,System.Int32,System.Int32,System.Boolean)">
+            <summary>
+            Creates a new CodedInputStream reading data from the given
+            stream and buffer, using the specified limits.
+            </summary>
+            <remarks>
+            This chains to the version with the default limits instead of vice versa to avoid
+            having to check that the default values are valid every time.
+            </remarks>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedInputStream.CreateWithLimits(System.IO.Stream,System.Int32,System.Int32)">
+            <summary>
+            Creates a <see cref="T:LC.Google.Protobuf.CodedInputStream"/> with the specified size and recursion limits, reading
+            from an input stream.
+            </summary>
+            <remarks>
+            This method exists separately from the constructor to reduce the number of constructor overloads.
+            It is likely to be used considerably less frequently than the constructors, as the default limits
+            are suitable for most use cases.
+            </remarks>
+            <param name="input">The input stream to read from</param>
+            <param name="sizeLimit">The total limit of data to read from the stream.</param>
+            <param name="recursionLimit">The maximum recursion depth to allow while reading.</param>
+            <returns>A <c>CodedInputStream</c> reading from <paramref name="input"/> with the specified size
+            and recursion limits.</returns>
+        </member>
+        <member name="P:LC.Google.Protobuf.CodedInputStream.Position">
+            <summary>
+            Returns the current position in the input stream, or the position in the input buffer
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.CodedInputStream.LastTag">
+            <summary>
+            Returns the last tag read, or 0 if no tags have been read or we've read beyond
+            the end of the stream.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.CodedInputStream.SizeLimit">
+            <summary>
+            Returns the size limit for this stream.
+            </summary>
+            <remarks>
+            This limit is applied when reading from the underlying stream, as a sanity check. It is
+            not applied when reading from a byte array data source without an underlying stream.
+            The default value is Int32.MaxValue.
+            </remarks>
+            <value>
+            The size limit.
+            </value>
+        </member>
+        <member name="P:LC.Google.Protobuf.CodedInputStream.RecursionLimit">
+            <summary>
+            Returns the recursion limit for this stream. This limit is applied whilst reading messages,
+            to avoid maliciously-recursive data.
+            </summary>
+            <remarks>
+            The default limit is 100.
+            </remarks>
+            <value>
+            The recursion limit for this stream.
+            </value>
+        </member>
+        <member name="P:LC.Google.Protobuf.CodedInputStream.DiscardUnknownFields">
+            <summary>
+            Internal-only property; when set to true, unknown fields will be discarded while parsing.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.CodedInputStream.ExtensionRegistry">
+            <summary>
+            Internal-only property; provides extension identifiers to compatible messages while parsing.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedInputStream.Dispose">
+            <summary>
+            Disposes of this instance, potentially closing any underlying stream.
+            </summary>
+            <remarks>
+            As there is no flushing to perform here, disposing of a <see cref="T:LC.Google.Protobuf.CodedInputStream"/> which
+            was constructed with the <c>leaveOpen</c> option parameter set to <c>true</c> (or one which
+            was constructed to read from a byte array) has no effect.
+            </remarks>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedInputStream.CheckReadEndOfStreamTag">
+            <summary>
+            Verifies that the last call to ReadTag() returned tag 0 - in other words,
+            we've reached the end of the stream when we expected to.
+            </summary>
+            <exception cref="T:LC.Google.Protobuf.InvalidProtocolBufferException">The 
+            tag read was not the one specified</exception>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedInputStream.PeekTag">
+            <summary>
+            Peeks at the next field tag. This is like calling <see cref="M:LC.Google.Protobuf.CodedInputStream.ReadTag"/>, but the
+            tag is not consumed. (So a subsequent call to <see cref="M:LC.Google.Protobuf.CodedInputStream.ReadTag"/> will return the
+            same value.)
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedInputStream.ReadTag">
+            <summary>
+            Reads a field tag, returning the tag of 0 for "end of stream".
+            </summary>
+            <remarks>
+            If this method returns 0, it doesn't necessarily mean the end of all
+            the data in this CodedInputStream; it may be the end of the logical stream
+            for an embedded message, for example.
+            </remarks>
+            <returns>The next field tag, or 0 for end of stream. (0 is never a valid tag.)</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedInputStream.SkipLastField">
+            <summary>
+            Skips the data for the field with the tag we've just read.
+            This should be called directly after <see cref="M:LC.Google.Protobuf.CodedInputStream.ReadTag"/>, when
+            the caller wishes to skip an unknown field.
+            </summary>
+            <remarks>
+            This method throws <see cref="T:LC.Google.Protobuf.InvalidProtocolBufferException"/> if the last-read tag was an end-group tag.
+            If a caller wishes to skip a group, they should skip the whole group, by calling this method after reading the
+            start-group tag. This behavior allows callers to call this method on any field they don't understand, correctly
+            resulting in an error if an end-group tag has not been paired with an earlier start-group tag.
+            </remarks>
+            <exception cref="T:LC.Google.Protobuf.InvalidProtocolBufferException">The last tag was an end-group tag</exception>
+            <exception cref="T:System.InvalidOperationException">The last read operation read to the end of the logical stream</exception>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedInputStream.SkipGroup(System.UInt32)">
+            <summary>
+            Skip a group.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedInputStream.ReadDouble">
+            <summary>
+            Reads a double field from the stream.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedInputStream.ReadFloat">
+            <summary>
+            Reads a float field from the stream.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedInputStream.ReadUInt64">
+            <summary>
+            Reads a uint64 field from the stream.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedInputStream.ReadInt64">
+            <summary>
+            Reads an int64 field from the stream.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedInputStream.ReadInt32">
+            <summary>
+            Reads an int32 field from the stream.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedInputStream.ReadFixed64">
+            <summary>
+            Reads a fixed64 field from the stream.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedInputStream.ReadFixed32">
+            <summary>
+            Reads a fixed32 field from the stream.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedInputStream.ReadBool">
+            <summary>
+            Reads a bool field from the stream.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedInputStream.ReadString">
+            <summary>
+            Reads a string field from the stream.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedInputStream.ReadMessage(LC.Google.Protobuf.IMessage)">
+            <summary>
+            Reads an embedded message field value from the stream.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedInputStream.ReadGroup(LC.Google.Protobuf.IMessage)">
+            <summary>
+            Reads an embedded group field from the stream.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedInputStream.ReadGroup(System.Int32,LC.Google.Protobuf.UnknownFieldSet)">
+            <summary>
+            Reads an embedded group unknown field from the stream.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedInputStream.ReadBytes">
+            <summary>
+            Reads a bytes field value from the stream.
+            </summary>   
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedInputStream.ReadUInt32">
+            <summary>
+            Reads a uint32 field value from the stream.
+            </summary>   
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedInputStream.ReadEnum">
+            <summary>
+            Reads an enum field value from the stream.
+            </summary>   
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedInputStream.ReadSFixed32">
+            <summary>
+            Reads an sfixed32 field value from the stream.
+            </summary>   
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedInputStream.ReadSFixed64">
+            <summary>
+            Reads an sfixed64 field value from the stream.
+            </summary>   
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedInputStream.ReadSInt32">
+            <summary>
+            Reads an sint32 field value from the stream.
+            </summary>   
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedInputStream.ReadSInt64">
+            <summary>
+            Reads an sint64 field value from the stream.
+            </summary>   
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedInputStream.ReadLength">
+            <summary>
+            Reads a length for length-delimited data.
+            </summary>
+            <remarks>
+            This is internally just reading a varint, but this method exists
+            to make the calling code clearer.
+            </remarks>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedInputStream.MaybeConsumeTag(System.UInt32)">
+            <summary>
+            Peeks at the next tag in the stream. If it matches <paramref name="tag"/>,
+            the tag is consumed and the method returns <c>true</c>; otherwise, the
+            stream is left in the original position and the method returns <c>false</c>.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedInputStream.SlowReadRawVarint32">
+            <summary>
+            Same code as ReadRawVarint32, but read each byte individually, checking for
+            buffer overflow.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedInputStream.ReadRawVarint32">
+            <summary>
+            Reads a raw Varint from the stream.  If larger than 32 bits, discard the upper bits.
+            This method is optimised for the case where we've got lots of data in the buffer.
+            That means we can check the size just once, then just read directly from the buffer
+            without constant rechecking of the buffer length.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedInputStream.ReadRawVarint32(System.IO.Stream)">
+            <summary>
+            Reads a varint from the input one byte at a time, so that it does not
+            read any bytes after the end of the varint. If you simply wrapped the
+            stream in a CodedInputStream and used ReadRawVarint32(Stream)
+            then you would probably end up reading past the end of the varint since
+            CodedInputStream buffers its input.
+            </summary>
+            <param name="input"></param>
+            <returns></returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedInputStream.ReadRawVarint64">
+            <summary>
+            Reads a raw varint from the stream.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedInputStream.ReadRawLittleEndian32">
+            <summary>
+            Reads a 32-bit little-endian integer from the stream.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedInputStream.ReadRawLittleEndian64">
+            <summary>
+            Reads a 64-bit little-endian integer from the stream.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedInputStream.DecodeZigZag32(System.UInt32)">
+            <summary>
+            Decode a 32-bit value with ZigZag encoding.
+            </summary>
+            <remarks>
+            ZigZag encodes signed integers into values that can be efficiently
+            encoded with varint.  (Otherwise, negative values must be 
+            sign-extended to 64 bits to be varint encoded, thus always taking
+            10 bytes on the wire.)
+            </remarks>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedInputStream.DecodeZigZag64(System.UInt64)">
+            <summary>
+            Decode a 32-bit value with ZigZag encoding.
+            </summary>
+            <remarks>
+            ZigZag encodes signed integers into values that can be efficiently
+            encoded with varint.  (Otherwise, negative values must be 
+            sign-extended to 64 bits to be varint encoded, thus always taking
+            10 bytes on the wire.)
+            </remarks>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedInputStream.PushLimit(System.Int32)">
+            <summary>
+            Sets currentLimit to (current position) + byteLimit. This is called
+            when descending into a length-delimited embedded message. The previous
+            limit is returned.
+            </summary>
+            <returns>The old limit.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedInputStream.PopLimit(System.Int32)">
+            <summary>
+            Discards the current limit, returning the previous limit.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.CodedInputStream.ReachedLimit">
+            <summary>
+            Returns whether or not all the data before the limit has been read.
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="P:LC.Google.Protobuf.CodedInputStream.IsAtEnd">
+            <summary>
+            Returns true if the stream has reached the end of the input. This is the
+            case if either the end of the underlying input source has been reached or
+            the stream has reached a limit created using PushLimit.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedInputStream.RefillBuffer(System.Boolean)">
+            <summary>
+            Called when buffer is empty to read more bytes from the
+            input.  If <paramref name="mustSucceed"/> is true, RefillBuffer() gurantees that
+            either there will be at least one byte in the buffer when it returns
+            or it will throw an exception.  If <paramref name="mustSucceed"/> is false,
+            RefillBuffer() returns false if no more bytes were available.
+            </summary>
+            <param name="mustSucceed"></param>
+            <returns></returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedInputStream.ReadRawByte">
+            <summary>
+            Read one byte from the input.
+            </summary>
+            <exception cref="T:LC.Google.Protobuf.InvalidProtocolBufferException">
+            the end of the stream or the current limit was reached
+            </exception>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedInputStream.ReadRawBytes(System.Int32)">
+            <summary>
+            Reads a fixed size of bytes from the input.
+            </summary>
+            <exception cref="T:LC.Google.Protobuf.InvalidProtocolBufferException">
+            the end of the stream or the current limit was reached
+            </exception>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedInputStream.SkipRawBytes(System.Int32)">
+            <summary>
+            Reads and discards <paramref name="size"/> bytes.
+            </summary>
+            <exception cref="T:LC.Google.Protobuf.InvalidProtocolBufferException">the end of the stream
+            or the current limit was reached</exception>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedInputStream.SkipImpl(System.Int32)">
+            <summary>
+            Abstraction of skipping to cope with streams which can't really skip.
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.CodedOutputStream">
+            <summary>
+            Encodes and writes protocol message fields.
+            </summary>
+            <remarks>
+            <para>
+            This class is generally used by generated code to write appropriate
+            primitives to the stream. It effectively encapsulates the lowest
+            levels of protocol buffer format. Unlike some other implementations,
+            this does not include combined "write tag and value" methods. Generated
+            code knows the exact byte representations of the tags they're going to write,
+            so there's no need to re-encode them each time. Manually-written code calling
+            this class should just call one of the <c>WriteTag</c> overloads before each value.
+            </para>
+            <para>
+            Repeated fields and map fields are not handled by this class; use <c>RepeatedField&lt;T&gt;</c>
+            and <c>MapField&lt;TKey, TValue&gt;</c> to serialize such fields.
+            </para>
+            </remarks>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedOutputStream.ComputeDoubleSize(System.Double)">
+            <summary>
+            Computes the number of bytes that would be needed to encode a
+            double field, including the tag.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedOutputStream.ComputeFloatSize(System.Single)">
+            <summary>
+            Computes the number of bytes that would be needed to encode a
+            float field, including the tag.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedOutputStream.ComputeUInt64Size(System.UInt64)">
+            <summary>
+            Computes the number of bytes that would be needed to encode a
+            uint64 field, including the tag.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedOutputStream.ComputeInt64Size(System.Int64)">
+            <summary>
+            Computes the number of bytes that would be needed to encode an
+            int64 field, including the tag.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedOutputStream.ComputeInt32Size(System.Int32)">
+            <summary>
+            Computes the number of bytes that would be needed to encode an
+            int32 field, including the tag.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedOutputStream.ComputeFixed64Size(System.UInt64)">
+            <summary>
+            Computes the number of bytes that would be needed to encode a
+            fixed64 field, including the tag.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedOutputStream.ComputeFixed32Size(System.UInt32)">
+            <summary>
+            Computes the number of bytes that would be needed to encode a
+            fixed32 field, including the tag.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedOutputStream.ComputeBoolSize(System.Boolean)">
+            <summary>
+            Computes the number of bytes that would be needed to encode a
+            bool field, including the tag.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedOutputStream.ComputeStringSize(System.String)">
+            <summary>
+            Computes the number of bytes that would be needed to encode a
+            string field, including the tag.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedOutputStream.ComputeGroupSize(LC.Google.Protobuf.IMessage)">
+            <summary>
+            Computes the number of bytes that would be needed to encode a
+            group field, including the tag.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedOutputStream.ComputeMessageSize(LC.Google.Protobuf.IMessage)">
+            <summary>
+            Computes the number of bytes that would be needed to encode an
+            embedded message field, including the tag.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedOutputStream.ComputeBytesSize(LC.Google.Protobuf.ByteString)">
+            <summary>
+            Computes the number of bytes that would be needed to encode a
+            bytes field, including the tag.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedOutputStream.ComputeUInt32Size(System.UInt32)">
+            <summary>
+            Computes the number of bytes that would be needed to encode a
+            uint32 field, including the tag.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedOutputStream.ComputeEnumSize(System.Int32)">
+            <summary>
+            Computes the number of bytes that would be needed to encode a
+            enum field, including the tag. The caller is responsible for
+            converting the enum value to its numeric value.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedOutputStream.ComputeSFixed32Size(System.Int32)">
+            <summary>
+            Computes the number of bytes that would be needed to encode an
+            sfixed32 field, including the tag.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedOutputStream.ComputeSFixed64Size(System.Int64)">
+            <summary>
+            Computes the number of bytes that would be needed to encode an
+            sfixed64 field, including the tag.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedOutputStream.ComputeSInt32Size(System.Int32)">
+            <summary>
+            Computes the number of bytes that would be needed to encode an
+            sint32 field, including the tag.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedOutputStream.ComputeSInt64Size(System.Int64)">
+            <summary>
+            Computes the number of bytes that would be needed to encode an
+            sint64 field, including the tag.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedOutputStream.ComputeLengthSize(System.Int32)">
+            <summary>
+            Computes the number of bytes that would be needed to encode a length,
+            as written by <see cref="M:LC.Google.Protobuf.CodedOutputStream.WriteLength(System.Int32)"/>.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedOutputStream.ComputeRawVarint32Size(System.UInt32)">
+            <summary>
+            Computes the number of bytes that would be needed to encode a varint.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedOutputStream.ComputeRawVarint64Size(System.UInt64)">
+            <summary>
+            Computes the number of bytes that would be needed to encode a varint.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedOutputStream.ComputeTagSize(System.Int32)">
+            <summary>
+            Computes the number of bytes that would be needed to encode a tag.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.CodedOutputStream.DefaultBufferSize">
+            <summary>
+            The buffer size used by CreateInstance(Stream).
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedOutputStream.#ctor(System.Byte[])">
+            <summary>
+            Creates a new CodedOutputStream that writes directly to the given
+            byte array. If more bytes are written than fit in the array,
+            OutOfSpaceException will be thrown.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedOutputStream.#ctor(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Creates a new CodedOutputStream that writes directly to the given
+            byte array slice. If more bytes are written than fit in the array,
+            OutOfSpaceException will be thrown.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedOutputStream.#ctor(System.IO.Stream)">
+            <summary>
+            Creates a new <see cref="T:LC.Google.Protobuf.CodedOutputStream" /> which write to the given stream, and disposes of that
+            stream when the returned <c>CodedOutputStream</c> is disposed.
+            </summary>
+            <param name="output">The stream to write to. It will be disposed when the returned <c>CodedOutputStream is disposed.</c></param>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedOutputStream.#ctor(System.IO.Stream,System.Int32)">
+            <summary>
+            Creates a new CodedOutputStream which write to the given stream and uses
+            the specified buffer size.
+            </summary>
+            <param name="output">The stream to write to. It will be disposed when the returned <c>CodedOutputStream is disposed.</c></param>
+            <param name="bufferSize">The size of buffer to use internally.</param>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedOutputStream.#ctor(System.IO.Stream,System.Boolean)">
+            <summary>
+            Creates a new CodedOutputStream which write to the given stream.
+            </summary>
+            <param name="output">The stream to write to.</param>
+            <param name="leaveOpen">If <c>true</c>, <paramref name="output"/> is left open when the returned <c>CodedOutputStream</c> is disposed;
+            if <c>false</c>, the provided stream is disposed as well.</param>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedOutputStream.#ctor(System.IO.Stream,System.Int32,System.Boolean)">
+            <summary>
+            Creates a new CodedOutputStream which write to the given stream and uses
+            the specified buffer size.
+            </summary>
+            <param name="output">The stream to write to.</param>
+            <param name="bufferSize">The size of buffer to use internally.</param>
+            <param name="leaveOpen">If <c>true</c>, <paramref name="output"/> is left open when the returned <c>CodedOutputStream</c> is disposed;
+            if <c>false</c>, the provided stream is disposed as well.</param>
+        </member>
+        <member name="P:LC.Google.Protobuf.CodedOutputStream.Position">
+            <summary>
+            Returns the current position in the stream, or the position in the output buffer
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedOutputStream.WriteDouble(System.Double)">
+            <summary>
+            Writes a double field value, without a tag, to the stream.
+            </summary>
+            <param name="value">The value to write</param>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedOutputStream.WriteFloat(System.Single)">
+            <summary>
+            Writes a float field value, without a tag, to the stream.
+            </summary>
+            <param name="value">The value to write</param>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedOutputStream.WriteUInt64(System.UInt64)">
+            <summary>
+            Writes a uint64 field value, without a tag, to the stream.
+            </summary>
+            <param name="value">The value to write</param>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedOutputStream.WriteInt64(System.Int64)">
+            <summary>
+            Writes an int64 field value, without a tag, to the stream.
+            </summary>
+            <param name="value">The value to write</param>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedOutputStream.WriteInt32(System.Int32)">
+            <summary>
+            Writes an int32 field value, without a tag, to the stream.
+            </summary>
+            <param name="value">The value to write</param>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedOutputStream.WriteFixed64(System.UInt64)">
+            <summary>
+            Writes a fixed64 field value, without a tag, to the stream.
+            </summary>
+            <param name="value">The value to write</param>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedOutputStream.WriteFixed32(System.UInt32)">
+            <summary>
+            Writes a fixed32 field value, without a tag, to the stream.
+            </summary>
+            <param name="value">The value to write</param>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedOutputStream.WriteBool(System.Boolean)">
+            <summary>
+            Writes a bool field value, without a tag, to the stream.
+            </summary>
+            <param name="value">The value to write</param>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedOutputStream.WriteString(System.String)">
+            <summary>
+            Writes a string field value, without a tag, to the stream.
+            The data is length-prefixed.
+            </summary>
+            <param name="value">The value to write</param>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedOutputStream.WriteMessage(LC.Google.Protobuf.IMessage)">
+            <summary>
+            Writes a message, without a tag, to the stream.
+            The data is length-prefixed.
+            </summary>
+            <param name="value">The value to write</param>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedOutputStream.WriteGroup(LC.Google.Protobuf.IMessage)">
+            <summary>
+            Writes a group, without a tag, to the stream.
+            </summary>
+            <param name="value">The value to write</param>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedOutputStream.WriteBytes(LC.Google.Protobuf.ByteString)">
+            <summary>
+            Write a byte string, without a tag, to the stream.
+            The data is length-prefixed.
+            </summary>
+            <param name="value">The value to write</param>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedOutputStream.WriteUInt32(System.UInt32)">
+            <summary>
+            Writes a uint32 value, without a tag, to the stream.
+            </summary>
+            <param name="value">The value to write</param>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedOutputStream.WriteEnum(System.Int32)">
+            <summary>
+            Writes an enum value, without a tag, to the stream.
+            </summary>
+            <param name="value">The value to write</param>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedOutputStream.WriteSFixed32(System.Int32)">
+            <summary>
+            Writes an sfixed32 value, without a tag, to the stream.
+            </summary>
+            <param name="value">The value to write.</param>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedOutputStream.WriteSFixed64(System.Int64)">
+            <summary>
+            Writes an sfixed64 value, without a tag, to the stream.
+            </summary>
+            <param name="value">The value to write</param>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedOutputStream.WriteSInt32(System.Int32)">
+            <summary>
+            Writes an sint32 value, without a tag, to the stream.
+            </summary>
+            <param name="value">The value to write</param>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedOutputStream.WriteSInt64(System.Int64)">
+            <summary>
+            Writes an sint64 value, without a tag, to the stream.
+            </summary>
+            <param name="value">The value to write</param>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedOutputStream.WriteLength(System.Int32)">
+            <summary>
+            Writes a length (in bytes) for length-delimited data.
+            </summary>
+            <remarks>
+            This method simply writes a rawint, but exists for clarity in calling code.
+            </remarks>
+            <param name="length">Length value, in bytes.</param>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedOutputStream.WriteTag(System.Int32,LC.Google.Protobuf.WireFormat.WireType)">
+            <summary>
+            Encodes and writes a tag.
+            </summary>
+            <param name="fieldNumber">The number of the field to write the tag for</param>
+            <param name="type">The wire format type of the tag to write</param>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedOutputStream.WriteTag(System.UInt32)">
+            <summary>
+            Writes an already-encoded tag.
+            </summary>
+            <param name="tag">The encoded tag</param>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedOutputStream.WriteRawTag(System.Byte)">
+            <summary>
+            Writes the given single-byte tag directly to the stream.
+            </summary>
+            <param name="b1">The encoded tag</param>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedOutputStream.WriteRawTag(System.Byte,System.Byte)">
+            <summary>
+            Writes the given two-byte tag directly to the stream.
+            </summary>
+            <param name="b1">The first byte of the encoded tag</param>
+            <param name="b2">The second byte of the encoded tag</param>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedOutputStream.WriteRawTag(System.Byte,System.Byte,System.Byte)">
+            <summary>
+            Writes the given three-byte tag directly to the stream.
+            </summary>
+            <param name="b1">The first byte of the encoded tag</param>
+            <param name="b2">The second byte of the encoded tag</param>
+            <param name="b3">The third byte of the encoded tag</param>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedOutputStream.WriteRawTag(System.Byte,System.Byte,System.Byte,System.Byte)">
+            <summary>
+            Writes the given four-byte tag directly to the stream.
+            </summary>
+            <param name="b1">The first byte of the encoded tag</param>
+            <param name="b2">The second byte of the encoded tag</param>
+            <param name="b3">The third byte of the encoded tag</param>
+            <param name="b4">The fourth byte of the encoded tag</param>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedOutputStream.WriteRawTag(System.Byte,System.Byte,System.Byte,System.Byte,System.Byte)">
+            <summary>
+            Writes the given five-byte tag directly to the stream.
+            </summary>
+            <param name="b1">The first byte of the encoded tag</param>
+            <param name="b2">The second byte of the encoded tag</param>
+            <param name="b3">The third byte of the encoded tag</param>
+            <param name="b4">The fourth byte of the encoded tag</param>
+            <param name="b5">The fifth byte of the encoded tag</param>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedOutputStream.WriteRawVarint32(System.UInt32)">
+            <summary>
+            Writes a 32 bit value as a varint. The fast route is taken when
+            there's enough buffer space left to whizz through without checking
+            for each byte; otherwise, we resort to calling WriteRawByte each time.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedOutputStream.WriteRawBytes(System.Byte[])">
+            <summary>
+            Writes out an array of bytes.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedOutputStream.WriteRawBytes(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Writes out part of an array of bytes.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedOutputStream.EncodeZigZag32(System.Int32)">
+            <summary>
+            Encode a 32-bit value with ZigZag encoding.
+            </summary>
+            <remarks>
+            ZigZag encodes signed integers into values that can be efficiently
+            encoded with varint.  (Otherwise, negative values must be 
+            sign-extended to 64 bits to be varint encoded, thus always taking
+            10 bytes on the wire.)
+            </remarks>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedOutputStream.EncodeZigZag64(System.Int64)">
+            <summary>
+            Encode a 64-bit value with ZigZag encoding.
+            </summary>
+            <remarks>
+            ZigZag encodes signed integers into values that can be efficiently
+            encoded with varint.  (Otherwise, negative values must be 
+            sign-extended to 64 bits to be varint encoded, thus always taking
+            10 bytes on the wire.)
+            </remarks>
+        </member>
+        <member name="T:LC.Google.Protobuf.CodedOutputStream.OutOfSpaceException">
+            <summary>
+            Indicates that a CodedOutputStream wrapping a flat byte array
+            ran out of space.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedOutputStream.Dispose">
+            <summary>
+            Flushes any buffered data and optionally closes the underlying stream, if any.
+            </summary>
+            <remarks>
+            <para>
+            By default, any underlying stream is closed by this method. To configure this behaviour,
+            use a constructor overload with a <c>leaveOpen</c> parameter. If this instance does not
+            have an underlying stream, this method does nothing.
+            </para>
+            <para>
+            For the sake of efficiency, calling this method does not prevent future write calls - but
+            if a later write ends up writing to a stream which has been disposed, that is likely to
+            fail. It is recommend that you not call any other methods after this.
+            </para>
+            </remarks>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedOutputStream.Flush">
+            <summary>
+            Flushes any buffered data to the underlying stream (if there is one).
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.CodedOutputStream.CheckNoSpaceLeft">
+            <summary>
+            Verifies that SpaceLeft returns zero. It's common to create a byte array
+            that is exactly big enough to hold a message, then write to it with
+            a CodedOutputStream. Calling CheckNoSpaceLeft after writing verifies that
+            the message was actually as big as expected, which can help bugs.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.CodedOutputStream.SpaceLeft">
+            <summary>
+            If writing to a flat array, returns the space left in the array. Otherwise,
+            throws an InvalidOperationException.
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.Collections.Lists">
+            <summary>
+            Utility to compare if two Lists are the same, and the hash code
+            of a List.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Collections.Lists.Equals``1(System.Collections.Generic.List{``0},System.Collections.Generic.List{``0})">
+            <summary>
+            Checks if two lists are equal.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Collections.Lists.GetHashCode``1(System.Collections.Generic.List{``0})">
+            <summary>
+            Gets the list's hash code.
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.Collections.MapField`2">
+            <summary>
+            Representation of a map field in a Protocol Buffer message.
+            </summary>
+            <typeparam name="TKey">Key type in the map. Must be a type supported by Protocol Buffer map keys.</typeparam>
+            <typeparam name="TValue">Value type in the map. Must be a type supported by Protocol Buffers.</typeparam>
+            <remarks>
+            <para>
+            For string keys, the equality comparison is provided by <see cref="P:System.StringComparer.Ordinal" />.
+            </para>
+            <para>
+            Null values are not permitted in the map, either for wrapper types or regular messages.
+            If a map is deserialized from a data stream and the value is missing from an entry, a default value
+            is created instead. For primitive types, that is the regular default value (0, the empty string and so
+            on); for message types, an empty instance of the message is created, as if the map entry contained a 0-length
+            encoded value for the field.
+            </para>
+            <para>
+            This implementation does not generally prohibit the use of key/value types which are not
+            supported by Protocol Buffers (e.g. using a key type of <code>byte</code>) but nor does it guarantee
+            that all operations will work in such cases.
+            </para>
+            <para>
+            The order in which entries are returned when iterating over this object is undefined, and may change
+            in future versions.
+            </para>
+            </remarks>
+        </member>
+        <member name="M:LC.Google.Protobuf.Collections.MapField`2.Clone">
+            <summary>
+            Creates a deep clone of this object.
+            </summary>
+            <returns>
+            A deep clone of this object.
+            </returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.Collections.MapField`2.Add(`0,`1)">
+            <summary>
+            Adds the specified key/value pair to the map.
+            </summary>
+            <remarks>
+            This operation fails if the key already exists in the map. To replace an existing entry, use the indexer.
+            </remarks>
+            <param name="key">The key to add</param>
+            <param name="value">The value to add.</param>
+            <exception cref="T:System.ArgumentException">The given key already exists in map.</exception>
+        </member>
+        <member name="M:LC.Google.Protobuf.Collections.MapField`2.ContainsKey(`0)">
+            <summary>
+            Determines whether the specified key is present in the map.
+            </summary>
+            <param name="key">The key to check.</param>
+            <returns><c>true</c> if the map contains the given key; <c>false</c> otherwise.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.Collections.MapField`2.Remove(`0)">
+            <summary>
+            Removes the entry identified by the given key from the map.
+            </summary>
+            <param name="key">The key indicating the entry to remove from the map.</param>
+            <returns><c>true</c> if the map contained the given key before the entry was removed; <c>false</c> otherwise.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.Collections.MapField`2.TryGetValue(`0,`1@)">
+            <summary>
+            Gets the value associated with the specified key.
+            </summary>
+            <param name="key">The key whose value to get.</param>
+            <param name="value">When this method returns, the value associated with the specified key, if the key is found;
+            otherwise, the default value for the type of the <paramref name="value"/> parameter.
+            This parameter is passed uninitialized.</param>
+            <returns><c>true</c> if the map contains an element with the specified key; otherwise, <c>false</c>.</returns>
+        </member>
+        <member name="P:LC.Google.Protobuf.Collections.MapField`2.Item(`0)">
+            <summary>
+            Gets or sets the value associated with the specified key.
+            </summary>
+            <param name="key">The key of the value to get or set.</param>
+            <exception cref="T:System.Collections.Generic.KeyNotFoundException">The property is retrieved and key does not exist in the collection.</exception>
+            <returns>The value associated with the specified key. If the specified key is not found,
+            a get operation throws a <see cref="T:System.Collections.Generic.KeyNotFoundException"/>, and a set operation creates a new element with the specified key.</returns>
+        </member>
+        <member name="P:LC.Google.Protobuf.Collections.MapField`2.Keys">
+            <summary>
+            Gets a collection containing the keys in the map.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Collections.MapField`2.Values">
+            <summary>
+            Gets a collection containing the values in the map.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Collections.MapField`2.Add(System.Collections.Generic.IDictionary{`0,`1})">
+            <summary>
+            Adds the specified entries to the map. The keys and values are not automatically cloned.
+            </summary>
+            <param name="entries">The entries to add to the map.</param>
+        </member>
+        <member name="M:LC.Google.Protobuf.Collections.MapField`2.GetEnumerator">
+            <summary>
+            Returns an enumerator that iterates through the collection.
+            </summary>
+            <returns>
+            An enumerator that can be used to iterate through the collection.
+            </returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.Collections.MapField`2.System#Collections#IEnumerable#GetEnumerator">
+            <summary>
+            Returns an enumerator that iterates through a collection.
+            </summary>
+            <returns>
+            An <see cref="T:System.Collections.IEnumerator" /> object that can be used to iterate through the collection.
+            </returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.Collections.MapField`2.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{TKey,TValue}}#Add(System.Collections.Generic.KeyValuePair{`0,`1})">
+            <summary>
+            Adds the specified item to the map.
+            </summary>
+            <param name="item">The item to add to the map.</param>
+        </member>
+        <member name="M:LC.Google.Protobuf.Collections.MapField`2.Clear">
+            <summary>
+            Removes all items from the map.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Collections.MapField`2.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{TKey,TValue}}#Contains(System.Collections.Generic.KeyValuePair{`0,`1})">
+            <summary>
+            Determines whether map contains an entry equivalent to the given key/value pair.
+            </summary>
+            <param name="item">The key/value pair to find.</param>
+            <returns></returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.Collections.MapField`2.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{TKey,TValue}}#CopyTo(System.Collections.Generic.KeyValuePair{`0,`1}[],System.Int32)">
+            <summary>
+            Copies the key/value pairs in this map to an array.
+            </summary>
+            <param name="array">The array to copy the entries into.</param>
+            <param name="arrayIndex">The index of the array at which to start copying values.</param>
+        </member>
+        <member name="M:LC.Google.Protobuf.Collections.MapField`2.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{TKey,TValue}}#Remove(System.Collections.Generic.KeyValuePair{`0,`1})">
+            <summary>
+            Removes the specified key/value pair from the map.
+            </summary>
+            <remarks>Both the key and the value must be found for the entry to be removed.</remarks>
+            <param name="item">The key/value pair to remove.</param>
+            <returns><c>true</c> if the key/value pair was found and removed; <c>false</c> otherwise.</returns>
+        </member>
+        <member name="P:LC.Google.Protobuf.Collections.MapField`2.Count">
+            <summary>
+            Gets the number of elements contained in the map.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Collections.MapField`2.IsReadOnly">
+            <summary>
+            Gets a value indicating whether the map is read-only.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Collections.MapField`2.Equals(System.Object)">
+            <summary>
+            Determines whether the specified <see cref="T:System.Object" />, is equal to this instance.
+            </summary>
+            <param name="other">The <see cref="T:System.Object" /> to compare with this instance.</param>
+            <returns>
+              <c>true</c> if the specified <see cref="T:System.Object" /> is equal to this instance; otherwise, <c>false</c>.
+            </returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.Collections.MapField`2.GetHashCode">
+            <summary>
+            Returns a hash code for this instance.
+            </summary>
+            <returns>
+            A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. 
+            </returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.Collections.MapField`2.Equals(LC.Google.Protobuf.Collections.MapField{`0,`1})">
+            <summary>
+            Compares this map with another for equality.
+            </summary>
+            <remarks>
+            The order of the key/value pairs in the maps is not deemed significant in this comparison.
+            </remarks>
+            <param name="other">The map to compare this with.</param>
+            <returns><c>true</c> if <paramref name="other"/> refers to an equal map; <c>false</c> otherwise.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.Collections.MapField`2.AddEntriesFrom(LC.Google.Protobuf.CodedInputStream,LC.Google.Protobuf.Collections.MapField{`0,`1}.Codec)">
+            <summary>
+            Adds entries to the map from the given stream.
+            </summary>
+            <remarks>
+            It is assumed that the stream is initially positioned after the tag specified by the codec.
+            This method will continue reading entries from the stream until the end is reached, or
+            a different tag is encountered.
+            </remarks>
+            <param name="input">Stream to read from</param>
+            <param name="codec">Codec describing how the key/value pairs are encoded</param>
+        </member>
+        <member name="M:LC.Google.Protobuf.Collections.MapField`2.WriteTo(LC.Google.Protobuf.CodedOutputStream,LC.Google.Protobuf.Collections.MapField{`0,`1}.Codec)">
+            <summary>
+            Writes the contents of this map to the given coded output stream, using the specified codec
+            to encode each entry.
+            </summary>
+            <param name="output">The output stream to write to.</param>
+            <param name="codec">The codec to use for each entry.</param>
+        </member>
+        <member name="M:LC.Google.Protobuf.Collections.MapField`2.CalculateSize(LC.Google.Protobuf.Collections.MapField{`0,`1}.Codec)">
+            <summary>
+            Calculates the size of this map based on the given entry codec.
+            </summary>
+            <param name="codec">The codec to use to encode each entry.</param>
+            <returns></returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.Collections.MapField`2.ToString">
+            <summary>
+            Returns a string representation of this repeated field, in the same
+            way as it would be represented by the default JSON formatter.
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.Collections.MapField`2.Codec">
+            <summary>
+            A codec for a specific map field. This contains all the information required to encode and
+            decode the nested messages.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Collections.MapField`2.Codec.#ctor(LC.Google.Protobuf.FieldCodec{`0},LC.Google.Protobuf.FieldCodec{`1},System.UInt32)">
+            <summary>
+            Creates a new entry codec based on a separate key codec and value codec,
+            and the tag to use for each map entry.
+            </summary>
+            <param name="keyCodec">The key codec.</param>
+            <param name="valueCodec">The value codec.</param>
+            <param name="mapTag">The map tag to use to introduce each map entry.</param>
+        </member>
+        <member name="P:LC.Google.Protobuf.Collections.MapField`2.Codec.MapTag">
+            <summary>
+            The tag used in the enclosing message to indicate map entries.
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.Collections.MapField`2.Codec.MessageAdapter">
+            <summary>
+            A mutable message class, used for parsing and serializing. This
+            delegates the work to a codec, but implements the <see cref="T:LC.Google.Protobuf.IMessage"/> interface
+            for interop with <see cref="T:LC.Google.Protobuf.CodedInputStream"/> and <see cref="T:LC.Google.Protobuf.CodedOutputStream"/>.
+            This is nested inside Codec as it's tightly coupled to the associated codec,
+            and it's simpler if it has direct access to all its fields.
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.Collections.ProtobufEqualityComparers">
+            <summary>
+            Provides a central place to implement equality comparisons, primarily for bitwise float/double equality.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Collections.ProtobufEqualityComparers.GetEqualityComparer``1">
+            <summary>
+            Returns an equality comparer for <typeparamref name="T"/> suitable for Protobuf equality comparisons.
+            This is usually just the default equality comparer for the type, but floating point numbers are compared
+            bitwise.
+            </summary>
+            <typeparam name="T">The type of equality comparer to return.</typeparam>
+            <returns>The equality comparer.</returns>
+        </member>
+        <member name="P:LC.Google.Protobuf.Collections.ProtobufEqualityComparers.BitwiseDoubleEqualityComparer">
+            <summary>
+            Returns an equality comparer suitable for comparing 64-bit floating point values, by bitwise comparison.
+            (NaN values are considered equal, but only when they have the same representation.)
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Collections.ProtobufEqualityComparers.BitwiseSingleEqualityComparer">
+            <summary>
+            Returns an equality comparer suitable for comparing 32-bit floating point values, by bitwise comparison.
+            (NaN values are considered equal, but only when they have the same representation.)
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Collections.ProtobufEqualityComparers.BitwiseNullableDoubleEqualityComparer">
+            <summary>
+            Returns an equality comparer suitable for comparing nullable 64-bit floating point values, by bitwise comparison.
+            (NaN values are considered equal, but only when they have the same representation.)
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Collections.ProtobufEqualityComparers.BitwiseNullableSingleEqualityComparer">
+            <summary>
+            Returns an equality comparer suitable for comparing nullable 32-bit floating point values, by bitwise comparison.
+            (NaN values are considered equal, but only when they have the same representation.)
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.Collections.ReadOnlyDictionary`2">
+            <summary>
+            Read-only wrapper around another dictionary.
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.Collections.RepeatedField`1">
+            <summary>
+            The contents of a repeated field: essentially, a collection with some extra
+            restrictions (no null values) and capabilities (deep cloning).
+            </summary>
+            <remarks>
+            This implementation does not generally prohibit the use of types which are not
+            supported by Protocol Buffers but nor does it guarantee that all operations will work in such cases.
+            </remarks>
+            <typeparam name="T">The element type of the repeated field.</typeparam>
+        </member>
+        <member name="M:LC.Google.Protobuf.Collections.RepeatedField`1.Clone">
+            <summary>
+            Creates a deep clone of this repeated field.
+            </summary>
+            <remarks>
+            If the field type is
+            a message type, each element is also cloned; otherwise, it is
+            assumed that the field type is primitive (including string and
+            bytes, both of which are immutable) and so a simple copy is
+            equivalent to a deep clone.
+            </remarks>
+            <returns>A deep clone of this repeated field.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.Collections.RepeatedField`1.AddEntriesFrom(LC.Google.Protobuf.CodedInputStream,LC.Google.Protobuf.FieldCodec{`0})">
+            <summary>
+            Adds the entries from the given input stream, decoding them with the specified codec.
+            </summary>
+            <param name="input">The input stream to read from.</param>
+            <param name="codec">The codec to use in order to read each entry.</param>
+        </member>
+        <member name="M:LC.Google.Protobuf.Collections.RepeatedField`1.CalculateSize(LC.Google.Protobuf.FieldCodec{`0})">
+            <summary>
+            Calculates the size of this collection based on the given codec.
+            </summary>
+            <param name="codec">The codec to use when encoding each field.</param>
+            <returns>The number of bytes that would be written to a <see cref="T:LC.Google.Protobuf.CodedOutputStream"/> by <see cref="M:LC.Google.Protobuf.Collections.RepeatedField`1.WriteTo(LC.Google.Protobuf.CodedOutputStream,LC.Google.Protobuf.FieldCodec{`0})"/>,
+            using the same codec.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.Collections.RepeatedField`1.WriteTo(LC.Google.Protobuf.CodedOutputStream,LC.Google.Protobuf.FieldCodec{`0})">
+            <summary>
+            Writes the contents of this collection to the given <see cref="T:LC.Google.Protobuf.CodedOutputStream"/>,
+            encoding each value using the specified codec.
+            </summary>
+            <param name="output">The output stream to write to.</param>
+            <param name="codec">The codec to use when encoding each value.</param>
+        </member>
+        <member name="P:LC.Google.Protobuf.Collections.RepeatedField`1.Capacity">
+            <summary>
+            Gets and sets the capacity of the RepeatedField's internal array.  WHen set, the internal array is reallocated to the given capacity.
+            <exception cref="T:System.ArgumentOutOfRangeException">The new value is less than Count -or- when Count is less than 0.</exception>
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Collections.RepeatedField`1.Add(`0)">
+            <summary>
+            Adds the specified item to the collection.
+            </summary>
+            <param name="item">The item to add.</param>
+        </member>
+        <member name="M:LC.Google.Protobuf.Collections.RepeatedField`1.Clear">
+            <summary>
+            Removes all items from the collection.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Collections.RepeatedField`1.Contains(`0)">
+            <summary>
+            Determines whether this collection contains the given item.
+            </summary>
+            <param name="item">The item to find.</param>
+            <returns><c>true</c> if this collection contains the given item; <c>false</c> otherwise.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.Collections.RepeatedField`1.CopyTo(`0[],System.Int32)">
+            <summary>
+            Copies this collection to the given array.
+            </summary>
+            <param name="array">The array to copy to.</param>
+            <param name="arrayIndex">The first index of the array to copy to.</param>
+        </member>
+        <member name="M:LC.Google.Protobuf.Collections.RepeatedField`1.Remove(`0)">
+            <summary>
+            Removes the specified item from the collection
+            </summary>
+            <param name="item">The item to remove.</param>
+            <returns><c>true</c> if the item was found and removed; <c>false</c> otherwise.</returns>
+        </member>
+        <member name="P:LC.Google.Protobuf.Collections.RepeatedField`1.Count">
+            <summary>
+            Gets the number of elements contained in the collection.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Collections.RepeatedField`1.IsReadOnly">
+            <summary>
+            Gets a value indicating whether the collection is read-only.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Collections.RepeatedField`1.AddRange(System.Collections.Generic.IEnumerable{`0})">
+            <summary>
+            Adds all of the specified values into this collection.
+            </summary>
+            <param name="values">The values to add to this collection.</param>
+        </member>
+        <member name="M:LC.Google.Protobuf.Collections.RepeatedField`1.Add(System.Collections.Generic.IEnumerable{`0})">
+            <summary>
+            Adds all of the specified values into this collection. This method is present to
+            allow repeated fields to be constructed from queries within collection initializers.
+            Within non-collection-initializer code, consider using the equivalent <see cref="M:LC.Google.Protobuf.Collections.RepeatedField`1.AddRange(System.Collections.Generic.IEnumerable{`0})"/>
+            method instead for clarity.
+            </summary>
+            <param name="values">The values to add to this collection.</param>
+        </member>
+        <member name="M:LC.Google.Protobuf.Collections.RepeatedField`1.GetEnumerator">
+            <summary>
+            Returns an enumerator that iterates through the collection.
+            </summary>
+            <returns>
+            An enumerator that can be used to iterate through the collection.
+            </returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.Collections.RepeatedField`1.Equals(System.Object)">
+            <summary>
+            Determines whether the specified <see cref="T:System.Object" />, is equal to this instance.
+            </summary>
+            <param name="obj">The <see cref="T:System.Object" /> to compare with this instance.</param>
+            <returns>
+              <c>true</c> if the specified <see cref="T:System.Object" /> is equal to this instance; otherwise, <c>false</c>.
+            </returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.Collections.RepeatedField`1.System#Collections#IEnumerable#GetEnumerator">
+            <summary>
+            Returns an enumerator that iterates through a collection.
+            </summary>
+            <returns>
+            An <see cref="T:System.Collections.IEnumerator" /> object that can be used to iterate through the collection.
+            </returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.Collections.RepeatedField`1.GetHashCode">
+            <summary>
+            Returns a hash code for this instance.
+            </summary>
+            <returns>
+            A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. 
+            </returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.Collections.RepeatedField`1.Equals(LC.Google.Protobuf.Collections.RepeatedField{`0})">
+            <summary>
+            Compares this repeated field with another for equality.
+            </summary>
+            <param name="other">The repeated field to compare this with.</param>
+            <returns><c>true</c> if <paramref name="other"/> refers to an equal repeated field; <c>false</c> otherwise.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.Collections.RepeatedField`1.IndexOf(`0)">
+            <summary>
+            Returns the index of the given item within the collection, or -1 if the item is not
+            present.
+            </summary>
+            <param name="item">The item to find in the collection.</param>
+            <returns>The zero-based index of the item, or -1 if it is not found.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.Collections.RepeatedField`1.Insert(System.Int32,`0)">
+            <summary>
+            Inserts the given item at the specified index.
+            </summary>
+            <param name="index">The index at which to insert the item.</param>
+            <param name="item">The item to insert.</param>
+        </member>
+        <member name="M:LC.Google.Protobuf.Collections.RepeatedField`1.RemoveAt(System.Int32)">
+            <summary>
+            Removes the item at the given index.
+            </summary>
+            <param name="index">The zero-based index of the item to remove.</param>
+        </member>
+        <member name="M:LC.Google.Protobuf.Collections.RepeatedField`1.ToString">
+            <summary>
+            Returns a string representation of this repeated field, in the same
+            way as it would be represented by the default JSON formatter.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Collections.RepeatedField`1.Item(System.Int32)">
+            <summary>
+            Gets or sets the item at the specified index.
+            </summary>
+            <value>
+            The element at the specified index.
+            </value>
+            <param name="index">The zero-based index of the element to get or set.</param>
+            <returns>The item at the specified index.</returns>
+        </member>
+        <member name="T:LC.Google.Protobuf.Compatibility.PropertyInfoExtensions">
+            <summary>
+            Extension methods for <see cref="T:System.Reflection.PropertyInfo"/>, effectively providing
+            the familiar members from previous desktop framework versions while
+            targeting the newer releases, .NET Core etc.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Compatibility.PropertyInfoExtensions.GetGetMethod(System.Reflection.PropertyInfo)">
+            <summary>
+            Returns the public getter of a property, or null if there is no such getter
+            (either because it's read-only, or the getter isn't public).
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Compatibility.PropertyInfoExtensions.GetSetMethod(System.Reflection.PropertyInfo)">
+            <summary>
+            Returns the public setter of a property, or null if there is no such setter
+            (either because it's write-only, or the setter isn't public).
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.Compatibility.TypeExtensions">
+            <summary>
+            Provides extension methods on Type that just proxy to TypeInfo.
+            These are used to support the new type system from .NET 4.5, without
+            having calls to GetTypeInfo all over the place. While the methods here are meant to be
+            broadly compatible with the desktop framework, there are some subtle differences in behaviour - but
+            they're not expected to affect our use cases. While the class is internal, that should be fine: we can
+            evaluate each new use appropriately.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Compatibility.TypeExtensions.IsAssignableFrom(System.Type,System.Type)">
+            <summary>
+            See https://msdn.microsoft.com/en-us/library/system.type.isassignablefrom
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Compatibility.TypeExtensions.GetProperty(System.Type,System.String)">
+            <summary>
+            Returns a representation of the public property associated with the given name in the given type,
+            including inherited properties or null if there is no such public property.
+            Here, "public property" means a property where either the getter, or the setter, or both, is public.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Compatibility.TypeExtensions.GetMethod(System.Type,System.String)">
+            <summary>
+            Returns a representation of the public method associated with the given name in the given type,
+            including inherited methods.
+            </summary>
+            <remarks>
+            This has a few differences compared with Type.GetMethod in the desktop framework. It will throw
+            if there is an ambiguous match even between a private method and a public one, but it *won't* throw
+            if there are two overloads at different levels in the type hierarchy (e.g. class Base declares public void Foo(int) and
+            class Child : Base declares public void Foo(long)).
+            </remarks>
+            <exception cref="T:System.Reflection.AmbiguousMatchException">One type in the hierarchy declared more than one method with the same name</exception>
+        </member>
+        <member name="T:LC.Google.Protobuf.Extension">
+            <summary>
+            Represents a non-generic extension definition. This API is experimental and subject to change.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Extension.#ctor(System.Int32)">
+            <summary>
+            Internal use. Creates a new extension with the specified field number.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Extension.FieldNumber">
+            <summary>
+            Gets the field number of this extension
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.Extension`2">
+            <summary>
+            Represents a type-safe extension identifier used for getting and setting single extension values in <see cref="T:LC.Google.Protobuf.IExtendableMessage`1"/> instances. 
+            This API is experimental and subject to change.
+            </summary>
+            <typeparam name="TTarget">The message type this field applies to</typeparam>
+            <typeparam name="TValue">The field value type of this extension</typeparam>
+        </member>
+        <member name="M:LC.Google.Protobuf.Extension`2.#ctor(System.Int32,LC.Google.Protobuf.FieldCodec{`1})">
+            <summary>
+            Creates a new extension identifier with the specified field number and codec
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.RepeatedExtension`2">
+            <summary>
+            Represents a type-safe extension identifier used for getting repeated extension values in <see cref="T:LC.Google.Protobuf.IExtendableMessage`1"/> instances.
+            This API is experimental and subject to change.
+            </summary>
+            <typeparam name="TTarget">The message type this field applies to</typeparam>
+            <typeparam name="TValue">The repeated field value type of this extension</typeparam>
+        </member>
+        <member name="M:LC.Google.Protobuf.RepeatedExtension`2.#ctor(System.Int32,LC.Google.Protobuf.FieldCodec{`1})">
+            <summary>
+            Creates a new repeated extension identifier with the specified field number and codec
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.ExtensionRegistry">
+            <summary>
+            Provides extensions to messages while parsing. This API is experimental and subject to change.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.ExtensionRegistry.#ctor">
+            <summary>
+            Creates a new empty extension registry
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.ExtensionRegistry.Count">
+            <summary>
+            Gets the total number of extensions in this extension registry
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.ExtensionRegistry.System#Collections#Generic#ICollection{LC#Google#Protobuf#Extension}#IsReadOnly">
+            <summary>
+            Returns whether the registry is readonly
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.ExtensionRegistry.Add(LC.Google.Protobuf.Extension)">
+            <summary>
+            Adds the specified extension to the registry
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.ExtensionRegistry.AddRange(System.Collections.Generic.IEnumerable{LC.Google.Protobuf.Extension})">
+            <summary>
+            Adds the specified extensions to the registry
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.ExtensionRegistry.Clear">
+            <summary>
+            Clears the registry of all values
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.ExtensionRegistry.Contains(LC.Google.Protobuf.Extension)">
+            <summary>
+            Gets whether the extension registry contains the specified extension
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.ExtensionRegistry.System#Collections#Generic#ICollection{LC#Google#Protobuf#Extension}#CopyTo(LC.Google.Protobuf.Extension[],System.Int32)">
+            <summary>
+            Copies the arrays in the registry set to the specified array at the specified index
+            </summary>
+            <param name="array">The array to copy to</param>
+            <param name="arrayIndex">The array index to start at</param>
+        </member>
+        <member name="M:LC.Google.Protobuf.ExtensionRegistry.GetEnumerator">
+            <summary>
+            Returns an enumerator to enumerate through the items in the registry
+            </summary>
+            <returns>Returns an enumerator for the extensions in this registry</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.ExtensionRegistry.Remove(LC.Google.Protobuf.Extension)">
+            <summary>
+            Removes the specified extension from the set
+            </summary>
+            <param name="item">The extension</param>
+            <returns><c>true</c> if the extension was removed, otherwise <c>false</c></returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.ExtensionRegistry.Clone">
+            <summary>
+            Clones the registry into a new registry
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.ExtensionSet">
+            <summary>
+            Methods for managing <see cref="T:LC.Google.Protobuf.ExtensionSet`1"/>s with null checking.
+            
+            Most users will not use this class directly and its API is experimental and subject to change.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.ExtensionSet.Get``2(LC.Google.Protobuf.ExtensionSet{``0}@,LC.Google.Protobuf.Extension{``0,``1})">
+            <summary>
+            Gets the value of the specified extension
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.ExtensionSet.Get``2(LC.Google.Protobuf.ExtensionSet{``0}@,LC.Google.Protobuf.RepeatedExtension{``0,``1})">
+            <summary>
+            Gets the value of the specified repeated extension or null if it doesn't exist in this set
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.ExtensionSet.GetOrInitialize``2(LC.Google.Protobuf.ExtensionSet{``0}@,LC.Google.Protobuf.RepeatedExtension{``0,``1})">
+            <summary>
+            Gets the value of the specified repeated extension, registering it if it doesn't exist
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.ExtensionSet.Set``2(LC.Google.Protobuf.ExtensionSet{``0}@,LC.Google.Protobuf.Extension{``0,``1},``1)">
+            <summary>
+            Sets the value of the specified extension. This will make a new instance of ExtensionSet if the set is null.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.ExtensionSet.Has``2(LC.Google.Protobuf.ExtensionSet{``0}@,LC.Google.Protobuf.Extension{``0,``1})">
+            <summary>
+            Gets whether the value of the specified extension is set
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.ExtensionSet.Clear``2(LC.Google.Protobuf.ExtensionSet{``0}@,LC.Google.Protobuf.Extension{``0,``1})">
+            <summary>
+            Clears the value of the specified extension
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.ExtensionSet.Clear``2(LC.Google.Protobuf.ExtensionSet{``0}@,LC.Google.Protobuf.RepeatedExtension{``0,``1})">
+            <summary>
+            Clears the value of the specified extension
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.ExtensionSet.TryMergeFieldFrom``1(LC.Google.Protobuf.ExtensionSet{``0}@,LC.Google.Protobuf.CodedInputStream)">
+            <summary>
+            Tries to merge a field from the coded input, returning true if the field was merged.
+            If the set is null or the field was not otherwise merged, this returns false.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.ExtensionSet.MergeFrom``1(LC.Google.Protobuf.ExtensionSet{``0}@,LC.Google.Protobuf.ExtensionSet{``0})">
+            <summary>
+            Merges the second set into the first set, creating a new instance if first is null
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.ExtensionSet.Clone``1(LC.Google.Protobuf.ExtensionSet{``0})">
+            <summary>
+            Clones the set into a new set. If the set is null, this returns null
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.ExtensionSet`1">
+            <summary>
+            Used for keeping track of extensions in messages. 
+            <see cref="T:LC.Google.Protobuf.IExtendableMessage`1"/> methods route to this set.
+            
+            Most users will not need to use this class directly
+            </summary>
+            <typeparam name="TTarget">The message type that extensions in this set target</typeparam>
+        </member>
+        <member name="M:LC.Google.Protobuf.ExtensionSet`1.GetHashCode">
+            <summary>
+            Gets a hash code of the set
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.ExtensionSet`1.Equals(System.Object)">
+            <summary>
+            Returns whether this set is equal to the other object
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.ExtensionSet`1.CalculateSize">
+            <summary>
+            Calculates the size of this extension set
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.ExtensionSet`1.WriteTo(LC.Google.Protobuf.CodedOutputStream)">
+            <summary>
+            Writes the extension values in this set to the output stream
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.FieldCodec">
+            <summary>
+            Factory methods for <see cref="T:LC.Google.Protobuf.FieldCodec`1"/>.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.FieldCodec.ForString(System.UInt32)">
+            <summary>
+            Retrieves a codec suitable for a string field with the given tag.
+            </summary>
+            <param name="tag">The tag.</param>
+            <returns>A codec for the given tag.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.FieldCodec.ForBytes(System.UInt32)">
+            <summary>
+            Retrieves a codec suitable for a bytes field with the given tag.
+            </summary>
+            <param name="tag">The tag.</param>
+            <returns>A codec for the given tag.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.FieldCodec.ForBool(System.UInt32)">
+            <summary>
+            Retrieves a codec suitable for a bool field with the given tag.
+            </summary>
+            <param name="tag">The tag.</param>
+            <returns>A codec for the given tag.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.FieldCodec.ForInt32(System.UInt32)">
+            <summary>
+            Retrieves a codec suitable for an int32 field with the given tag.
+            </summary>
+            <param name="tag">The tag.</param>
+            <returns>A codec for the given tag.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.FieldCodec.ForSInt32(System.UInt32)">
+            <summary>
+            Retrieves a codec suitable for an sint32 field with the given tag.
+            </summary>
+            <param name="tag">The tag.</param>
+            <returns>A codec for the given tag.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.FieldCodec.ForFixed32(System.UInt32)">
+            <summary>
+            Retrieves a codec suitable for a fixed32 field with the given tag.
+            </summary>
+            <param name="tag">The tag.</param>
+            <returns>A codec for the given tag.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.FieldCodec.ForSFixed32(System.UInt32)">
+            <summary>
+            Retrieves a codec suitable for an sfixed32 field with the given tag.
+            </summary>
+            <param name="tag">The tag.</param>
+            <returns>A codec for the given tag.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.FieldCodec.ForUInt32(System.UInt32)">
+            <summary>
+            Retrieves a codec suitable for a uint32 field with the given tag.
+            </summary>
+            <param name="tag">The tag.</param>
+            <returns>A codec for the given tag.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.FieldCodec.ForInt64(System.UInt32)">
+            <summary>
+            Retrieves a codec suitable for an int64 field with the given tag.
+            </summary>
+            <param name="tag">The tag.</param>
+            <returns>A codec for the given tag.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.FieldCodec.ForSInt64(System.UInt32)">
+            <summary>
+            Retrieves a codec suitable for an sint64 field with the given tag.
+            </summary>
+            <param name="tag">The tag.</param>
+            <returns>A codec for the given tag.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.FieldCodec.ForFixed64(System.UInt32)">
+            <summary>
+            Retrieves a codec suitable for a fixed64 field with the given tag.
+            </summary>
+            <param name="tag">The tag.</param>
+            <returns>A codec for the given tag.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.FieldCodec.ForSFixed64(System.UInt32)">
+            <summary>
+            Retrieves a codec suitable for an sfixed64 field with the given tag.
+            </summary>
+            <param name="tag">The tag.</param>
+            <returns>A codec for the given tag.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.FieldCodec.ForUInt64(System.UInt32)">
+            <summary>
+            Retrieves a codec suitable for a uint64 field with the given tag.
+            </summary>
+            <param name="tag">The tag.</param>
+            <returns>A codec for the given tag.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.FieldCodec.ForFloat(System.UInt32)">
+            <summary>
+            Retrieves a codec suitable for a float field with the given tag.
+            </summary>
+            <param name="tag">The tag.</param>
+            <returns>A codec for the given tag.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.FieldCodec.ForDouble(System.UInt32)">
+            <summary>
+            Retrieves a codec suitable for a double field with the given tag.
+            </summary>
+            <param name="tag">The tag.</param>
+            <returns>A codec for the given tag.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.FieldCodec.ForEnum``1(System.UInt32,System.Func{``0,System.Int32},System.Func{System.Int32,``0})">
+            <summary>
+            Retrieves a codec suitable for an enum field with the given tag.
+            </summary>
+            <param name="tag">The tag.</param>
+            <param name="toInt32">A conversion function from <see cref="T:System.Int32"/> to the enum type.</param>
+            <param name="fromInt32">A conversion function from the enum type to <see cref="T:System.Int32"/>.</param>
+            <returns>A codec for the given tag.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.FieldCodec.ForString(System.UInt32,System.String)">
+            <summary>
+            Retrieves a codec suitable for a string field with the given tag.
+            </summary>
+            <param name="tag">The tag.</param>
+            <param name="defaultValue">The default value.</param>
+            <returns>A codec for the given tag.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.FieldCodec.ForBytes(System.UInt32,LC.Google.Protobuf.ByteString)">
+            <summary>
+            Retrieves a codec suitable for a bytes field with the given tag.
+            </summary>
+            <param name="tag">The tag.</param>
+            <param name="defaultValue">The default value.</param>
+            <returns>A codec for the given tag.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.FieldCodec.ForBool(System.UInt32,System.Boolean)">
+            <summary>
+            Retrieves a codec suitable for a bool field with the given tag.
+            </summary>
+            <param name="tag">The tag.</param>
+            <param name="defaultValue">The default value.</param>
+            <returns>A codec for the given tag.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.FieldCodec.ForInt32(System.UInt32,System.Int32)">
+            <summary>
+            Retrieves a codec suitable for an int32 field with the given tag.
+            </summary>
+            <param name="tag">The tag.</param>
+            <param name="defaultValue">The default value.</param>
+            <returns>A codec for the given tag.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.FieldCodec.ForSInt32(System.UInt32,System.Int32)">
+            <summary>
+            Retrieves a codec suitable for an sint32 field with the given tag.
+            </summary>
+            <param name="tag">The tag.</param>
+            <param name="defaultValue">The default value.</param>
+            <returns>A codec for the given tag.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.FieldCodec.ForFixed32(System.UInt32,System.UInt32)">
+            <summary>
+            Retrieves a codec suitable for a fixed32 field with the given tag.
+            </summary>
+            <param name="tag">The tag.</param>
+            <param name="defaultValue">The default value.</param>
+            <returns>A codec for the given tag.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.FieldCodec.ForSFixed32(System.UInt32,System.Int32)">
+            <summary>
+            Retrieves a codec suitable for an sfixed32 field with the given tag.
+            </summary>
+            <param name="tag">The tag.</param>
+            <param name="defaultValue">The default value.</param>
+            <returns>A codec for the given tag.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.FieldCodec.ForUInt32(System.UInt32,System.UInt32)">
+            <summary>
+            Retrieves a codec suitable for a uint32 field with the given tag.
+            </summary>
+            <param name="tag">The tag.</param>
+            <param name="defaultValue">The default value.</param>
+            <returns>A codec for the given tag.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.FieldCodec.ForInt64(System.UInt32,System.Int64)">
+            <summary>
+            Retrieves a codec suitable for an int64 field with the given tag.
+            </summary>
+            <param name="tag">The tag.</param>
+            <param name="defaultValue">The default value.</param>
+            <returns>A codec for the given tag.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.FieldCodec.ForSInt64(System.UInt32,System.Int64)">
+            <summary>
+            Retrieves a codec suitable for an sint64 field with the given tag.
+            </summary>
+            <param name="tag">The tag.</param>
+            <param name="defaultValue">The default value.</param>
+            <returns>A codec for the given tag.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.FieldCodec.ForFixed64(System.UInt32,System.UInt64)">
+            <summary>
+            Retrieves a codec suitable for a fixed64 field with the given tag.
+            </summary>
+            <param name="tag">The tag.</param>
+            <param name="defaultValue">The default value.</param>
+            <returns>A codec for the given tag.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.FieldCodec.ForSFixed64(System.UInt32,System.Int64)">
+            <summary>
+            Retrieves a codec suitable for an sfixed64 field with the given tag.
+            </summary>
+            <param name="tag">The tag.</param>
+            <param name="defaultValue">The default value.</param>
+            <returns>A codec for the given tag.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.FieldCodec.ForUInt64(System.UInt32,System.UInt64)">
+            <summary>
+            Retrieves a codec suitable for a uint64 field with the given tag.
+            </summary>
+            <param name="tag">The tag.</param>
+            <param name="defaultValue">The default value.</param>
+            <returns>A codec for the given tag.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.FieldCodec.ForFloat(System.UInt32,System.Single)">
+            <summary>
+            Retrieves a codec suitable for a float field with the given tag.
+            </summary>
+            <param name="tag">The tag.</param>
+            <param name="defaultValue">The default value.</param>
+            <returns>A codec for the given tag.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.FieldCodec.ForDouble(System.UInt32,System.Double)">
+            <summary>
+            Retrieves a codec suitable for a double field with the given tag.
+            </summary>
+            <param name="tag">The tag.</param>
+            <param name="defaultValue">The default value.</param>
+            <returns>A codec for the given tag.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.FieldCodec.ForEnum``1(System.UInt32,System.Func{``0,System.Int32},System.Func{System.Int32,``0},``0)">
+            <summary>
+            Retrieves a codec suitable for an enum field with the given tag.
+            </summary>
+            <param name="tag">The tag.</param>
+            <param name="toInt32">A conversion function from <see cref="T:System.Int32"/> to the enum type.</param>
+            <param name="fromInt32">A conversion function from the enum type to <see cref="T:System.Int32"/>.</param>
+            <param name="defaultValue">The default value.</param>
+            <returns>A codec for the given tag.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.FieldCodec.ForMessage``1(System.UInt32,LC.Google.Protobuf.MessageParser{``0})">
+            <summary>
+            Retrieves a codec suitable for a message field with the given tag.
+            </summary>
+            <param name="tag">The tag.</param>
+            <param name="parser">A parser to use for the message type.</param>
+            <returns>A codec for the given tag.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.FieldCodec.ForGroup``1(System.UInt32,System.UInt32,LC.Google.Protobuf.MessageParser{``0})">
+            <summary>
+            Retrieves a codec suitable for a group field with the given tag.
+            </summary>
+            <param name="startTag">The start group tag.</param>
+            <param name="endTag">The end group tag.</param>
+            <param name="parser">A parser to use for the group message type.</param>
+            <returns>A codec for given tag</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.FieldCodec.ForClassWrapper``1(System.UInt32)">
+            <summary>
+            Creates a codec for a wrapper type of a class - which must be string or ByteString.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.FieldCodec.ForStructWrapper``1(System.UInt32)">
+            <summary>
+            Creates a codec for a wrapper type of a struct - which must be Int32, Int64, UInt32, UInt64,
+            Bool, Single or Double.
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.FieldCodec.WrapperCodecs">
+            <summary>
+            Helper code to create codecs for wrapper types.
+            </summary>
+            <remarks>
+            Somewhat ugly with all the static methods, but the conversions involved to/from nullable types make it
+            slightly tricky to improve. So long as we keep the public API (ForClassWrapper, ForStructWrapper) in place,
+            we can refactor later if we come up with something cleaner.
+            </remarks>
+        </member>
+        <member name="M:LC.Google.Protobuf.FieldCodec.WrapperCodecs.GetCodec``1">
+             <summary>
+             Returns a field codec which effectively wraps a value of type T in a message.
+            
+             </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.FieldCodec`1">
+            <summary>
+            <para>
+            An encode/decode pair for a single field. This effectively encapsulates
+            all the information needed to read or write the field value from/to a coded
+            stream.
+            </para>
+            <para>
+            This class is public and has to be as it is used by generated code, but its public
+            API is very limited - just what the generated code needs to call directly.
+            </para>
+            </summary>
+            <remarks>
+            This never writes default values to the stream, and does not address "packedness"
+            in repeated fields itself, other than to know whether or not the field *should* be packed.
+            </remarks>
+        </member>
+        <member name="T:LC.Google.Protobuf.FieldCodec`1.InputMerger">
+            <summary>
+            Merges an input stream into a value
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.FieldCodec`1.ValuesMerger">
+            <summary>
+            Merges a value into a reference to another value, returning a boolean if the value was set
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.FieldCodec`1.ValueWriter">
+            <summary>
+            Returns a delegate to write a value (unconditionally) to a coded output stream.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.FieldCodec`1.ValueSizeCalculator">
+            <summary>
+            Returns the size calculator for just a value.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.FieldCodec`1.ValueReader">
+            <summary>
+            Returns a delegate to read a value from a coded input stream. It is assumed that
+            the stream is already positioned on the appropriate tag.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.FieldCodec`1.ValueMerger">
+            <summary>
+            Returns a delegate to merge a value from a coded input stream.
+            It is assumed that the stream is already positioned on the appropriate tag
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.FieldCodec`1.FieldMerger">
+            <summary>
+            Returns a delegate to merge two values together.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.FieldCodec`1.FixedSize">
+            <summary>
+            Returns the fixed size for an entry, or 0 if sizes vary.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.FieldCodec`1.Tag">
+            <summary>
+            Gets the tag of the codec.
+            </summary>
+            <value>
+            The tag of the codec.
+            </value>
+        </member>
+        <member name="P:LC.Google.Protobuf.FieldCodec`1.EndTag">
+            <summary>
+            Gets the end tag of the codec or 0 if there is no end tag
+            </summary>
+            <value>
+            The end tag of the codec.
+            </value>
+        </member>
+        <member name="P:LC.Google.Protobuf.FieldCodec`1.DefaultValue">
+            <summary>
+            Default value for this codec. Usually the same for every instance of the same type, but
+            for string/ByteString wrapper fields the codec's default value is null, whereas for
+            other string/ByteString fields it's "" or ByteString.Empty.
+            </summary>
+            <value>
+            The default value of the codec's type.
+            </value>
+        </member>
+        <member name="M:LC.Google.Protobuf.FieldCodec`1.WriteTagAndValue(LC.Google.Protobuf.CodedOutputStream,`0)">
+            <summary>
+            Write a tag and the given value, *if* the value is not the default.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.FieldCodec`1.Read(LC.Google.Protobuf.CodedInputStream)">
+            <summary>
+            Reads a value of the codec type from the given <see cref="T:LC.Google.Protobuf.CodedInputStream"/>.
+            </summary>
+            <param name="input">The input stream to read from.</param>
+            <returns>The value read from the stream.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.FieldCodec`1.CalculateSizeWithTag(`0)">
+            <summary>
+            Calculates the size required to write the given value, with a tag,
+            if the value is not the default.
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.FieldMaskTree">
+             <summary>
+             <para>A tree representation of a FieldMask. Each leaf node in this tree represent
+             a field path in the FieldMask.</para>
+            
+             <para>For example, FieldMask "foo.bar,foo.baz,bar.baz" as a tree will be:</para>
+             <code>
+               [root] -+- foo -+- bar
+                       |       |
+                       |       +- baz
+                       |
+                       +- bar --- baz
+             </code>
+            
+             <para>By representing FieldMasks with this tree structure we can easily convert
+             a FieldMask to a canonical form, merge two FieldMasks, calculate the
+             intersection to two FieldMasks and traverse all fields specified by the
+             FieldMask in a message tree.</para>
+             </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.FieldMaskTree.#ctor">
+            <summary>
+            Creates an empty FieldMaskTree.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.FieldMaskTree.#ctor(LC.Google.Protobuf.WellKnownTypes.FieldMask)">
+            <summary>
+            Creates a FieldMaskTree for a given FieldMask.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.FieldMaskTree.AddFieldPath(System.String)">
+            <summary>
+            Adds a field path to the tree. In a FieldMask, every field path matches the
+            specified field as well as all its sub-fields. For example, a field path
+            "foo.bar" matches field "foo.bar" and also "foo.bar.baz", etc. When adding
+            a field path to the tree, redundant sub-paths will be removed. That is,
+            after adding "foo.bar" to the tree, "foo.bar.baz" will be removed if it
+            exists, which will turn the tree node for "foo.bar" to a leaf node.
+            Likewise, if the field path to add is a sub-path of an existing leaf node,
+            nothing will be changed in the tree.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.FieldMaskTree.MergeFromFieldMask(LC.Google.Protobuf.WellKnownTypes.FieldMask)">
+            <summary>
+            Merges all field paths in a FieldMask into this tree.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.FieldMaskTree.ToFieldMask">
+            <summary>
+            Converts this tree to a FieldMask.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.FieldMaskTree.GetFieldPaths(LC.Google.Protobuf.FieldMaskTree.Node,System.String,System.Collections.Generic.List{System.String})">
+            <summary>
+            Gathers all field paths in a sub-tree.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.FieldMaskTree.IntersectFieldPath(System.String,LC.Google.Protobuf.FieldMaskTree)">
+            <summary>
+            Adds the intersection of this tree with the given <paramref name="path"/> to <paramref name="output"/>.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.FieldMaskTree.Merge(LC.Google.Protobuf.IMessage,LC.Google.Protobuf.IMessage,LC.Google.Protobuf.WellKnownTypes.FieldMask.MergeOptions)">
+            <summary>
+            Merges all fields specified by this FieldMaskTree from <paramref name="source"/> to <paramref name="destination"/>.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.FieldMaskTree.Merge(LC.Google.Protobuf.FieldMaskTree.Node,System.String,LC.Google.Protobuf.IMessage,LC.Google.Protobuf.IMessage,LC.Google.Protobuf.WellKnownTypes.FieldMask.MergeOptions)">
+            <summary>
+            Merges all fields specified by a sub-tree from <paramref name="source"/> to <paramref name="destination"/>.
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.FrameworkPortability">
+            <summary>
+            Class containing helpful workarounds for various platform compatibility
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.ICustomDiagnosticMessage">
+            <summary>
+            A message type that has a custom string format for diagnostic purposes.
+            </summary>
+            <remarks>
+            <para>
+            Calling <see cref="M:System.Object.ToString"/> on a generated message type normally
+            returns the JSON representation. If a message type implements this interface,
+            then the <see cref="M:LC.Google.Protobuf.ICustomDiagnosticMessage.ToDiagnosticString"/> method will be called instead of the regular
+            JSON formatting code, but only when <c>ToString()</c> is called either on the message itself
+            or on another message which contains it. This does not affect the normal JSON formatting of
+            the message.
+            </para>
+            <para>
+            For example, if you create a proto message representing a GUID, the internal
+            representation may be a <c>bytes</c> field or four <c>fixed32</c> fields. However, when debugging
+            it may be more convenient to see a result in the same format as <see cref="T:System.Guid"/> provides.
+            </para>
+            <para>This interface extends <see cref="T:LC.Google.Protobuf.IMessage"/> to avoid it accidentally being implemented
+            on types other than messages, where it would not be used by anything in the framework.</para>
+            </remarks>
+        </member>
+        <member name="M:LC.Google.Protobuf.ICustomDiagnosticMessage.ToDiagnosticString">
+            <summary>
+            Returns a string representation of this object, for diagnostic purposes.
+            </summary>
+            <remarks>
+            This method is called when a message is formatted as part of a <see cref="M:System.Object.ToString"/>
+            call. It does not affect the JSON representation used by <see cref="T:LC.Google.Protobuf.JsonFormatter"/> other than
+            in calls to <see cref="M:LC.Google.Protobuf.JsonFormatter.ToDiagnosticString(LC.Google.Protobuf.IMessage)"/>. While it is recommended
+            that the result is valid JSON, this is never assumed by the Protobuf library.
+            </remarks>
+            <returns>A string representation of this object, for diagnostic purposes.</returns>
+        </member>
+        <member name="T:LC.Google.Protobuf.IDeepCloneable`1">
+            <summary>
+            Generic interface for a deeply cloneable type.
+            </summary>
+            <remarks>
+            <para>
+            All generated messages implement this interface, but so do some non-message types.
+            Additionally, due to the type constraint on <c>T</c> in <see cref="T:LC.Google.Protobuf.IMessage`1"/>,
+            it is simpler to keep this as a separate interface.
+            </para>
+            </remarks>
+            <typeparam name="T">The type itself, returned by the <see cref="M:LC.Google.Protobuf.IDeepCloneable`1.Clone"/> method.</typeparam>
+        </member>
+        <member name="M:LC.Google.Protobuf.IDeepCloneable`1.Clone">
+            <summary>
+            Creates a deep clone of this object.
+            </summary>
+            <returns>A deep clone of this object.</returns>
+        </member>
+        <member name="T:LC.Google.Protobuf.IExtendableMessage`1">
+            <summary>
+            Generic interface for a Protocol Buffers message containing one or more extensions, where the type parameter is expected to be the same type as the implementation class.
+            This interface is experiemental and is subject to change.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.IExtendableMessage`1.GetExtension``1(LC.Google.Protobuf.Extension{`0,``0})">
+            <summary>
+            Gets the value of the specified extension
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.IExtendableMessage`1.GetExtension``1(LC.Google.Protobuf.RepeatedExtension{`0,``0})">
+            <summary>
+            Gets the value of the specified repeated extension or null if the extension isn't registered in this set.
+            For a version of this method that never returns null, use <see cref="M:LC.Google.Protobuf.IExtendableMessage`1.GetOrInitializeExtension``1(LC.Google.Protobuf.RepeatedExtension{`0,``0})"/>
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.IExtendableMessage`1.GetOrInitializeExtension``1(LC.Google.Protobuf.RepeatedExtension{`0,``0})">
+            <summary>
+            Gets the value of the specified repeated extension, registering it if it hasn't already been registered.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.IExtendableMessage`1.SetExtension``1(LC.Google.Protobuf.Extension{`0,``0},``0)">
+            <summary>
+            Sets the value of the specified extension
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.IExtendableMessage`1.HasExtension``1(LC.Google.Protobuf.Extension{`0,``0})">
+            <summary>
+            Gets whether the value of the specified extension is set
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.IExtendableMessage`1.ClearExtension``1(LC.Google.Protobuf.Extension{`0,``0})">
+            <summary>
+            Clears the value of the specified extension
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.IExtendableMessage`1.ClearExtension``1(LC.Google.Protobuf.RepeatedExtension{`0,``0})">
+            <summary>
+            Clears the value of the specified repeated extension
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.IMessage">
+            <summary>
+            Interface for a Protocol Buffers message, supporting
+            basic operations required for serialization.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.IMessage.MergeFrom(LC.Google.Protobuf.CodedInputStream)">
+            <summary>
+            Merges the data from the specified coded input stream with the current message.
+            </summary>
+            <remarks>See the user guide for precise merge semantics.</remarks>
+            <param name="input"></param>
+        </member>
+        <member name="M:LC.Google.Protobuf.IMessage.WriteTo(LC.Google.Protobuf.CodedOutputStream)">
+            <summary>
+            Writes the data to the given coded output stream.
+            </summary>
+            <param name="output">Coded output stream to write the data to. Must not be null.</param>
+        </member>
+        <member name="M:LC.Google.Protobuf.IMessage.CalculateSize">
+            <summary>
+            Calculates the size of this message in Protocol Buffer wire format, in bytes.
+            </summary>
+            <returns>The number of bytes required to write this message
+            to a coded output stream.</returns>
+        </member>
+        <member name="P:LC.Google.Protobuf.IMessage.Descriptor">
+            <summary>
+            Descriptor for this message. All instances are expected to return the same descriptor,
+            and for generated types this will be an explicitly-implemented member, returning the
+            same value as the static property declared on the type.
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.IMessage`1">
+            <summary>
+            Generic interface for a Protocol Buffers message,
+            where the type parameter is expected to be the same type as
+            the implementation class.
+            </summary>
+            <typeparam name="T">The message type.</typeparam>
+        </member>
+        <member name="M:LC.Google.Protobuf.IMessage`1.MergeFrom(`0)">
+            <summary>
+            Merges the given message into this one.
+            </summary>
+            <remarks>See the user guide for precise merge semantics.</remarks>
+            <param name="message">The message to merge with this one. Must not be null.</param>
+        </member>
+        <member name="T:LC.Google.Protobuf.InvalidJsonException">
+            <summary>
+            Thrown when an attempt is made to parse invalid JSON, e.g. using
+            a non-string property key, or including a redundant comma. Parsing a protocol buffer
+            message represented in JSON using <see cref="T:LC.Google.Protobuf.JsonParser"/> can throw both this
+            exception and <see cref="T:LC.Google.Protobuf.InvalidProtocolBufferException"/> depending on the situation. This
+            exception is only thrown for "pure JSON" errors, whereas <c>InvalidProtocolBufferException</c>
+            is thrown when the JSON may be valid in and of itself, but cannot be parsed as a protocol buffer
+            message.
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.InvalidProtocolBufferException">
+            <summary>
+            Thrown when a protocol message being parsed is invalid in some way,
+            e.g. it contains a malformed varint or a negative byte length.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.InvalidProtocolBufferException.InvalidTag">
+            <summary>
+            Creates an exception for an error condition of an invalid tag being encountered.
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.JsonFormatter">
+            <summary>
+            Reflection-based converter from messages to JSON.
+            </summary>
+            <remarks>
+            <para>
+            Instances of this class are thread-safe, with no mutable state.
+            </para>
+            <para>
+            This is a simple start to get JSON formatting working. As it's reflection-based,
+            it's not as quick as baking calls into generated messages - but is a simpler implementation.
+            (This code is generally not heavily optimized.)
+            </para>
+            </remarks>
+        </member>
+        <member name="P:LC.Google.Protobuf.JsonFormatter.Default">
+            <summary>
+            Returns a formatter using the default settings.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.JsonFormatter.CommonRepresentations">
+            <summary>
+            The JSON representation of the first 160 characters of Unicode.
+            Empty strings are replaced by the static constructor.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.JsonFormatter.#ctor(LC.Google.Protobuf.JsonFormatter.Settings)">
+            <summary>
+            Creates a new formatted with the given settings.
+            </summary>
+            <param name="settings">The settings.</param>
+        </member>
+        <member name="M:LC.Google.Protobuf.JsonFormatter.Format(LC.Google.Protobuf.IMessage)">
+            <summary>
+            Formats the specified message as JSON.
+            </summary>
+            <param name="message">The message to format.</param>
+            <returns>The formatted message.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.JsonFormatter.Format(LC.Google.Protobuf.IMessage,System.IO.TextWriter)">
+            <summary>
+            Formats the specified message as JSON.
+            </summary>
+            <param name="message">The message to format.</param>
+            <param name="writer">The TextWriter to write the formatted message to.</param>
+            <returns>The formatted message.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.JsonFormatter.ToDiagnosticString(LC.Google.Protobuf.IMessage)">
+            <summary>
+            Converts a message to JSON for diagnostic purposes with no extra context.
+            </summary>
+            <remarks>
+            <para>
+            This differs from calling <see cref="M:LC.Google.Protobuf.JsonFormatter.Format(LC.Google.Protobuf.IMessage)"/> on the default JSON
+            formatter in its handling of <see cref="T:LC.Google.Protobuf.WellKnownTypes.Any"/>. As no type registry is available
+            in <see cref="M:System.Object.ToString"/> calls, the normal way of resolving the type of
+            an <c>Any</c> message cannot be applied. Instead, a JSON property named <c>@value</c>
+            is included with the base64 data from the <see cref="P:LC.Google.Protobuf.WellKnownTypes.Any.Value"/> property of the message.
+            </para>
+            <para>The value returned by this method is only designed to be used for diagnostic
+            purposes. It may not be parsable by <see cref="T:LC.Google.Protobuf.JsonParser"/>, and may not be parsable
+            by other Protocol Buffer implementations.</para>
+            </remarks>
+            <param name="message">The message to format for diagnostic purposes.</param>
+            <returns>The diagnostic-only JSON representation of the message</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.JsonFormatter.WriteValue(System.IO.TextWriter,System.Object)">
+            <summary>
+            Writes a single value to the given writer as JSON. Only types understood by
+            Protocol Buffers can be written in this way. This method is only exposed for
+            advanced use cases; most users should be using <see cref="M:LC.Google.Protobuf.JsonFormatter.Format(LC.Google.Protobuf.IMessage)"/>
+            or <see cref="M:LC.Google.Protobuf.JsonFormatter.Format(LC.Google.Protobuf.IMessage,System.IO.TextWriter)"/>.
+            </summary>
+            <param name="writer">The writer to write the value to. Must not be null.</param>
+            <param name="value">The value to write. May be null.</param>
+        </member>
+        <member name="M:LC.Google.Protobuf.JsonFormatter.WriteWellKnownTypeValue(System.IO.TextWriter,LC.Google.Protobuf.Reflection.MessageDescriptor,System.Object)">
+            <summary>
+            Central interception point for well-known type formatting. Any well-known types which
+            don't need special handling can fall back to WriteMessage. We avoid assuming that the
+            values are using the embedded well-known types, in order to allow for dynamic messages
+            in the future.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.JsonFormatter.WriteString(System.IO.TextWriter,System.String)">
+            <summary>
+            Writes a string (including leading and trailing double quotes) to a builder, escaping as required.
+            </summary>
+            <remarks>
+            Other than surrogate pair handling, this code is mostly taken from src/google/protobuf/util/internal/json_escaping.cc.
+            </remarks>
+        </member>
+        <member name="T:LC.Google.Protobuf.JsonFormatter.Settings">
+            <summary>
+            Settings controlling JSON formatting.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.JsonFormatter.Settings.Default">
+            <summary>
+            Default settings, as used by <see cref="P:LC.Google.Protobuf.JsonFormatter.Default"/>
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.JsonFormatter.Settings.FormatDefaultValues">
+            <summary>
+            Whether fields whose values are the default for the field type (e.g. 0 for integers)
+            should be formatted (true) or omitted (false).
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.JsonFormatter.Settings.TypeRegistry">
+            <summary>
+            The type registry used to format <see cref="T:LC.Google.Protobuf.WellKnownTypes.Any"/> messages.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.JsonFormatter.Settings.FormatEnumsAsIntegers">
+            <summary>
+            Whether to format enums as ints. Defaults to false.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.JsonFormatter.Settings.#ctor(System.Boolean)">
+            <summary>
+            Creates a new <see cref="T:LC.Google.Protobuf.JsonFormatter.Settings"/> object with the specified formatting of default values
+            and an empty type registry.
+            </summary>
+            <param name="formatDefaultValues"><c>true</c> if default values (0, empty strings etc) should be formatted; <c>false</c> otherwise.</param>
+        </member>
+        <member name="M:LC.Google.Protobuf.JsonFormatter.Settings.#ctor(System.Boolean,LC.Google.Protobuf.Reflection.TypeRegistry)">
+            <summary>
+            Creates a new <see cref="T:LC.Google.Protobuf.JsonFormatter.Settings"/> object with the specified formatting of default values
+            and type registry.
+            </summary>
+            <param name="formatDefaultValues"><c>true</c> if default values (0, empty strings etc) should be formatted; <c>false</c> otherwise.</param>
+            <param name="typeRegistry">The <see cref="P:LC.Google.Protobuf.JsonFormatter.Settings.TypeRegistry"/> to use when formatting <see cref="T:LC.Google.Protobuf.WellKnownTypes.Any"/> messages.</param>
+        </member>
+        <member name="M:LC.Google.Protobuf.JsonFormatter.Settings.#ctor(System.Boolean,LC.Google.Protobuf.Reflection.TypeRegistry,System.Boolean)">
+            <summary>
+            Creates a new <see cref="T:LC.Google.Protobuf.JsonFormatter.Settings"/> object with the specified parameters.
+            </summary>
+            <param name="formatDefaultValues"><c>true</c> if default values (0, empty strings etc) should be formatted; <c>false</c> otherwise.</param>
+            <param name="typeRegistry">The <see cref="P:LC.Google.Protobuf.JsonFormatter.Settings.TypeRegistry"/> to use when formatting <see cref="T:LC.Google.Protobuf.WellKnownTypes.Any"/> messages. TypeRegistry.Empty will be used if it is null.</param>
+            <param name="formatEnumsAsIntegers"><c>true</c> to format the enums as integers; <c>false</c> to format enums as enum names.</param>
+        </member>
+        <member name="M:LC.Google.Protobuf.JsonFormatter.Settings.WithFormatDefaultValues(System.Boolean)">
+            <summary>
+            Creates a new <see cref="T:LC.Google.Protobuf.JsonFormatter.Settings"/> object with the specified formatting of default values and the current settings.
+            </summary>
+            <param name="formatDefaultValues"><c>true</c> if default values (0, empty strings etc) should be formatted; <c>false</c> otherwise.</param>
+        </member>
+        <member name="M:LC.Google.Protobuf.JsonFormatter.Settings.WithTypeRegistry(LC.Google.Protobuf.Reflection.TypeRegistry)">
+            <summary>
+            Creates a new <see cref="T:LC.Google.Protobuf.JsonFormatter.Settings"/> object with the specified type registry and the current settings.
+            </summary>
+            <param name="typeRegistry">The <see cref="P:LC.Google.Protobuf.JsonFormatter.Settings.TypeRegistry"/> to use when formatting <see cref="T:LC.Google.Protobuf.WellKnownTypes.Any"/> messages.</param>
+        </member>
+        <member name="M:LC.Google.Protobuf.JsonFormatter.Settings.WithFormatEnumsAsIntegers(System.Boolean)">
+            <summary>
+            Creates a new <see cref="T:LC.Google.Protobuf.JsonFormatter.Settings"/> object with the specified enums formatting option and the current settings.
+            </summary>
+            <param name="formatEnumsAsIntegers"><c>true</c> to format the enums as integers; <c>false</c> to format enums as enum names.</param>
+        </member>
+        <member name="T:LC.Google.Protobuf.JsonParser">
+            <summary>
+            Reflection-based converter from JSON to messages.
+            </summary>
+            <remarks>
+            <para>
+            Instances of this class are thread-safe, with no mutable state.
+            </para>
+            <para>
+            This is a simple start to get JSON parsing working. As it's reflection-based,
+            it's not as quick as baking calls into generated messages - but is a simpler implementation.
+            (This code is generally not heavily optimized.)
+            </para>
+            </remarks>
+        </member>
+        <member name="P:LC.Google.Protobuf.JsonParser.Default">
+            <summary>
+            Returns a formatter using the default settings.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.JsonParser.#ctor(LC.Google.Protobuf.JsonParser.Settings)">
+            <summary>
+            Creates a new formatted with the given settings.
+            </summary>
+            <param name="settings">The settings.</param>
+        </member>
+        <member name="M:LC.Google.Protobuf.JsonParser.Merge(LC.Google.Protobuf.IMessage,System.String)">
+            <summary>
+            Parses <paramref name="json"/> and merges the information into the given message.
+            </summary>
+            <param name="message">The message to merge the JSON information into.</param>
+            <param name="json">The JSON to parse.</param>
+        </member>
+        <member name="M:LC.Google.Protobuf.JsonParser.Merge(LC.Google.Protobuf.IMessage,System.IO.TextReader)">
+            <summary>
+            Parses JSON read from <paramref name="jsonReader"/> and merges the information into the given message.
+            </summary>
+            <param name="message">The message to merge the JSON information into.</param>
+            <param name="jsonReader">Reader providing the JSON to parse.</param>
+        </member>
+        <member name="M:LC.Google.Protobuf.JsonParser.Merge(LC.Google.Protobuf.IMessage,LC.Google.Protobuf.JsonTokenizer)">
+            <summary>
+            Merges the given message using data from the given tokenizer. In most cases, the next
+            token should be a "start object" token, but wrapper types and nullity can invalidate
+            that assumption. This is implemented as an LL(1) recursive descent parser over the stream
+            of tokens provided by the tokenizer. This token stream is assumed to be valid JSON, with the
+            tokenizer performing that validation - but not every token stream is valid "protobuf JSON".
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.JsonParser.Parse``1(System.String)">
+            <summary>
+            Parses <paramref name="json"/> into a new message.
+            </summary>
+            <typeparam name="T">The type of message to create.</typeparam>
+            <param name="json">The JSON to parse.</param>
+            <exception cref="T:LC.Google.Protobuf.InvalidJsonException">The JSON does not comply with RFC 7159</exception>
+            <exception cref="T:LC.Google.Protobuf.InvalidProtocolBufferException">The JSON does not represent a Protocol Buffers message correctly</exception>
+        </member>
+        <member name="M:LC.Google.Protobuf.JsonParser.Parse``1(System.IO.TextReader)">
+            <summary>
+            Parses JSON read from <paramref name="jsonReader"/> into a new message.
+            </summary>
+            <typeparam name="T">The type of message to create.</typeparam>
+            <param name="jsonReader">Reader providing the JSON to parse.</param>
+            <exception cref="T:LC.Google.Protobuf.InvalidJsonException">The JSON does not comply with RFC 7159</exception>
+            <exception cref="T:LC.Google.Protobuf.InvalidProtocolBufferException">The JSON does not represent a Protocol Buffers message correctly</exception>
+        </member>
+        <member name="M:LC.Google.Protobuf.JsonParser.Parse(System.String,LC.Google.Protobuf.Reflection.MessageDescriptor)">
+            <summary>
+            Parses <paramref name="json"/> into a new message.
+            </summary>
+            <param name="json">The JSON to parse.</param>
+            <param name="descriptor">Descriptor of message type to parse.</param>
+            <exception cref="T:LC.Google.Protobuf.InvalidJsonException">The JSON does not comply with RFC 7159</exception>
+            <exception cref="T:LC.Google.Protobuf.InvalidProtocolBufferException">The JSON does not represent a Protocol Buffers message correctly</exception>
+        </member>
+        <member name="M:LC.Google.Protobuf.JsonParser.Parse(System.IO.TextReader,LC.Google.Protobuf.Reflection.MessageDescriptor)">
+            <summary>
+            Parses JSON read from <paramref name="jsonReader"/> into a new message.
+            </summary>
+            <param name="jsonReader">Reader providing the JSON to parse.</param>
+            <param name="descriptor">Descriptor of message type to parse.</param>
+            <exception cref="T:LC.Google.Protobuf.InvalidJsonException">The JSON does not comply with RFC 7159</exception>
+            <exception cref="T:LC.Google.Protobuf.InvalidProtocolBufferException">The JSON does not represent a Protocol Buffers message correctly</exception>
+        </member>
+        <member name="M:LC.Google.Protobuf.JsonParser.NewMessageForField(LC.Google.Protobuf.Reflection.FieldDescriptor)">
+            <summary>
+            Creates a new instance of the message type for the given field.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.JsonParser.ValidateInfinityAndNan(System.String,System.Boolean,System.Boolean,System.Boolean)">
+            <summary>
+            Checks that any infinite/NaN values originated from the correct text.
+            This corrects the lenient whitespace handling of double.Parse/float.Parse, as well as the
+            way that Mono parses out-of-range values as infinity.
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.JsonParser.Settings">
+            <summary>
+            Settings controlling JSON parsing.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.JsonParser.Settings.Default">
+            <summary>
+            Default settings, as used by <see cref="P:LC.Google.Protobuf.JsonParser.Default"/>. This has the same default
+            recursion limit as <see cref="T:LC.Google.Protobuf.CodedInputStream"/>, and an empty type registry.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.JsonParser.Settings.RecursionLimit">
+            <summary>
+            The maximum depth of messages to parse. Note that this limit only applies to parsing
+            messages, not collections - so a message within a collection within a message only counts as
+            depth 2, not 3.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.JsonParser.Settings.TypeRegistry">
+            <summary>
+            The type registry used to parse <see cref="T:LC.Google.Protobuf.WellKnownTypes.Any"/> messages.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.JsonParser.Settings.IgnoreUnknownFields">
+            <summary>
+            Whether the parser should ignore unknown fields (<c>true</c>) or throw an exception when
+            they are encountered (<c>false</c>).
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.JsonParser.Settings.#ctor(System.Int32)">
+            <summary>
+            Creates a new <see cref="T:LC.Google.Protobuf.JsonParser.Settings"/> object with the specified recursion limit.
+            </summary>
+            <param name="recursionLimit">The maximum depth of messages to parse</param>
+        </member>
+        <member name="M:LC.Google.Protobuf.JsonParser.Settings.#ctor(System.Int32,LC.Google.Protobuf.Reflection.TypeRegistry)">
+            <summary>
+            Creates a new <see cref="T:LC.Google.Protobuf.JsonParser.Settings"/> object with the specified recursion limit and type registry.
+            </summary>
+            <param name="recursionLimit">The maximum depth of messages to parse</param>
+            <param name="typeRegistry">The type registry used to parse <see cref="T:LC.Google.Protobuf.WellKnownTypes.Any"/> messages</param>
+        </member>
+        <member name="M:LC.Google.Protobuf.JsonParser.Settings.WithIgnoreUnknownFields(System.Boolean)">
+            <summary>
+            Creates a new <see cref="T:LC.Google.Protobuf.JsonParser.Settings"/> object set to either ignore unknown fields, or throw an exception
+            when unknown fields are encountered.
+            </summary>
+            <param name="ignoreUnknownFields"><c>true</c> if unknown fields should be ignored when parsing; <c>false</c> to throw an exception.</param>
+        </member>
+        <member name="M:LC.Google.Protobuf.JsonParser.Settings.WithRecursionLimit(System.Int32)">
+            <summary>
+            Creates a new <see cref="T:LC.Google.Protobuf.JsonParser.Settings"/> object based on this one, but with the specified recursion limit.
+            </summary>
+            <param name="recursionLimit">The new recursion limit.</param>
+        </member>
+        <member name="M:LC.Google.Protobuf.JsonParser.Settings.WithTypeRegistry(LC.Google.Protobuf.Reflection.TypeRegistry)">
+            <summary>
+            Creates a new <see cref="T:LC.Google.Protobuf.JsonParser.Settings"/> object based on this one, but with the specified type registry.
+            </summary>
+            <param name="typeRegistry">The new type registry. Must not be null.</param>
+        </member>
+        <member name="T:LC.Google.Protobuf.JsonTokenizer">
+            <summary>
+            Simple but strict JSON tokenizer, rigidly following RFC 7159.
+            </summary>
+            <remarks>
+            <para>
+            This tokenizer is stateful, and only returns "useful" tokens - names, values etc.
+            It does not create tokens for the separator between names and values, or for the comma
+            between values. It validates the token stream as it goes - so callers can assume that the
+            tokens it produces are appropriate. For example, it would never produce "start object, end array."
+            </para>
+            <para>Implementation details: the base class handles single token push-back and </para>
+            <para>Not thread-safe.</para>
+            </remarks>
+        </member>
+        <member name="M:LC.Google.Protobuf.JsonTokenizer.FromTextReader(System.IO.TextReader)">
+            <summary>
+             Creates a tokenizer that reads from the given text reader.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.JsonTokenizer.FromReplayedTokens(System.Collections.Generic.IList{LC.Google.Protobuf.JsonToken},LC.Google.Protobuf.JsonTokenizer)">
+            <summary>
+            Creates a tokenizer that first replays the given list of tokens, then continues reading
+            from another tokenizer. Note that if the returned tokenizer is "pushed back", that does not push back
+            on the continuation tokenizer, or vice versa. Care should be taken when using this method - it was
+            created for the sake of Any parsing.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.JsonTokenizer.ObjectDepth">
+            <summary>
+            Returns the depth of the stack, purely in objects (not collections).
+            Informally, this is the number of remaining unclosed '{' characters we have.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.JsonTokenizer.Next">
+            <summary>
+            Returns the next JSON token in the stream. An EndDocument token is returned to indicate the end of the stream,
+            after which point <c>Next()</c> should not be called again.
+            </summary>
+            <remarks>This implementation provides single-token buffering, and calls <see cref="M:LC.Google.Protobuf.JsonTokenizer.NextImpl"/> if there is no buffered token.</remarks>
+            <returns>The next token in the stream. This is never null.</returns>
+            <exception cref="T:System.InvalidOperationException">This method is called after an EndDocument token has been returned</exception>
+            <exception cref="T:LC.Google.Protobuf.InvalidJsonException">The input text does not comply with RFC 7159</exception>
+        </member>
+        <member name="M:LC.Google.Protobuf.JsonTokenizer.NextImpl">
+            <summary>
+            Returns the next JSON token in the stream, when requested by the base class. (The <see cref="M:LC.Google.Protobuf.JsonTokenizer.Next"/> method delegates
+            to this if it doesn't have a buffered token.)
+            </summary>
+            <exception cref="T:System.InvalidOperationException">This method is called after an EndDocument token has been returned</exception>
+            <exception cref="T:LC.Google.Protobuf.InvalidJsonException">The input text does not comply with RFC 7159</exception>
+        </member>
+        <member name="M:LC.Google.Protobuf.JsonTokenizer.SkipValue">
+            <summary>
+            Skips the value we're about to read. This must only be called immediately after reading a property name.
+            If the value is an object or an array, the complete object/array is skipped.
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.JsonTokenizer.JsonReplayTokenizer">
+            <summary>
+            Tokenizer which first exhausts a list of tokens, then consults another tokenizer.
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.JsonTokenizer.JsonTextTokenizer">
+            <summary>
+            Tokenizer which does all the *real* work of parsing JSON.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.JsonTokenizer.JsonTextTokenizer.NextImpl">
+            <remarks>
+            This method essentially just loops through characters skipping whitespace, validating and
+            changing state (e.g. from ObjectBeforeColon to ObjectAfterColon)
+            until it reaches something which will be a genuine token (e.g. a start object, or a value) at which point
+            it returns the token. Although the method is large, it would be relatively hard to break down further... most
+            of it is the large switch statement, which sometimes returns and sometimes doesn't.
+            </remarks>
+        </member>
+        <member name="M:LC.Google.Protobuf.JsonTokenizer.JsonTextTokenizer.ReadString">
+            <summary>
+            Reads a string token. It is assumed that the opening " has already been read.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.JsonTokenizer.JsonTextTokenizer.ReadEscapedCharacter">
+            <summary>
+            Reads an escaped character. It is assumed that the leading backslash has already been read.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.JsonTokenizer.JsonTextTokenizer.ReadUnicodeEscape">
+            <summary>
+            Reads an escaped Unicode 4-nybble hex sequence. It is assumed that the leading \u has already been read.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.JsonTokenizer.JsonTextTokenizer.ConsumeLiteral(System.String)">
+            <summary>
+            Consumes a text-only literal, throwing an exception if the read text doesn't match it.
+            It is assumed that the first letter of the literal has already been read.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.JsonTokenizer.JsonTextTokenizer.ValidateAndModifyStateForValue(System.String)">
+            <summary>
+            Validates that we're in a valid state to read a value (using the given error prefix if necessary)
+            and changes the state to the appropriate one, e.g. ObjectAfterColon to ObjectAfterProperty.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.JsonTokenizer.JsonTextTokenizer.PopContainer">
+            <summary>
+            Pops the top-most container, and sets the state to the appropriate one for the end of a value
+            in the parent container.
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.JsonTokenizer.JsonTextTokenizer.State">
+            <summary>
+            Possible states of the tokenizer.
+            </summary>
+            <remarks>
+            <para>This is a flags enum purely so we can simply and efficiently represent a set of valid states
+            for checking.</para>
+            <para>
+            Each is documented with an example,
+            where ^ represents the current position within the text stream. The examples all use string values,
+            but could be any value, including nested objects/arrays.
+            The complete state of the tokenizer also includes a stack to indicate the contexts (arrays/objects).
+            Any additional notional state of "AfterValue" indicates that a value has been completed, at which
+            point there's an immediate transition to ExpectedEndOfDocument,  ObjectAfterProperty or ArrayAfterValue.
+            </para>
+            <para>
+            These states were derived manually by reading RFC 7159 carefully.
+            </para>
+            </remarks>
+        </member>
+        <member name="F:LC.Google.Protobuf.JsonTokenizer.JsonTextTokenizer.State.StartOfDocument">
+            <summary>
+            ^ { "foo": "bar" }
+            Before the value in a document. Next states: ObjectStart, ArrayStart, "AfterValue"
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.JsonTokenizer.JsonTextTokenizer.State.ExpectedEndOfDocument">
+            <summary>
+            { "foo": "bar" } ^
+            After the value in a document. Next states: ReaderExhausted
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.JsonTokenizer.JsonTextTokenizer.State.ReaderExhausted">
+            <summary>
+            { "foo": "bar" } ^ (and already read to the end of the reader)
+            Terminal state.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.JsonTokenizer.JsonTextTokenizer.State.ObjectStart">
+            <summary>
+            { ^ "foo": "bar" }
+            Before the *first* property in an object.
+            Next states:
+            "AfterValue" (empty object)
+            ObjectBeforeColon (read a name)
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.JsonTokenizer.JsonTextTokenizer.State.ObjectBeforeColon">
+            <summary>
+            { "foo" ^ : "bar", "x": "y" }
+            Next state: ObjectAfterColon
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.JsonTokenizer.JsonTextTokenizer.State.ObjectAfterColon">
+            <summary>
+            { "foo" : ^ "bar", "x": "y" }
+            Before any property other than the first in an object.
+            (Equivalently: after any property in an object)
+            Next states:
+            "AfterValue" (value is simple)
+            ObjectStart (value is object)
+            ArrayStart (value is array)
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.JsonTokenizer.JsonTextTokenizer.State.ObjectAfterProperty">
+            <summary>
+            { "foo" : "bar" ^ , "x" : "y" }
+            At the end of a property, so expecting either a comma or end-of-object
+            Next states: ObjectAfterComma or "AfterValue"
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.JsonTokenizer.JsonTextTokenizer.State.ObjectAfterComma">
+            <summary>
+            { "foo":"bar", ^ "x":"y" }
+            Read the comma after the previous property, so expecting another property.
+            This is like ObjectStart, but closing brace isn't valid here
+            Next state: ObjectBeforeColon.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.JsonTokenizer.JsonTextTokenizer.State.ArrayStart">
+            <summary>
+            [ ^ "foo", "bar" ]
+            Before the *first* value in an array.
+            Next states:
+            "AfterValue" (read a value)
+            "AfterValue" (end of array; will pop stack)
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.JsonTokenizer.JsonTextTokenizer.State.ArrayAfterValue">
+            <summary>
+            [ "foo" ^ , "bar" ]
+            After any value in an array, so expecting either a comma or end-of-array
+            Next states: ArrayAfterComma or "AfterValue"
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.JsonTokenizer.JsonTextTokenizer.State.ArrayAfterComma">
+            <summary>
+            [ "foo", ^ "bar" ]
+            After a comma in an array, so there *must* be another value (simple or complex).
+            Next states: "AfterValue" (simple value), StartObject, StartArray
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.JsonTokenizer.JsonTextTokenizer.PushBackReader">
+            <summary>
+            Wrapper around a text reader allowing small amounts of buffering and location handling.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.JsonTokenizer.JsonTextTokenizer.PushBackReader.nextChar">
+            <summary>
+            The buffered next character, if we have one.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.JsonTokenizer.JsonTextTokenizer.PushBackReader.Read">
+            <summary>
+            Returns the next character in the stream, or null if we have reached the end.
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.JsonTokenizer.JsonTextTokenizer.PushBackReader.CreateException(System.String)">
+            <summary>
+            Creates a new exception appropriate for the current state of the reader.
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.LimitedInputStream">
+            <summary>
+            Stream implementation which proxies another stream, only allowing a certain amount
+            of data to be read. Note that this is only used to read delimited streams, so it
+            doesn't attempt to implement everything.
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.MessageExtensions">
+            <summary>
+            Extension methods on <see cref="T:LC.Google.Protobuf.IMessage"/> and <see cref="T:LC.Google.Protobuf.IMessage`1"/>.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.MessageExtensions.MergeFrom(LC.Google.Protobuf.IMessage,System.Byte[])">
+            <summary>
+            Merges data from the given byte array into an existing message.
+            </summary>
+            <param name="message">The message to merge the data into.</param>
+            <param name="data">The data to merge, which must be protobuf-encoded binary data.</param>
+        </member>
+        <member name="M:LC.Google.Protobuf.MessageExtensions.MergeFrom(LC.Google.Protobuf.IMessage,System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Merges data from the given byte array slice into an existing message.
+            </summary>
+            <param name="message">The message to merge the data into.</param>
+            <param name="data">The data containing the slice to merge, which must be protobuf-encoded binary data.</param>
+            <param name="offset">The offset of the slice to merge.</param>
+            <param name="length">The length of the slice to merge.</param>
+        </member>
+        <member name="M:LC.Google.Protobuf.MessageExtensions.MergeFrom(LC.Google.Protobuf.IMessage,LC.Google.Protobuf.ByteString)">
+            <summary>
+            Merges data from the given byte string into an existing message.
+            </summary>
+            <param name="message">The message to merge the data into.</param>
+            <param name="data">The data to merge, which must be protobuf-encoded binary data.</param>
+        </member>
+        <member name="M:LC.Google.Protobuf.MessageExtensions.MergeFrom(LC.Google.Protobuf.IMessage,System.IO.Stream)">
+            <summary>
+            Merges data from the given stream into an existing message.
+            </summary>
+            <param name="message">The message to merge the data into.</param>
+            <param name="input">Stream containing the data to merge, which must be protobuf-encoded binary data.</param>
+        </member>
+        <member name="M:LC.Google.Protobuf.MessageExtensions.MergeDelimitedFrom(LC.Google.Protobuf.IMessage,System.IO.Stream)">
+            <summary>
+            Merges length-delimited data from the given stream into an existing message.
+            </summary>
+            <remarks>
+            The stream is expected to contain a length and then the data. Only the amount of data
+            specified by the length will be consumed.
+            </remarks>
+            <param name="message">The message to merge the data into.</param>
+            <param name="input">Stream containing the data to merge, which must be protobuf-encoded binary data.</param>
+        </member>
+        <member name="M:LC.Google.Protobuf.MessageExtensions.ToByteArray(LC.Google.Protobuf.IMessage)">
+            <summary>
+            Converts the given message into a byte array in protobuf encoding.
+            </summary>
+            <param name="message">The message to convert.</param>
+            <returns>The message data as a byte array.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.MessageExtensions.WriteTo(LC.Google.Protobuf.IMessage,System.IO.Stream)">
+            <summary>
+            Writes the given message data to the given stream in protobuf encoding.
+            </summary>
+            <param name="message">The message to write to the stream.</param>
+            <param name="output">The stream to write to.</param>
+        </member>
+        <member name="M:LC.Google.Protobuf.MessageExtensions.WriteDelimitedTo(LC.Google.Protobuf.IMessage,System.IO.Stream)">
+            <summary>
+            Writes the length and then data of the given message to a stream.
+            </summary>
+            <param name="message">The message to write.</param>
+            <param name="output">The output stream to write to.</param>
+        </member>
+        <member name="M:LC.Google.Protobuf.MessageExtensions.ToByteString(LC.Google.Protobuf.IMessage)">
+            <summary>
+            Converts the given message into a byte string in protobuf encoding.
+            </summary>
+            <param name="message">The message to convert.</param>
+            <returns>The message data as a byte string.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.MessageExtensions.IsInitialized(LC.Google.Protobuf.IMessage)">
+            <summary>
+            Checks if all required fields in a message have values set. For proto3 messages, this returns true
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.MessageParser">
+            <summary>
+            A general message parser, typically used by reflection-based code as all the methods
+            return simple <see cref="T:LC.Google.Protobuf.IMessage"/>.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.MessageParser.CreateTemplate">
+            <summary>
+            Creates a template instance ready for population.
+            </summary>
+            <returns>An empty message.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.MessageParser.ParseFrom(System.Byte[])">
+            <summary>
+            Parses a message from a byte array.
+            </summary>
+            <param name="data">The byte array containing the message. Must not be null.</param>
+            <returns>The newly parsed message.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.MessageParser.ParseFrom(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Parses a message from a byte array slice.
+            </summary>
+            <param name="data">The byte array containing the message. Must not be null.</param>
+            <param name="offset">The offset of the slice to parse.</param>
+            <param name="length">The length of the slice to parse.</param>
+            <returns>The newly parsed message.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.MessageParser.ParseFrom(LC.Google.Protobuf.ByteString)">
+            <summary>
+            Parses a message from the given byte string.
+            </summary>
+            <param name="data">The data to parse.</param>
+            <returns>The parsed message.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.MessageParser.ParseFrom(System.IO.Stream)">
+            <summary>
+            Parses a message from the given stream.
+            </summary>
+            <param name="input">The stream to parse.</param>
+            <returns>The parsed message.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.MessageParser.ParseDelimitedFrom(System.IO.Stream)">
+            <summary>
+            Parses a length-delimited message from the given stream.
+            </summary>
+            <remarks>
+            The stream is expected to contain a length and then the data. Only the amount of data
+            specified by the length will be consumed.
+            </remarks>
+            <param name="input">The stream to parse.</param>
+            <returns>The parsed message.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.MessageParser.ParseFrom(LC.Google.Protobuf.CodedInputStream)">
+            <summary>
+            Parses a message from the given coded input stream.
+            </summary>
+            <param name="input">The stream to parse.</param>
+            <returns>The parsed message.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.MessageParser.ParseJson(System.String)">
+            <summary>
+            Parses a message from the given JSON.
+            </summary>
+            <param name="json">The JSON to parse.</param>
+            <returns>The parsed message.</returns>
+            <exception cref="T:LC.Google.Protobuf.InvalidJsonException">The JSON does not comply with RFC 7159</exception>
+            <exception cref="T:LC.Google.Protobuf.InvalidProtocolBufferException">The JSON does not represent a Protocol Buffers message correctly</exception>
+        </member>
+        <member name="M:LC.Google.Protobuf.MessageParser.WithDiscardUnknownFields(System.Boolean)">
+            <summary>
+            Creates a new message parser which optionally discards unknown fields when parsing.
+            </summary>
+            <param name="discardUnknownFields">Whether or not to discard unknown fields when parsing.</param>
+            <returns>A newly configured message parser.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.MessageParser.WithExtensionRegistry(LC.Google.Protobuf.ExtensionRegistry)">
+            <summary>
+            Creates a new message parser which registers extensions from the specified registry upon creating the message instance
+            </summary>
+            <param name="registry">The extensions to register</param>
+            <returns>A newly configured message parser.</returns>
+        </member>
+        <member name="T:LC.Google.Protobuf.MessageParser`1">
+            <summary>
+            A parser for a specific message type.
+            </summary>
+            <remarks>
+            <p>
+            This delegates most behavior to the
+            <see cref="M:LC.Google.Protobuf.IMessage.MergeFrom(LC.Google.Protobuf.CodedInputStream)"/> implementation within the original type, but
+            provides convenient overloads to parse from a variety of sources.
+            </p>
+            <p>
+            Most applications will never need to create their own instances of this type;
+            instead, use the static <c>Parser</c> property of a generated message type to obtain a
+            parser for that type.
+            </p>
+            </remarks>
+            <typeparam name="T">The type of message to be parsed.</typeparam>
+        </member>
+        <member name="M:LC.Google.Protobuf.MessageParser`1.#ctor(System.Func{`0})">
+            <summary>
+            Creates a new parser.
+            </summary>
+            <remarks>
+            The factory method is effectively an optimization over using a generic constraint
+            to require a parameterless constructor: delegates are significantly faster to execute.
+            </remarks>
+            <param name="factory">Function to invoke when a new, empty message is required.</param>
+        </member>
+        <member name="M:LC.Google.Protobuf.MessageParser`1.CreateTemplate">
+            <summary>
+            Creates a template instance ready for population.
+            </summary>
+            <returns>An empty message.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.MessageParser`1.ParseFrom(System.Byte[])">
+            <summary>
+            Parses a message from a byte array.
+            </summary>
+            <param name="data">The byte array containing the message. Must not be null.</param>
+            <returns>The newly parsed message.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.MessageParser`1.ParseFrom(System.Byte[],System.Int32,System.Int32)">
+            <summary>
+            Parses a message from a byte array slice.
+            </summary>
+            <param name="data">The byte array containing the message. Must not be null.</param>
+            <param name="offset">The offset of the slice to parse.</param>
+            <param name="length">The length of the slice to parse.</param>
+            <returns>The newly parsed message.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.MessageParser`1.ParseFrom(LC.Google.Protobuf.ByteString)">
+            <summary>
+            Parses a message from the given byte string.
+            </summary>
+            <param name="data">The data to parse.</param>
+            <returns>The parsed message.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.MessageParser`1.ParseFrom(System.IO.Stream)">
+            <summary>
+            Parses a message from the given stream.
+            </summary>
+            <param name="input">The stream to parse.</param>
+            <returns>The parsed message.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.MessageParser`1.ParseDelimitedFrom(System.IO.Stream)">
+            <summary>
+            Parses a length-delimited message from the given stream.
+            </summary>
+            <remarks>
+            The stream is expected to contain a length and then the data. Only the amount of data
+            specified by the length will be consumed.
+            </remarks>
+            <param name="input">The stream to parse.</param>
+            <returns>The parsed message.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.MessageParser`1.ParseFrom(LC.Google.Protobuf.CodedInputStream)">
+            <summary>
+            Parses a message from the given coded input stream.
+            </summary>
+            <param name="input">The stream to parse.</param>
+            <returns>The parsed message.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.MessageParser`1.ParseJson(System.String)">
+            <summary>
+            Parses a message from the given JSON.
+            </summary>
+            <param name="json">The JSON to parse.</param>
+            <returns>The parsed message.</returns>
+            <exception cref="T:LC.Google.Protobuf.InvalidJsonException">The JSON does not comply with RFC 7159</exception>
+            <exception cref="T:LC.Google.Protobuf.InvalidProtocolBufferException">The JSON does not represent a Protocol Buffers message correctly</exception>
+        </member>
+        <member name="M:LC.Google.Protobuf.MessageParser`1.WithDiscardUnknownFields(System.Boolean)">
+            <summary>
+            Creates a new message parser which optionally discards unknown fields when parsing.
+            </summary>
+            <param name="discardUnknownFields">Whether or not to discard unknown fields when parsing.</param>
+            <returns>A newly configured message parser.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.MessageParser`1.WithExtensionRegistry(LC.Google.Protobuf.ExtensionRegistry)">
+            <summary>
+            Creates a new message parser which registers extensions from the specified registry upon creating the message instance
+            </summary>
+            <param name="registry">The extensions to register</param>
+            <returns>A newly configured message parser.</returns>
+        </member>
+        <member name="T:LC.Google.Protobuf.ObjectIntPair`1">
+            <summary>
+            Struct used to hold the keys for the fieldByNumber table in DescriptorPool and the keys for the 
+            extensionByNumber table in ExtensionRegistry.
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.ProtoPreconditions">
+            <summary>
+            Helper methods for throwing exceptions when preconditions are not met.
+            </summary>
+            <remarks>
+            This class is used internally and by generated code; it is not particularly
+            expected to be used from application code, although nothing prevents it
+            from being used that way.
+            </remarks>
+        </member>
+        <member name="M:LC.Google.Protobuf.ProtoPreconditions.CheckNotNull``1(``0,System.String)">
+            <summary>
+            Throws an ArgumentNullException if the given value is null, otherwise
+            return the value to the caller.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.ProtoPreconditions.CheckNotNullUnconstrained``1(``0,System.String)">
+            <summary>
+            Throws an ArgumentNullException if the given value is null, otherwise
+            return the value to the caller.
+            </summary>
+            <remarks>
+            This is equivalent to <see cref="M:LC.Google.Protobuf.ProtoPreconditions.CheckNotNull``1(``0,System.String)"/> but without the type parameter
+            constraint. In most cases, the constraint is useful to prevent you from calling CheckNotNull
+            with a value type - but it gets in the way if either you want to use it with a nullable
+            value type, or you want to use it with an unconstrained type parameter.
+            </remarks>
+        </member>
+        <member name="T:LC.Google.Protobuf.Reflection.CustomOptions">
+            <summary>
+            Container for a set of custom options specified within a message, field etc.
+            </summary>
+            <remarks>
+            <para>
+            This type is publicly immutable, but internally mutable. It is only populated
+            by the descriptor parsing code - by the time any user code is able to see an instance,
+            it will be fully initialized.
+            </para>
+            <para>
+            If an option is requested using the incorrect method, an answer may still be returned: all
+            of the numeric types are represented internally using 64-bit integers, for example. It is up to
+            the caller to ensure that they make the appropriate method call for the option they're interested in.
+            Note that enum options are simply stored as integers, so the value should be fetched using
+            <see cref="M:LC.Google.Protobuf.Reflection.CustomOptions.TryGetInt32(System.Int32,System.Int32@)"/> and then cast appropriately.
+            </para>
+            <para>
+            Repeated options are currently not supported. Asking for a single value of an option
+            which was actually repeated will return the last value, except for message types where
+            all the set values are merged together.
+            </para>
+            </remarks>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.CustomOptions.TryGetBool(System.Int32,System.Boolean@)">
+            <summary>
+            Retrieves a Boolean value for the specified option field.
+            </summary>
+            <param name="field">The field to fetch the value for.</param>
+            <param name="value">The output variable to populate.</param>
+            <returns><c>true</c> if a suitable value for the field was found; <c>false</c> otherwise.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.CustomOptions.TryGetInt32(System.Int32,System.Int32@)">
+            <summary>
+            Retrieves a signed 32-bit integer value for the specified option field.
+            </summary>
+            <param name="field">The field to fetch the value for.</param>
+            <param name="value">The output variable to populate.</param>
+            <returns><c>true</c> if a suitable value for the field was found; <c>false</c> otherwise.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.CustomOptions.TryGetInt64(System.Int32,System.Int64@)">
+            <summary>
+            Retrieves a signed 64-bit integer value for the specified option field.
+            </summary>
+            <param name="field">The field to fetch the value for.</param>
+            <param name="value">The output variable to populate.</param>
+            <returns><c>true</c> if a suitable value for the field was found; <c>false</c> otherwise.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.CustomOptions.TryGetFixed32(System.Int32,System.UInt32@)">
+            <summary>
+            Retrieves an unsigned 32-bit integer value for the specified option field,
+            assuming a fixed-length representation.
+            </summary>
+            <param name="field">The field to fetch the value for.</param>
+            <param name="value">The output variable to populate.</param>
+            <returns><c>true</c> if a suitable value for the field was found; <c>false</c> otherwise.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.CustomOptions.TryGetFixed64(System.Int32,System.UInt64@)">
+            <summary>
+            Retrieves an unsigned 64-bit integer value for the specified option field,
+            assuming a fixed-length representation.
+            </summary>
+            <param name="field">The field to fetch the value for.</param>
+            <param name="value">The output variable to populate.</param>
+            <returns><c>true</c> if a suitable value for the field was found; <c>false</c> otherwise.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.CustomOptions.TryGetSFixed32(System.Int32,System.Int32@)">
+            <summary>
+            Retrieves a signed 32-bit integer value for the specified option field,
+            assuming a fixed-length representation.
+            </summary>
+            <param name="field">The field to fetch the value for.</param>
+            <param name="value">The output variable to populate.</param>
+            <returns><c>true</c> if a suitable value for the field was found; <c>false</c> otherwise.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.CustomOptions.TryGetSFixed64(System.Int32,System.Int64@)">
+            <summary>
+            Retrieves a signed 64-bit integer value for the specified option field,
+            assuming a fixed-length representation.
+            </summary>
+            <param name="field">The field to fetch the value for.</param>
+            <param name="value">The output variable to populate.</param>
+            <returns><c>true</c> if a suitable value for the field was found; <c>false</c> otherwise.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.CustomOptions.TryGetSInt32(System.Int32,System.Int32@)">
+            <summary>
+            Retrieves a signed 32-bit integer value for the specified option field,
+            assuming a zigzag encoding.
+            </summary>
+            <param name="field">The field to fetch the value for.</param>
+            <param name="value">The output variable to populate.</param>
+            <returns><c>true</c> if a suitable value for the field was found; <c>false</c> otherwise.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.CustomOptions.TryGetSInt64(System.Int32,System.Int64@)">
+            <summary>
+            Retrieves a signed 64-bit integer value for the specified option field,
+            assuming a zigzag encoding.
+            </summary>
+            <param name="field">The field to fetch the value for.</param>
+            <param name="value">The output variable to populate.</param>
+            <returns><c>true</c> if a suitable value for the field was found; <c>false</c> otherwise.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.CustomOptions.TryGetUInt32(System.Int32,System.UInt32@)">
+            <summary>
+            Retrieves an unsigned 32-bit integer value for the specified option field.
+            </summary>
+            <param name="field">The field to fetch the value for.</param>
+            <param name="value">The output variable to populate.</param>
+            <returns><c>true</c> if a suitable value for the field was found; <c>false</c> otherwise.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.CustomOptions.TryGetUInt64(System.Int32,System.UInt64@)">
+            <summary>
+            Retrieves an unsigned 64-bit integer value for the specified option field.
+            </summary>
+            <param name="field">The field to fetch the value for.</param>
+            <param name="value">The output variable to populate.</param>
+            <returns><c>true</c> if a suitable value for the field was found; <c>false</c> otherwise.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.CustomOptions.TryGetFloat(System.Int32,System.Single@)">
+            <summary>
+            Retrieves a 32-bit floating point value for the specified option field.
+            </summary>
+            <param name="field">The field to fetch the value for.</param>
+            <param name="value">The output variable to populate.</param>
+            <returns><c>true</c> if a suitable value for the field was found; <c>false</c> otherwise.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.CustomOptions.TryGetDouble(System.Int32,System.Double@)">
+            <summary>
+            Retrieves a 64-bit floating point value for the specified option field.
+            </summary>
+            <param name="field">The field to fetch the value for.</param>
+            <param name="value">The output variable to populate.</param>
+            <returns><c>true</c> if a suitable value for the field was found; <c>false</c> otherwise.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.CustomOptions.TryGetString(System.Int32,System.String@)">
+            <summary>
+            Retrieves a string value for the specified option field.
+            </summary>
+            <param name="field">The field to fetch the value for.</param>
+            <param name="value">The output variable to populate.</param>
+            <returns><c>true</c> if a suitable value for the field was found; <c>false</c> otherwise.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.CustomOptions.TryGetBytes(System.Int32,LC.Google.Protobuf.ByteString@)">
+            <summary>
+            Retrieves a bytes value for the specified option field.
+            </summary>
+            <param name="field">The field to fetch the value for.</param>
+            <param name="value">The output variable to populate.</param>
+            <returns><c>true</c> if a suitable value for the field was found; <c>false</c> otherwise.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.CustomOptions.TryGetMessage``1(System.Int32,``0@)">
+            <summary>
+            Retrieves a message value for the specified option field.
+            </summary>
+            <param name="field">The field to fetch the value for.</param>
+            <param name="value">The output variable to populate.</param>
+            <returns><c>true</c> if a suitable value for the field was found; <c>false</c> otherwise.</returns>
+        </member>
+        <member name="T:LC.Google.Protobuf.Reflection.DescriptorReflection">
+            <summary>Holder for reflection information generated from google/protobuf/descriptor.proto</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.DescriptorReflection.Descriptor">
+            <summary>File descriptor for google/protobuf/descriptor.proto</summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.Reflection.FileDescriptorSet">
+            <summary>
+            The protocol compiler can output a FileDescriptorSet containing the .proto
+            files it parses.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FileDescriptorSet.FileFieldNumber">
+            <summary>Field number for the "file" field.</summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.Reflection.FileDescriptorProto">
+            <summary>
+            Describes a complete .proto file.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FileDescriptorProto.NameFieldNumber">
+            <summary>Field number for the "name" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FileDescriptorProto.Name">
+            <summary>
+            file name, relative to root of source tree
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FileDescriptorProto.HasName">
+            <summary>Gets whether the "name" field is set</summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.FileDescriptorProto.ClearName">
+            <summary>Clears the value of the "name" field</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FileDescriptorProto.PackageFieldNumber">
+            <summary>Field number for the "package" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FileDescriptorProto.Package">
+            <summary>
+            e.g. "foo", "foo.bar", etc.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FileDescriptorProto.HasPackage">
+            <summary>Gets whether the "package" field is set</summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.FileDescriptorProto.ClearPackage">
+            <summary>Clears the value of the "package" field</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FileDescriptorProto.DependencyFieldNumber">
+            <summary>Field number for the "dependency" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FileDescriptorProto.Dependency">
+            <summary>
+            Names of files imported by this file.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FileDescriptorProto.PublicDependencyFieldNumber">
+            <summary>Field number for the "public_dependency" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FileDescriptorProto.PublicDependency">
+            <summary>
+            Indexes of the public imported files in the dependency list above.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FileDescriptorProto.WeakDependencyFieldNumber">
+            <summary>Field number for the "weak_dependency" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FileDescriptorProto.WeakDependency">
+            <summary>
+            Indexes of the weak imported files in the dependency list.
+            For Google-internal migration only. Do not use.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FileDescriptorProto.MessageTypeFieldNumber">
+            <summary>Field number for the "message_type" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FileDescriptorProto.MessageType">
+            <summary>
+            All top-level definitions in this file.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FileDescriptorProto.EnumTypeFieldNumber">
+            <summary>Field number for the "enum_type" field.</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FileDescriptorProto.ServiceFieldNumber">
+            <summary>Field number for the "service" field.</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FileDescriptorProto.ExtensionFieldNumber">
+            <summary>Field number for the "extension" field.</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FileDescriptorProto.OptionsFieldNumber">
+            <summary>Field number for the "options" field.</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FileDescriptorProto.SourceCodeInfoFieldNumber">
+            <summary>Field number for the "source_code_info" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FileDescriptorProto.SourceCodeInfo">
+            <summary>
+            This field contains optional information about the original source code.
+            You may safely remove this entire field without harming runtime
+            functionality of the descriptors -- the information is needed only by
+            development tools.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FileDescriptorProto.SyntaxFieldNumber">
+            <summary>Field number for the "syntax" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FileDescriptorProto.Syntax">
+            <summary>
+            The syntax of the proto file.
+            The supported values are "proto2" and "proto3".
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FileDescriptorProto.HasSyntax">
+            <summary>Gets whether the "syntax" field is set</summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.FileDescriptorProto.ClearSyntax">
+            <summary>Clears the value of the "syntax" field</summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.Reflection.DescriptorProto">
+            <summary>
+            Describes a message type.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.DescriptorProto.NameFieldNumber">
+            <summary>Field number for the "name" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.DescriptorProto.HasName">
+            <summary>Gets whether the "name" field is set</summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.DescriptorProto.ClearName">
+            <summary>Clears the value of the "name" field</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.DescriptorProto.FieldFieldNumber">
+            <summary>Field number for the "field" field.</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.DescriptorProto.ExtensionFieldNumber">
+            <summary>Field number for the "extension" field.</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.DescriptorProto.NestedTypeFieldNumber">
+            <summary>Field number for the "nested_type" field.</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.DescriptorProto.EnumTypeFieldNumber">
+            <summary>Field number for the "enum_type" field.</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.DescriptorProto.ExtensionRangeFieldNumber">
+            <summary>Field number for the "extension_range" field.</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.DescriptorProto.OneofDeclFieldNumber">
+            <summary>Field number for the "oneof_decl" field.</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.DescriptorProto.OptionsFieldNumber">
+            <summary>Field number for the "options" field.</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.DescriptorProto.ReservedRangeFieldNumber">
+            <summary>Field number for the "reserved_range" field.</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.DescriptorProto.ReservedNameFieldNumber">
+            <summary>Field number for the "reserved_name" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.DescriptorProto.ReservedName">
+            <summary>
+            Reserved field names, which may not be used by fields in the same message.
+            A given name may only be reserved once.
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.Reflection.DescriptorProto.Types">
+            <summary>Container for nested types declared in the DescriptorProto message type.</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.DescriptorProto.Types.ExtensionRange.StartFieldNumber">
+            <summary>Field number for the "start" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.DescriptorProto.Types.ExtensionRange.Start">
+            <summary>
+            Inclusive.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.DescriptorProto.Types.ExtensionRange.HasStart">
+            <summary>Gets whether the "start" field is set</summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.DescriptorProto.Types.ExtensionRange.ClearStart">
+            <summary>Clears the value of the "start" field</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.DescriptorProto.Types.ExtensionRange.EndFieldNumber">
+            <summary>Field number for the "end" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.DescriptorProto.Types.ExtensionRange.End">
+            <summary>
+            Exclusive.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.DescriptorProto.Types.ExtensionRange.HasEnd">
+            <summary>Gets whether the "end" field is set</summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.DescriptorProto.Types.ExtensionRange.ClearEnd">
+            <summary>Clears the value of the "end" field</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.DescriptorProto.Types.ExtensionRange.OptionsFieldNumber">
+            <summary>Field number for the "options" field.</summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.Reflection.DescriptorProto.Types.ReservedRange">
+            <summary>
+            Range of reserved tag numbers. Reserved tag numbers may not be used by
+            fields or extension ranges in the same message. Reserved ranges may
+            not overlap.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.DescriptorProto.Types.ReservedRange.StartFieldNumber">
+            <summary>Field number for the "start" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.DescriptorProto.Types.ReservedRange.Start">
+            <summary>
+            Inclusive.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.DescriptorProto.Types.ReservedRange.HasStart">
+            <summary>Gets whether the "start" field is set</summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.DescriptorProto.Types.ReservedRange.ClearStart">
+            <summary>Clears the value of the "start" field</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.DescriptorProto.Types.ReservedRange.EndFieldNumber">
+            <summary>Field number for the "end" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.DescriptorProto.Types.ReservedRange.End">
+            <summary>
+            Exclusive.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.DescriptorProto.Types.ReservedRange.HasEnd">
+            <summary>Gets whether the "end" field is set</summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.DescriptorProto.Types.ReservedRange.ClearEnd">
+            <summary>Clears the value of the "end" field</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.ExtensionRangeOptions.UninterpretedOptionFieldNumber">
+            <summary>Field number for the "uninterpreted_option" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.ExtensionRangeOptions.UninterpretedOption">
+            <summary>
+            The parser stores options it doesn't recognize here. See above.
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.Reflection.FieldDescriptorProto">
+            <summary>
+            Describes a field within a message.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FieldDescriptorProto.NameFieldNumber">
+            <summary>Field number for the "name" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FieldDescriptorProto.HasName">
+            <summary>Gets whether the "name" field is set</summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.FieldDescriptorProto.ClearName">
+            <summary>Clears the value of the "name" field</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FieldDescriptorProto.NumberFieldNumber">
+            <summary>Field number for the "number" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FieldDescriptorProto.HasNumber">
+            <summary>Gets whether the "number" field is set</summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.FieldDescriptorProto.ClearNumber">
+            <summary>Clears the value of the "number" field</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FieldDescriptorProto.LabelFieldNumber">
+            <summary>Field number for the "label" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FieldDescriptorProto.HasLabel">
+            <summary>Gets whether the "label" field is set</summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.FieldDescriptorProto.ClearLabel">
+            <summary>Clears the value of the "label" field</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FieldDescriptorProto.TypeFieldNumber">
+            <summary>Field number for the "type" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FieldDescriptorProto.Type">
+            <summary>
+            If type_name is set, this need not be set.  If both this and type_name
+            are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FieldDescriptorProto.HasType">
+            <summary>Gets whether the "type" field is set</summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.FieldDescriptorProto.ClearType">
+            <summary>Clears the value of the "type" field</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FieldDescriptorProto.TypeNameFieldNumber">
+            <summary>Field number for the "type_name" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FieldDescriptorProto.TypeName">
+            <summary>
+            For message and enum types, this is the name of the type.  If the name
+            starts with a '.', it is fully-qualified.  Otherwise, C++-like scoping
+            rules are used to find the type (i.e. first the nested types within this
+            message are searched, then within the parent, on up to the root
+            namespace).
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FieldDescriptorProto.HasTypeName">
+            <summary>Gets whether the "type_name" field is set</summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.FieldDescriptorProto.ClearTypeName">
+            <summary>Clears the value of the "type_name" field</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FieldDescriptorProto.ExtendeeFieldNumber">
+            <summary>Field number for the "extendee" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FieldDescriptorProto.Extendee">
+            <summary>
+            For extensions, this is the name of the type being extended.  It is
+            resolved in the same manner as type_name.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FieldDescriptorProto.HasExtendee">
+            <summary>Gets whether the "extendee" field is set</summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.FieldDescriptorProto.ClearExtendee">
+            <summary>Clears the value of the "extendee" field</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FieldDescriptorProto.DefaultValueFieldNumber">
+            <summary>Field number for the "default_value" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FieldDescriptorProto.DefaultValue">
+            <summary>
+            For numeric types, contains the original text representation of the value.
+            For booleans, "true" or "false".
+            For strings, contains the default text contents (not escaped in any way).
+            For bytes, contains the C escaped value.  All bytes >= 128 are escaped.
+            TODO(kenton):  Base-64 encode?
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FieldDescriptorProto.HasDefaultValue">
+            <summary>Gets whether the "default_value" field is set</summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.FieldDescriptorProto.ClearDefaultValue">
+            <summary>Clears the value of the "default_value" field</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FieldDescriptorProto.OneofIndexFieldNumber">
+            <summary>Field number for the "oneof_index" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FieldDescriptorProto.OneofIndex">
+            <summary>
+            If set, gives the index of a oneof in the containing type's oneof_decl
+            list.  This field is a member of that oneof.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FieldDescriptorProto.HasOneofIndex">
+            <summary>Gets whether the "oneof_index" field is set</summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.FieldDescriptorProto.ClearOneofIndex">
+            <summary>Clears the value of the "oneof_index" field</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FieldDescriptorProto.JsonNameFieldNumber">
+            <summary>Field number for the "json_name" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FieldDescriptorProto.JsonName">
+            <summary>
+            JSON name of this field. The value is set by protocol compiler. If the
+            user has set a "json_name" option on this field, that option's value
+            will be used. Otherwise, it's deduced from the field's name by converting
+            it to camelCase.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FieldDescriptorProto.HasJsonName">
+            <summary>Gets whether the "json_name" field is set</summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.FieldDescriptorProto.ClearJsonName">
+            <summary>Clears the value of the "json_name" field</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FieldDescriptorProto.OptionsFieldNumber">
+            <summary>Field number for the "options" field.</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FieldDescriptorProto.Proto3OptionalFieldNumber">
+            <summary>Field number for the "proto3_optional" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FieldDescriptorProto.Proto3Optional">
+             <summary>
+             If true, this is a proto3 "optional". When a proto3 field is optional, it
+             tracks presence regardless of field type.
+            
+             When proto3_optional is true, this field must be belong to a oneof to
+             signal to old proto3 clients that presence is tracked for this field. This
+             oneof is known as a "synthetic" oneof, and this field must be its sole
+             member (each proto3 optional field gets its own synthetic oneof). Synthetic
+             oneofs exist in the descriptor only, and do not generate any API. Synthetic
+             oneofs must be ordered after all "real" oneofs.
+            
+             For message fields, proto3_optional doesn't create any semantic change,
+             since non-repeated message fields always track presence. However it still
+             indicates the semantic detail of whether the user wrote "optional" or not.
+             This can be useful for round-tripping the .proto file. For consistency we
+             give message fields a synthetic oneof also, even though it is not required
+             to track presence. This is especially important because the parser can't
+             tell if a field is a message or an enum, so it must always create a
+             synthetic oneof.
+            
+             Proto2 optional fields do not set this flag, because they already indicate
+             optional with `LABEL_OPTIONAL`.
+             </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FieldDescriptorProto.HasProto3Optional">
+            <summary>Gets whether the "proto3_optional" field is set</summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.FieldDescriptorProto.ClearProto3Optional">
+            <summary>Clears the value of the "proto3_optional" field</summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.Reflection.FieldDescriptorProto.Types">
+            <summary>Container for nested types declared in the FieldDescriptorProto message type.</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FieldDescriptorProto.Types.Type.Double">
+            <summary>
+            0 is reserved for errors.
+            Order is weird for historical reasons.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FieldDescriptorProto.Types.Type.Int64">
+            <summary>
+            Not ZigZag encoded.  Negative numbers take 10 bytes.  Use TYPE_SINT64 if
+            negative values are likely.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FieldDescriptorProto.Types.Type.Int32">
+            <summary>
+            Not ZigZag encoded.  Negative numbers take 10 bytes.  Use TYPE_SINT32 if
+            negative values are likely.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FieldDescriptorProto.Types.Type.Group">
+            <summary>
+            Tag-delimited aggregate.
+            Group type is deprecated and not supported in proto3. However, Proto3
+            implementations should still be able to parse the group wire format and
+            treat group fields as unknown fields.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FieldDescriptorProto.Types.Type.Message">
+            <summary>
+            Length-delimited aggregate.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FieldDescriptorProto.Types.Type.Bytes">
+            <summary>
+            New in version 2.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FieldDescriptorProto.Types.Type.Sint32">
+            <summary>
+            Uses ZigZag encoding.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FieldDescriptorProto.Types.Type.Sint64">
+            <summary>
+            Uses ZigZag encoding.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FieldDescriptorProto.Types.Label.Optional">
+            <summary>
+            0 is reserved for errors
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.Reflection.OneofDescriptorProto">
+            <summary>
+            Describes a oneof.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.OneofDescriptorProto.NameFieldNumber">
+            <summary>Field number for the "name" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.OneofDescriptorProto.HasName">
+            <summary>Gets whether the "name" field is set</summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.OneofDescriptorProto.ClearName">
+            <summary>Clears the value of the "name" field</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.OneofDescriptorProto.OptionsFieldNumber">
+            <summary>Field number for the "options" field.</summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.Reflection.EnumDescriptorProto">
+            <summary>
+            Describes an enum type.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.EnumDescriptorProto.NameFieldNumber">
+            <summary>Field number for the "name" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.EnumDescriptorProto.HasName">
+            <summary>Gets whether the "name" field is set</summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.EnumDescriptorProto.ClearName">
+            <summary>Clears the value of the "name" field</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.EnumDescriptorProto.ValueFieldNumber">
+            <summary>Field number for the "value" field.</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.EnumDescriptorProto.OptionsFieldNumber">
+            <summary>Field number for the "options" field.</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.EnumDescriptorProto.ReservedRangeFieldNumber">
+            <summary>Field number for the "reserved_range" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.EnumDescriptorProto.ReservedRange">
+            <summary>
+            Range of reserved numeric values. Reserved numeric values may not be used
+            by enum values in the same enum declaration. Reserved ranges may not
+            overlap.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.EnumDescriptorProto.ReservedNameFieldNumber">
+            <summary>Field number for the "reserved_name" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.EnumDescriptorProto.ReservedName">
+            <summary>
+            Reserved enum value names, which may not be reused. A given name may only
+            be reserved once.
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.Reflection.EnumDescriptorProto.Types">
+            <summary>Container for nested types declared in the EnumDescriptorProto message type.</summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.Reflection.EnumDescriptorProto.Types.EnumReservedRange">
+             <summary>
+             Range of reserved numeric values. Reserved values may not be used by
+             entries in the same enum. Reserved ranges may not overlap.
+            
+             Note that this is distinct from DescriptorProto.ReservedRange in that it
+             is inclusive such that it can appropriately represent the entire int32
+             domain.
+             </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.EnumDescriptorProto.Types.EnumReservedRange.StartFieldNumber">
+            <summary>Field number for the "start" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.EnumDescriptorProto.Types.EnumReservedRange.Start">
+            <summary>
+            Inclusive.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.EnumDescriptorProto.Types.EnumReservedRange.HasStart">
+            <summary>Gets whether the "start" field is set</summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.EnumDescriptorProto.Types.EnumReservedRange.ClearStart">
+            <summary>Clears the value of the "start" field</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.EnumDescriptorProto.Types.EnumReservedRange.EndFieldNumber">
+            <summary>Field number for the "end" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.EnumDescriptorProto.Types.EnumReservedRange.End">
+            <summary>
+            Inclusive.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.EnumDescriptorProto.Types.EnumReservedRange.HasEnd">
+            <summary>Gets whether the "end" field is set</summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.EnumDescriptorProto.Types.EnumReservedRange.ClearEnd">
+            <summary>Clears the value of the "end" field</summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.Reflection.EnumValueDescriptorProto">
+            <summary>
+            Describes a value within an enum.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.EnumValueDescriptorProto.NameFieldNumber">
+            <summary>Field number for the "name" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.EnumValueDescriptorProto.HasName">
+            <summary>Gets whether the "name" field is set</summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.EnumValueDescriptorProto.ClearName">
+            <summary>Clears the value of the "name" field</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.EnumValueDescriptorProto.NumberFieldNumber">
+            <summary>Field number for the "number" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.EnumValueDescriptorProto.HasNumber">
+            <summary>Gets whether the "number" field is set</summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.EnumValueDescriptorProto.ClearNumber">
+            <summary>Clears the value of the "number" field</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.EnumValueDescriptorProto.OptionsFieldNumber">
+            <summary>Field number for the "options" field.</summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.Reflection.ServiceDescriptorProto">
+            <summary>
+            Describes a service.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.ServiceDescriptorProto.NameFieldNumber">
+            <summary>Field number for the "name" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.ServiceDescriptorProto.HasName">
+            <summary>Gets whether the "name" field is set</summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.ServiceDescriptorProto.ClearName">
+            <summary>Clears the value of the "name" field</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.ServiceDescriptorProto.MethodFieldNumber">
+            <summary>Field number for the "method" field.</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.ServiceDescriptorProto.OptionsFieldNumber">
+            <summary>Field number for the "options" field.</summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.Reflection.MethodDescriptorProto">
+            <summary>
+            Describes a method of a service.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.MethodDescriptorProto.NameFieldNumber">
+            <summary>Field number for the "name" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.MethodDescriptorProto.HasName">
+            <summary>Gets whether the "name" field is set</summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.MethodDescriptorProto.ClearName">
+            <summary>Clears the value of the "name" field</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.MethodDescriptorProto.InputTypeFieldNumber">
+            <summary>Field number for the "input_type" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.MethodDescriptorProto.InputType">
+            <summary>
+            Input and output type names.  These are resolved in the same way as
+            FieldDescriptorProto.type_name, but must refer to a message type.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.MethodDescriptorProto.HasInputType">
+            <summary>Gets whether the "input_type" field is set</summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.MethodDescriptorProto.ClearInputType">
+            <summary>Clears the value of the "input_type" field</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.MethodDescriptorProto.OutputTypeFieldNumber">
+            <summary>Field number for the "output_type" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.MethodDescriptorProto.HasOutputType">
+            <summary>Gets whether the "output_type" field is set</summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.MethodDescriptorProto.ClearOutputType">
+            <summary>Clears the value of the "output_type" field</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.MethodDescriptorProto.OptionsFieldNumber">
+            <summary>Field number for the "options" field.</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.MethodDescriptorProto.ClientStreamingFieldNumber">
+            <summary>Field number for the "client_streaming" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.MethodDescriptorProto.ClientStreaming">
+            <summary>
+            Identifies if client streams multiple client messages
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.MethodDescriptorProto.HasClientStreaming">
+            <summary>Gets whether the "client_streaming" field is set</summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.MethodDescriptorProto.ClearClientStreaming">
+            <summary>Clears the value of the "client_streaming" field</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.MethodDescriptorProto.ServerStreamingFieldNumber">
+            <summary>Field number for the "server_streaming" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.MethodDescriptorProto.ServerStreaming">
+            <summary>
+            Identifies if server streams multiple server messages
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.MethodDescriptorProto.HasServerStreaming">
+            <summary>Gets whether the "server_streaming" field is set</summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.MethodDescriptorProto.ClearServerStreaming">
+            <summary>Clears the value of the "server_streaming" field</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FileOptions.JavaPackageFieldNumber">
+            <summary>Field number for the "java_package" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FileOptions.JavaPackage">
+            <summary>
+            Sets the Java package where classes generated from this .proto will be
+            placed.  By default, the proto package is used, but this is often
+            inappropriate because proto packages do not normally start with backwards
+            domain names.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FileOptions.HasJavaPackage">
+            <summary>Gets whether the "java_package" field is set</summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.FileOptions.ClearJavaPackage">
+            <summary>Clears the value of the "java_package" field</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FileOptions.JavaOuterClassnameFieldNumber">
+            <summary>Field number for the "java_outer_classname" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FileOptions.JavaOuterClassname">
+            <summary>
+            If set, all the classes from the .proto file are wrapped in a single
+            outer class with the given name.  This applies to both Proto1
+            (equivalent to the old "--one_java_file" option) and Proto2 (where
+            a .proto always translates to a single class, but you may want to
+            explicitly choose the class name).
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FileOptions.HasJavaOuterClassname">
+            <summary>Gets whether the "java_outer_classname" field is set</summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.FileOptions.ClearJavaOuterClassname">
+            <summary>Clears the value of the "java_outer_classname" field</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FileOptions.JavaMultipleFilesFieldNumber">
+            <summary>Field number for the "java_multiple_files" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FileOptions.JavaMultipleFiles">
+            <summary>
+            If set true, then the Java code generator will generate a separate .java
+            file for each top-level message, enum, and service defined in the .proto
+            file.  Thus, these types will *not* be nested inside the outer class
+            named by java_outer_classname.  However, the outer class will still be
+            generated to contain the file's getDescriptor() method as well as any
+            top-level extensions defined in the file.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FileOptions.HasJavaMultipleFiles">
+            <summary>Gets whether the "java_multiple_files" field is set</summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.FileOptions.ClearJavaMultipleFiles">
+            <summary>Clears the value of the "java_multiple_files" field</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FileOptions.JavaGenerateEqualsAndHashFieldNumber">
+            <summary>Field number for the "java_generate_equals_and_hash" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FileOptions.JavaGenerateEqualsAndHash">
+            <summary>
+            This option does nothing.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FileOptions.HasJavaGenerateEqualsAndHash">
+            <summary>Gets whether the "java_generate_equals_and_hash" field is set</summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.FileOptions.ClearJavaGenerateEqualsAndHash">
+            <summary>Clears the value of the "java_generate_equals_and_hash" field</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FileOptions.JavaStringCheckUtf8FieldNumber">
+            <summary>Field number for the "java_string_check_utf8" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FileOptions.JavaStringCheckUtf8">
+            <summary>
+            If set true, then the Java2 code generator will generate code that
+            throws an exception whenever an attempt is made to assign a non-UTF-8
+            byte sequence to a string field.
+            Message reflection will do the same.
+            However, an extension field still accepts non-UTF-8 byte sequences.
+            This option has no effect on when used with the lite runtime.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FileOptions.HasJavaStringCheckUtf8">
+            <summary>Gets whether the "java_string_check_utf8" field is set</summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.FileOptions.ClearJavaStringCheckUtf8">
+            <summary>Clears the value of the "java_string_check_utf8" field</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FileOptions.OptimizeForFieldNumber">
+            <summary>Field number for the "optimize_for" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FileOptions.HasOptimizeFor">
+            <summary>Gets whether the "optimize_for" field is set</summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.FileOptions.ClearOptimizeFor">
+            <summary>Clears the value of the "optimize_for" field</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FileOptions.GoPackageFieldNumber">
+            <summary>Field number for the "go_package" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FileOptions.GoPackage">
+            <summary>
+            Sets the Go package where structs generated from this .proto will be
+            placed. If omitted, the Go package will be derived from the following:
+              - The basename of the package import path, if provided.
+              - Otherwise, the package statement in the .proto file, if present.
+              - Otherwise, the basename of the .proto file, without extension.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FileOptions.HasGoPackage">
+            <summary>Gets whether the "go_package" field is set</summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.FileOptions.ClearGoPackage">
+            <summary>Clears the value of the "go_package" field</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FileOptions.CcGenericServicesFieldNumber">
+            <summary>Field number for the "cc_generic_services" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FileOptions.CcGenericServices">
+             <summary>
+             Should generic services be generated in each language?  "Generic" services
+             are not specific to any particular RPC system.  They are generated by the
+             main code generators in each language (without additional plugins).
+             Generic services were the only kind of service generation supported by
+             early versions of google.protobuf.
+            
+             Generic services are now considered deprecated in favor of using plugins
+             that generate code specific to your particular RPC system.  Therefore,
+             these default to false.  Old code which depends on generic services should
+             explicitly set them to true.
+             </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FileOptions.HasCcGenericServices">
+            <summary>Gets whether the "cc_generic_services" field is set</summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.FileOptions.ClearCcGenericServices">
+            <summary>Clears the value of the "cc_generic_services" field</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FileOptions.JavaGenericServicesFieldNumber">
+            <summary>Field number for the "java_generic_services" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FileOptions.HasJavaGenericServices">
+            <summary>Gets whether the "java_generic_services" field is set</summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.FileOptions.ClearJavaGenericServices">
+            <summary>Clears the value of the "java_generic_services" field</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FileOptions.PyGenericServicesFieldNumber">
+            <summary>Field number for the "py_generic_services" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FileOptions.HasPyGenericServices">
+            <summary>Gets whether the "py_generic_services" field is set</summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.FileOptions.ClearPyGenericServices">
+            <summary>Clears the value of the "py_generic_services" field</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FileOptions.PhpGenericServicesFieldNumber">
+            <summary>Field number for the "php_generic_services" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FileOptions.HasPhpGenericServices">
+            <summary>Gets whether the "php_generic_services" field is set</summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.FileOptions.ClearPhpGenericServices">
+            <summary>Clears the value of the "php_generic_services" field</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FileOptions.DeprecatedFieldNumber">
+            <summary>Field number for the "deprecated" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FileOptions.Deprecated">
+            <summary>
+            Is this file deprecated?
+            Depending on the target platform, this can emit Deprecated annotations
+            for everything in the file, or it will be completely ignored; in the very
+            least, this is a formalization for deprecating files.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FileOptions.HasDeprecated">
+            <summary>Gets whether the "deprecated" field is set</summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.FileOptions.ClearDeprecated">
+            <summary>Clears the value of the "deprecated" field</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FileOptions.CcEnableArenasFieldNumber">
+            <summary>Field number for the "cc_enable_arenas" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FileOptions.CcEnableArenas">
+            <summary>
+            Enables the use of arenas for the proto messages in this file. This applies
+            only to generated classes for C++.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FileOptions.HasCcEnableArenas">
+            <summary>Gets whether the "cc_enable_arenas" field is set</summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.FileOptions.ClearCcEnableArenas">
+            <summary>Clears the value of the "cc_enable_arenas" field</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FileOptions.ObjcClassPrefixFieldNumber">
+            <summary>Field number for the "objc_class_prefix" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FileOptions.ObjcClassPrefix">
+            <summary>
+            Sets the objective c class prefix which is prepended to all objective c
+            generated classes from this .proto. There is no default.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FileOptions.HasObjcClassPrefix">
+            <summary>Gets whether the "objc_class_prefix" field is set</summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.FileOptions.ClearObjcClassPrefix">
+            <summary>Clears the value of the "objc_class_prefix" field</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FileOptions.CsharpNamespaceFieldNumber">
+            <summary>Field number for the "csharp_namespace" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FileOptions.CsharpNamespace">
+            <summary>
+            Namespace for generated classes; defaults to the package.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FileOptions.HasCsharpNamespace">
+            <summary>Gets whether the "csharp_namespace" field is set</summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.FileOptions.ClearCsharpNamespace">
+            <summary>Clears the value of the "csharp_namespace" field</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FileOptions.SwiftPrefixFieldNumber">
+            <summary>Field number for the "swift_prefix" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FileOptions.SwiftPrefix">
+            <summary>
+            By default Swift generators will take the proto package and CamelCase it
+            replacing '.' with underscore and use that to prefix the types/symbols
+            defined. When this options is provided, they will use this value instead
+            to prefix the types/symbols defined.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FileOptions.HasSwiftPrefix">
+            <summary>Gets whether the "swift_prefix" field is set</summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.FileOptions.ClearSwiftPrefix">
+            <summary>Clears the value of the "swift_prefix" field</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FileOptions.PhpClassPrefixFieldNumber">
+            <summary>Field number for the "php_class_prefix" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FileOptions.PhpClassPrefix">
+            <summary>
+            Sets the php class prefix which is prepended to all php generated classes
+            from this .proto. Default is empty.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FileOptions.HasPhpClassPrefix">
+            <summary>Gets whether the "php_class_prefix" field is set</summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.FileOptions.ClearPhpClassPrefix">
+            <summary>Clears the value of the "php_class_prefix" field</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FileOptions.PhpNamespaceFieldNumber">
+            <summary>Field number for the "php_namespace" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FileOptions.PhpNamespace">
+            <summary>
+            Use this option to change the namespace of php generated classes. Default
+            is empty. When this option is empty, the package name will be used for
+            determining the namespace.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FileOptions.HasPhpNamespace">
+            <summary>Gets whether the "php_namespace" field is set</summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.FileOptions.ClearPhpNamespace">
+            <summary>Clears the value of the "php_namespace" field</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FileOptions.PhpMetadataNamespaceFieldNumber">
+            <summary>Field number for the "php_metadata_namespace" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FileOptions.PhpMetadataNamespace">
+            <summary>
+            Use this option to change the namespace of php generated metadata classes.
+            Default is empty. When this option is empty, the proto file name will be
+            used for determining the namespace.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FileOptions.HasPhpMetadataNamespace">
+            <summary>Gets whether the "php_metadata_namespace" field is set</summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.FileOptions.ClearPhpMetadataNamespace">
+            <summary>Clears the value of the "php_metadata_namespace" field</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FileOptions.RubyPackageFieldNumber">
+            <summary>Field number for the "ruby_package" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FileOptions.RubyPackage">
+            <summary>
+            Use this option to change the package of ruby generated classes. Default
+            is empty. When this option is not set, the package name will be used for
+            determining the ruby package.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FileOptions.HasRubyPackage">
+            <summary>Gets whether the "ruby_package" field is set</summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.FileOptions.ClearRubyPackage">
+            <summary>Clears the value of the "ruby_package" field</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FileOptions.UninterpretedOptionFieldNumber">
+            <summary>Field number for the "uninterpreted_option" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FileOptions.UninterpretedOption">
+            <summary>
+            The parser stores options it doesn't recognize here.
+            See the documentation for the "Options" section above.
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.Reflection.FileOptions.Types">
+            <summary>Container for nested types declared in the FileOptions message type.</summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.Reflection.FileOptions.Types.OptimizeMode">
+            <summary>
+            Generated classes can be optimized for speed or code size.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FileOptions.Types.OptimizeMode.Speed">
+            <summary>
+            Generate complete code for parsing, serialization,
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FileOptions.Types.OptimizeMode.CodeSize">
+            <summary>
+            etc.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FileOptions.Types.OptimizeMode.LiteRuntime">
+            <summary>
+            Generate code using MessageLite and the lite runtime.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.MessageOptions.MessageSetWireFormatFieldNumber">
+            <summary>Field number for the "message_set_wire_format" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.MessageOptions.MessageSetWireFormat">
+             <summary>
+             Set true to use the old proto1 MessageSet wire format for extensions.
+             This is provided for backwards-compatibility with the MessageSet wire
+             format.  You should not use this for any other reason:  It's less
+             efficient, has fewer features, and is more complicated.
+            
+             The message must be defined exactly as follows:
+               message Foo {
+                 option message_set_wire_format = true;
+                 extensions 4 to max;
+               }
+             Note that the message cannot have any defined fields; MessageSets only
+             have extensions.
+            
+             All extensions of your type must be singular messages; e.g. they cannot
+             be int32s, enums, or repeated messages.
+            
+             Because this is an option, the above two restrictions are not enforced by
+             the protocol compiler.
+             </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.MessageOptions.HasMessageSetWireFormat">
+            <summary>Gets whether the "message_set_wire_format" field is set</summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.MessageOptions.ClearMessageSetWireFormat">
+            <summary>Clears the value of the "message_set_wire_format" field</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.MessageOptions.NoStandardDescriptorAccessorFieldNumber">
+            <summary>Field number for the "no_standard_descriptor_accessor" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.MessageOptions.NoStandardDescriptorAccessor">
+            <summary>
+            Disables the generation of the standard "descriptor()" accessor, which can
+            conflict with a field of the same name.  This is meant to make migration
+            from proto1 easier; new code should avoid fields named "descriptor".
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.MessageOptions.HasNoStandardDescriptorAccessor">
+            <summary>Gets whether the "no_standard_descriptor_accessor" field is set</summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.MessageOptions.ClearNoStandardDescriptorAccessor">
+            <summary>Clears the value of the "no_standard_descriptor_accessor" field</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.MessageOptions.DeprecatedFieldNumber">
+            <summary>Field number for the "deprecated" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.MessageOptions.Deprecated">
+            <summary>
+            Is this message deprecated?
+            Depending on the target platform, this can emit Deprecated annotations
+            for the message, or it will be completely ignored; in the very least,
+            this is a formalization for deprecating messages.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.MessageOptions.HasDeprecated">
+            <summary>Gets whether the "deprecated" field is set</summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.MessageOptions.ClearDeprecated">
+            <summary>Clears the value of the "deprecated" field</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.MessageOptions.MapEntryFieldNumber">
+            <summary>Field number for the "map_entry" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.MessageOptions.MapEntry">
+             <summary>
+             Whether the message is an automatically generated map entry type for the
+             maps field.
+            
+             For maps fields:
+                 map&lt;KeyType, ValueType> map_field = 1;
+             The parsed descriptor looks like:
+                 message MapFieldEntry {
+                     option map_entry = true;
+                     optional KeyType key = 1;
+                     optional ValueType value = 2;
+                 }
+                 repeated MapFieldEntry map_field = 1;
+            
+             Implementations may choose not to generate the map_entry=true message, but
+             use a native map in the target language to hold the keys and values.
+             The reflection APIs in such implementations still need to work as
+             if the field is a repeated message field.
+            
+             NOTE: Do not set the option in .proto files. Always use the maps syntax
+             instead. The option should only be implicitly set by the proto compiler
+             parser.
+             </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.MessageOptions.HasMapEntry">
+            <summary>Gets whether the "map_entry" field is set</summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.MessageOptions.ClearMapEntry">
+            <summary>Clears the value of the "map_entry" field</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.MessageOptions.UninterpretedOptionFieldNumber">
+            <summary>Field number for the "uninterpreted_option" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.MessageOptions.UninterpretedOption">
+            <summary>
+            The parser stores options it doesn't recognize here. See above.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FieldOptions.CtypeFieldNumber">
+            <summary>Field number for the "ctype" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FieldOptions.Ctype">
+            <summary>
+            The ctype option instructs the C++ code generator to use a different
+            representation of the field than it normally would.  See the specific
+            options below.  This option is not yet implemented in the open source
+            release -- sorry, we'll try to include it in a future version!
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FieldOptions.HasCtype">
+            <summary>Gets whether the "ctype" field is set</summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.FieldOptions.ClearCtype">
+            <summary>Clears the value of the "ctype" field</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FieldOptions.PackedFieldNumber">
+            <summary>Field number for the "packed" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FieldOptions.Packed">
+            <summary>
+            The packed option can be enabled for repeated primitive fields to enable
+            a more efficient representation on the wire. Rather than repeatedly
+            writing the tag and type for each element, the entire array is encoded as
+            a single length-delimited blob. In proto3, only explicit setting it to
+            false will avoid using packed encoding.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FieldOptions.HasPacked">
+            <summary>Gets whether the "packed" field is set</summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.FieldOptions.ClearPacked">
+            <summary>Clears the value of the "packed" field</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FieldOptions.JstypeFieldNumber">
+            <summary>Field number for the "jstype" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FieldOptions.Jstype">
+             <summary>
+             The jstype option determines the JavaScript type used for values of the
+             field.  The option is permitted only for 64 bit integral and fixed types
+             (int64, uint64, sint64, fixed64, sfixed64).  A field with jstype JS_STRING
+             is represented as JavaScript string, which avoids loss of precision that
+             can happen when a large value is converted to a floating point JavaScript.
+             Specifying JS_NUMBER for the jstype causes the generated JavaScript code to
+             use the JavaScript "number" type.  The behavior of the default option
+             JS_NORMAL is implementation dependent.
+            
+             This option is an enum to permit additional types to be added, e.g.
+             goog.math.Integer.
+             </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FieldOptions.HasJstype">
+            <summary>Gets whether the "jstype" field is set</summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.FieldOptions.ClearJstype">
+            <summary>Clears the value of the "jstype" field</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FieldOptions.LazyFieldNumber">
+            <summary>Field number for the "lazy" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FieldOptions.Lazy">
+             <summary>
+             Should this field be parsed lazily?  Lazy applies only to message-type
+             fields.  It means that when the outer message is initially parsed, the
+             inner message's contents will not be parsed but instead stored in encoded
+             form.  The inner message will actually be parsed when it is first accessed.
+            
+             This is only a hint.  Implementations are free to choose whether to use
+             eager or lazy parsing regardless of the value of this option.  However,
+             setting this option true suggests that the protocol author believes that
+             using lazy parsing on this field is worth the additional bookkeeping
+             overhead typically needed to implement it.
+            
+             This option does not affect the public interface of any generated code;
+             all method signatures remain the same.  Furthermore, thread-safety of the
+             interface is not affected by this option; const methods remain safe to
+             call from multiple threads concurrently, while non-const methods continue
+             to require exclusive access.
+            
+             Note that implementations may choose not to check required fields within
+             a lazy sub-message.  That is, calling IsInitialized() on the outer message
+             may return true even if the inner message has missing required fields.
+             This is necessary because otherwise the inner message would have to be
+             parsed in order to perform the check, defeating the purpose of lazy
+             parsing.  An implementation which chooses not to check required fields
+             must be consistent about it.  That is, for any particular sub-message, the
+             implementation must either *always* check its required fields, or *never*
+             check its required fields, regardless of whether or not the message has
+             been parsed.
+             </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FieldOptions.HasLazy">
+            <summary>Gets whether the "lazy" field is set</summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.FieldOptions.ClearLazy">
+            <summary>Clears the value of the "lazy" field</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FieldOptions.DeprecatedFieldNumber">
+            <summary>Field number for the "deprecated" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FieldOptions.Deprecated">
+            <summary>
+            Is this field deprecated?
+            Depending on the target platform, this can emit Deprecated annotations
+            for accessors, or it will be completely ignored; in the very least, this
+            is a formalization for deprecating fields.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FieldOptions.HasDeprecated">
+            <summary>Gets whether the "deprecated" field is set</summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.FieldOptions.ClearDeprecated">
+            <summary>Clears the value of the "deprecated" field</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FieldOptions.WeakFieldNumber">
+            <summary>Field number for the "weak" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FieldOptions.Weak">
+            <summary>
+            For Google-internal migration only. Do not use.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FieldOptions.HasWeak">
+            <summary>Gets whether the "weak" field is set</summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.FieldOptions.ClearWeak">
+            <summary>Clears the value of the "weak" field</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FieldOptions.UninterpretedOptionFieldNumber">
+            <summary>Field number for the "uninterpreted_option" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FieldOptions.UninterpretedOption">
+            <summary>
+            The parser stores options it doesn't recognize here. See above.
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.Reflection.FieldOptions.Types">
+            <summary>Container for nested types declared in the FieldOptions message type.</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FieldOptions.Types.CType.String">
+            <summary>
+            Default mode.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FieldOptions.Types.JSType.JsNormal">
+            <summary>
+            Use the default type.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FieldOptions.Types.JSType.JsString">
+            <summary>
+            Use JavaScript strings.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FieldOptions.Types.JSType.JsNumber">
+            <summary>
+            Use JavaScript numbers.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.OneofOptions.UninterpretedOptionFieldNumber">
+            <summary>Field number for the "uninterpreted_option" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.OneofOptions.UninterpretedOption">
+            <summary>
+            The parser stores options it doesn't recognize here. See above.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.EnumOptions.AllowAliasFieldNumber">
+            <summary>Field number for the "allow_alias" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.EnumOptions.AllowAlias">
+            <summary>
+            Set this option to true to allow mapping different tag names to the same
+            value.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.EnumOptions.HasAllowAlias">
+            <summary>Gets whether the "allow_alias" field is set</summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.EnumOptions.ClearAllowAlias">
+            <summary>Clears the value of the "allow_alias" field</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.EnumOptions.DeprecatedFieldNumber">
+            <summary>Field number for the "deprecated" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.EnumOptions.Deprecated">
+            <summary>
+            Is this enum deprecated?
+            Depending on the target platform, this can emit Deprecated annotations
+            for the enum, or it will be completely ignored; in the very least, this
+            is a formalization for deprecating enums.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.EnumOptions.HasDeprecated">
+            <summary>Gets whether the "deprecated" field is set</summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.EnumOptions.ClearDeprecated">
+            <summary>Clears the value of the "deprecated" field</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.EnumOptions.UninterpretedOptionFieldNumber">
+            <summary>Field number for the "uninterpreted_option" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.EnumOptions.UninterpretedOption">
+            <summary>
+            The parser stores options it doesn't recognize here. See above.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.EnumValueOptions.DeprecatedFieldNumber">
+            <summary>Field number for the "deprecated" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.EnumValueOptions.Deprecated">
+            <summary>
+            Is this enum value deprecated?
+            Depending on the target platform, this can emit Deprecated annotations
+            for the enum value, or it will be completely ignored; in the very least,
+            this is a formalization for deprecating enum values.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.EnumValueOptions.HasDeprecated">
+            <summary>Gets whether the "deprecated" field is set</summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.EnumValueOptions.ClearDeprecated">
+            <summary>Clears the value of the "deprecated" field</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.EnumValueOptions.UninterpretedOptionFieldNumber">
+            <summary>Field number for the "uninterpreted_option" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.EnumValueOptions.UninterpretedOption">
+            <summary>
+            The parser stores options it doesn't recognize here. See above.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.ServiceOptions.DeprecatedFieldNumber">
+            <summary>Field number for the "deprecated" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.ServiceOptions.Deprecated">
+            <summary>
+            Is this service deprecated?
+            Depending on the target platform, this can emit Deprecated annotations
+            for the service, or it will be completely ignored; in the very least,
+            this is a formalization for deprecating services.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.ServiceOptions.HasDeprecated">
+            <summary>Gets whether the "deprecated" field is set</summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.ServiceOptions.ClearDeprecated">
+            <summary>Clears the value of the "deprecated" field</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.ServiceOptions.UninterpretedOptionFieldNumber">
+            <summary>Field number for the "uninterpreted_option" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.ServiceOptions.UninterpretedOption">
+            <summary>
+            The parser stores options it doesn't recognize here. See above.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.MethodOptions.DeprecatedFieldNumber">
+            <summary>Field number for the "deprecated" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.MethodOptions.Deprecated">
+            <summary>
+            Is this method deprecated?
+            Depending on the target platform, this can emit Deprecated annotations
+            for the method, or it will be completely ignored; in the very least,
+            this is a formalization for deprecating methods.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.MethodOptions.HasDeprecated">
+            <summary>Gets whether the "deprecated" field is set</summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.MethodOptions.ClearDeprecated">
+            <summary>Clears the value of the "deprecated" field</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.MethodOptions.IdempotencyLevelFieldNumber">
+            <summary>Field number for the "idempotency_level" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.MethodOptions.HasIdempotencyLevel">
+            <summary>Gets whether the "idempotency_level" field is set</summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.MethodOptions.ClearIdempotencyLevel">
+            <summary>Clears the value of the "idempotency_level" field</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.MethodOptions.UninterpretedOptionFieldNumber">
+            <summary>Field number for the "uninterpreted_option" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.MethodOptions.UninterpretedOption">
+            <summary>
+            The parser stores options it doesn't recognize here. See above.
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.Reflection.MethodOptions.Types">
+            <summary>Container for nested types declared in the MethodOptions message type.</summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.Reflection.MethodOptions.Types.IdempotencyLevel">
+            <summary>
+            Is this method side-effect-free (or safe in HTTP parlance), or idempotent,
+            or neither? HTTP based RPC implementation may choose GET verb for safe
+            methods, and PUT verb for idempotent methods instead of the default POST.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.MethodOptions.Types.IdempotencyLevel.NoSideEffects">
+            <summary>
+            implies idempotent
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.MethodOptions.Types.IdempotencyLevel.Idempotent">
+            <summary>
+            idempotent, but may have side effects
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.Reflection.UninterpretedOption">
+            <summary>
+            A message representing a option the parser does not recognize. This only
+            appears in options protos created by the compiler::Parser class.
+            DescriptorPool resolves these when building Descriptor objects. Therefore,
+            options protos in descriptor objects (e.g. returned by Descriptor::options(),
+            or produced by Descriptor::CopyTo()) will never have UninterpretedOptions
+            in them.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.UninterpretedOption.NameFieldNumber">
+            <summary>Field number for the "name" field.</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.UninterpretedOption.IdentifierValueFieldNumber">
+            <summary>Field number for the "identifier_value" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.UninterpretedOption.IdentifierValue">
+            <summary>
+            The value of the uninterpreted option, in whatever type the tokenizer
+            identified it as during parsing. Exactly one of these should be set.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.UninterpretedOption.HasIdentifierValue">
+            <summary>Gets whether the "identifier_value" field is set</summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.UninterpretedOption.ClearIdentifierValue">
+            <summary>Clears the value of the "identifier_value" field</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.UninterpretedOption.PositiveIntValueFieldNumber">
+            <summary>Field number for the "positive_int_value" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.UninterpretedOption.HasPositiveIntValue">
+            <summary>Gets whether the "positive_int_value" field is set</summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.UninterpretedOption.ClearPositiveIntValue">
+            <summary>Clears the value of the "positive_int_value" field</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.UninterpretedOption.NegativeIntValueFieldNumber">
+            <summary>Field number for the "negative_int_value" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.UninterpretedOption.HasNegativeIntValue">
+            <summary>Gets whether the "negative_int_value" field is set</summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.UninterpretedOption.ClearNegativeIntValue">
+            <summary>Clears the value of the "negative_int_value" field</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.UninterpretedOption.DoubleValueFieldNumber">
+            <summary>Field number for the "double_value" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.UninterpretedOption.HasDoubleValue">
+            <summary>Gets whether the "double_value" field is set</summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.UninterpretedOption.ClearDoubleValue">
+            <summary>Clears the value of the "double_value" field</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.UninterpretedOption.StringValueFieldNumber">
+            <summary>Field number for the "string_value" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.UninterpretedOption.HasStringValue">
+            <summary>Gets whether the "string_value" field is set</summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.UninterpretedOption.ClearStringValue">
+            <summary>Clears the value of the "string_value" field</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.UninterpretedOption.AggregateValueFieldNumber">
+            <summary>Field number for the "aggregate_value" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.UninterpretedOption.HasAggregateValue">
+            <summary>Gets whether the "aggregate_value" field is set</summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.UninterpretedOption.ClearAggregateValue">
+            <summary>Clears the value of the "aggregate_value" field</summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.Reflection.UninterpretedOption.Types">
+            <summary>Container for nested types declared in the UninterpretedOption message type.</summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.Reflection.UninterpretedOption.Types.NamePart">
+            <summary>
+            The name of the uninterpreted option.  Each string represents a segment in
+            a dot-separated name.  is_extension is true iff a segment represents an
+            extension (denoted with parentheses in options specs in .proto files).
+            E.g.,{ ["foo", false], ["bar.baz", true], ["qux", false] } represents
+            "foo.(bar.baz).qux".
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.UninterpretedOption.Types.NamePart.NamePart_FieldNumber">
+            <summary>Field number for the "name_part" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.UninterpretedOption.Types.NamePart.HasNamePart_">
+            <summary>Gets whether the "name_part" field is set</summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.UninterpretedOption.Types.NamePart.ClearNamePart_">
+            <summary>Clears the value of the "name_part" field</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.UninterpretedOption.Types.NamePart.IsExtensionFieldNumber">
+            <summary>Field number for the "is_extension" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.UninterpretedOption.Types.NamePart.HasIsExtension">
+            <summary>Gets whether the "is_extension" field is set</summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.UninterpretedOption.Types.NamePart.ClearIsExtension">
+            <summary>Clears the value of the "is_extension" field</summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.Reflection.SourceCodeInfo">
+            <summary>
+            Encapsulates information about the original source file from which a
+            FileDescriptorProto was generated.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.SourceCodeInfo.LocationFieldNumber">
+            <summary>Field number for the "location" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.SourceCodeInfo.Location">
+             <summary>
+             A Location identifies a piece of source code in a .proto file which
+             corresponds to a particular definition.  This information is intended
+             to be useful to IDEs, code indexers, documentation generators, and similar
+             tools.
+            
+             For example, say we have a file like:
+               message Foo {
+                 optional string foo = 1;
+               }
+             Let's look at just the field definition:
+               optional string foo = 1;
+               ^       ^^     ^^  ^  ^^^
+               a       bc     de  f  ghi
+             We have the following locations:
+               span   path               represents
+               [a,i)  [ 4, 0, 2, 0 ]     The whole field definition.
+               [a,b)  [ 4, 0, 2, 0, 4 ]  The label (optional).
+               [c,d)  [ 4, 0, 2, 0, 5 ]  The type (string).
+               [e,f)  [ 4, 0, 2, 0, 1 ]  The name (foo).
+               [g,h)  [ 4, 0, 2, 0, 3 ]  The number (1).
+            
+             Notes:
+             - A location may refer to a repeated field itself (i.e. not to any
+               particular index within it).  This is used whenever a set of elements are
+               logically enclosed in a single code segment.  For example, an entire
+               extend block (possibly containing multiple extension definitions) will
+               have an outer location whose path refers to the "extensions" repeated
+               field without an index.
+             - Multiple locations may have the same path.  This happens when a single
+               logical declaration is spread out across multiple places.  The most
+               obvious example is the "extend" block again -- there may be multiple
+               extend blocks in the same scope, each of which will have the same path.
+             - A location's span is not always a subset of its parent's span.  For
+               example, the "extendee" of an extension declaration appears at the
+               beginning of the "extend" block and is shared by all extensions within
+               the block.
+             - Just because a location's span is a subset of some other location's span
+               does not mean that it is a descendant.  For example, a "group" defines
+               both a type and a field in a single declaration.  Thus, the locations
+               corresponding to the type and field and their components will overlap.
+             - Code which tries to interpret locations should probably be designed to
+               ignore those that it doesn't understand, as more types of locations could
+               be recorded in the future.
+             </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.Reflection.SourceCodeInfo.Types">
+            <summary>Container for nested types declared in the SourceCodeInfo message type.</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.SourceCodeInfo.Types.Location.PathFieldNumber">
+            <summary>Field number for the "path" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.SourceCodeInfo.Types.Location.Path">
+             <summary>
+             Identifies which part of the FileDescriptorProto was defined at this
+             location.
+            
+             Each element is a field number or an index.  They form a path from
+             the root FileDescriptorProto to the place where the definition.  For
+             example, this path:
+               [ 4, 3, 2, 7, 1 ]
+             refers to:
+               file.message_type(3)  // 4, 3
+                   .field(7)         // 2, 7
+                   .name()           // 1
+             This is because FileDescriptorProto.message_type has field number 4:
+               repeated DescriptorProto message_type = 4;
+             and DescriptorProto.field has field number 2:
+               repeated FieldDescriptorProto field = 2;
+             and FieldDescriptorProto.name has field number 1:
+               optional string name = 1;
+            
+             Thus, the above path gives the location of a field name.  If we removed
+             the last element:
+               [ 4, 3, 2, 7 ]
+             this path refers to the whole field declaration (from the beginning
+             of the label to the terminating semicolon).
+             </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.SourceCodeInfo.Types.Location.SpanFieldNumber">
+            <summary>Field number for the "span" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.SourceCodeInfo.Types.Location.Span">
+            <summary>
+            Always has exactly three or four elements: start line, start column,
+            end line (optional, otherwise assumed same as start line), end column.
+            These are packed into a single field for efficiency.  Note that line
+            and column numbers are zero-based -- typically you will want to add
+            1 to each before displaying to a user.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.SourceCodeInfo.Types.Location.LeadingCommentsFieldNumber">
+            <summary>Field number for the "leading_comments" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.SourceCodeInfo.Types.Location.LeadingComments">
+             <summary>
+             If this SourceCodeInfo represents a complete declaration, these are any
+             comments appearing before and after the declaration which appear to be
+             attached to the declaration.
+            
+             A series of line comments appearing on consecutive lines, with no other
+             tokens appearing on those lines, will be treated as a single comment.
+            
+             leading_detached_comments will keep paragraphs of comments that appear
+             before (but not connected to) the current element. Each paragraph,
+             separated by empty lines, will be one comment element in the repeated
+             field.
+            
+             Only the comment content is provided; comment markers (e.g. //) are
+             stripped out.  For block comments, leading whitespace and an asterisk
+             will be stripped from the beginning of each line other than the first.
+             Newlines are included in the output.
+            
+             Examples:
+            
+               optional int32 foo = 1;  // Comment attached to foo.
+               // Comment attached to bar.
+               optional int32 bar = 2;
+            
+               optional string baz = 3;
+               // Comment attached to baz.
+               // Another line attached to baz.
+            
+               // Comment attached to qux.
+               //
+               // Another line attached to qux.
+               optional double qux = 4;
+            
+               // Detached comment for corge. This is not leading or trailing comments
+               // to qux or corge because there are blank lines separating it from
+               // both.
+            
+               // Detached comment for corge paragraph 2.
+            
+               optional string corge = 5;
+               /* Block comment attached
+                * to corge.  Leading asterisks
+                * will be removed. */
+               /* Block comment attached to
+                * grault. */
+               optional int32 grault = 6;
+            
+               // ignored detached comments.
+             </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.SourceCodeInfo.Types.Location.HasLeadingComments">
+            <summary>Gets whether the "leading_comments" field is set</summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.SourceCodeInfo.Types.Location.ClearLeadingComments">
+            <summary>Clears the value of the "leading_comments" field</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.SourceCodeInfo.Types.Location.TrailingCommentsFieldNumber">
+            <summary>Field number for the "trailing_comments" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.SourceCodeInfo.Types.Location.HasTrailingComments">
+            <summary>Gets whether the "trailing_comments" field is set</summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.SourceCodeInfo.Types.Location.ClearTrailingComments">
+            <summary>Clears the value of the "trailing_comments" field</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.SourceCodeInfo.Types.Location.LeadingDetachedCommentsFieldNumber">
+            <summary>Field number for the "leading_detached_comments" field.</summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.Reflection.GeneratedCodeInfo">
+            <summary>
+            Describes the relationship between generated code and its original source
+            file. A GeneratedCodeInfo message is associated with only one generated
+            source file, but may contain references to different source .proto files.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.GeneratedCodeInfo.AnnotationFieldNumber">
+            <summary>Field number for the "annotation" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.GeneratedCodeInfo.Annotation">
+            <summary>
+            An Annotation connects some span of text in generated code to an element
+            of its generating .proto file.
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.Reflection.GeneratedCodeInfo.Types">
+            <summary>Container for nested types declared in the GeneratedCodeInfo message type.</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.GeneratedCodeInfo.Types.Annotation.PathFieldNumber">
+            <summary>Field number for the "path" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.GeneratedCodeInfo.Types.Annotation.Path">
+            <summary>
+            Identifies the element in the original source .proto file. This field
+            is formatted the same as SourceCodeInfo.Location.path.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.GeneratedCodeInfo.Types.Annotation.SourceFileFieldNumber">
+            <summary>Field number for the "source_file" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.GeneratedCodeInfo.Types.Annotation.SourceFile">
+            <summary>
+            Identifies the filesystem path to the original source .proto.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.GeneratedCodeInfo.Types.Annotation.HasSourceFile">
+            <summary>Gets whether the "source_file" field is set</summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.GeneratedCodeInfo.Types.Annotation.ClearSourceFile">
+            <summary>Clears the value of the "source_file" field</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.GeneratedCodeInfo.Types.Annotation.BeginFieldNumber">
+            <summary>Field number for the "begin" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.GeneratedCodeInfo.Types.Annotation.Begin">
+            <summary>
+            Identifies the starting offset in bytes in the generated code
+            that relates to the identified object.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.GeneratedCodeInfo.Types.Annotation.HasBegin">
+            <summary>Gets whether the "begin" field is set</summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.GeneratedCodeInfo.Types.Annotation.ClearBegin">
+            <summary>Clears the value of the "begin" field</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.GeneratedCodeInfo.Types.Annotation.EndFieldNumber">
+            <summary>Field number for the "end" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.GeneratedCodeInfo.Types.Annotation.End">
+            <summary>
+            Identifies the ending offset in bytes in the generated code that
+            relates to the identified offset. The end offset should be one past
+            the last relevant byte (so the length of the text = end - begin).
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.GeneratedCodeInfo.Types.Annotation.HasEnd">
+            <summary>Gets whether the "end" field is set</summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.GeneratedCodeInfo.Types.Annotation.ClearEnd">
+            <summary>Clears the value of the "end" field</summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.Reflection.DescriptorBase">
+            <summary>
+            Base class for nearly all descriptors, providing common functionality.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.DescriptorBase.Index">
+            <value>
+            The index of this descriptor within its parent descriptor.
+            </value>
+            <remarks>
+            This returns the index of this descriptor within its parent, for
+            this descriptor's type. (There can be duplicate values for different
+            types, e.g. one enum type with index 0 and one message type with index 0.)
+            </remarks>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.DescriptorBase.Name">
+            <summary>
+            Returns the name of the entity (field, message etc) being described.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.DescriptorBase.FullName">
+            <summary>
+            The fully qualified name of the descriptor's target.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.DescriptorBase.File">
+            <value>
+            The file this descriptor was declared in.
+            </value>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.DescriptorBase.Declaration">
+            <summary>
+            The declaration information about the descriptor, or null if no declaration information
+            is available for this descriptor.
+            </summary>
+            <remarks>
+            This information is typically only available for dynamically loaded descriptors,
+            for example within a protoc plugin where the full descriptors, including source info,
+            are passed to the code by protoc.
+            </remarks>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.DescriptorBase.GetNestedDescriptorListForField(System.Int32)">
+            <summary>
+            Retrieves the list of nested descriptors corresponding to the given field number, if any.
+            If the field is unknown or not a nested descriptor list, return null to terminate the search.
+            The default implementation returns null.
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.Reflection.DescriptorDeclaration">
+            <summary>
+            Provides additional information about the declaration of a descriptor,
+            such as source location and comments.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.DescriptorDeclaration.Descriptor">
+            <summary>
+            The descriptor this declaration relates to.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.DescriptorDeclaration.StartLine">
+            <summary>
+            The start line of the declaration within the source file. This value is 1-based.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.DescriptorDeclaration.StartColumn">
+            <summary>
+            The start column of the declaration within the source file. This value is 1-based.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.DescriptorDeclaration.EndLine">
+            <summary>
+            // The end line of the declaration within the source file. This value is 1-based.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.DescriptorDeclaration.EndColumn">
+            <summary>
+            The end column of the declaration within the source file. This value is 1-based, and
+            exclusive. (The final character of the declaration is on the column before this value.)
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.DescriptorDeclaration.LeadingComments">
+            <summary>
+            Comments appearing before the declaration. Never null, but may be empty. Multi-line comments
+            are represented as a newline-separated string. Leading whitespace and the comment marker ("//")
+            are removed from each line.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.DescriptorDeclaration.TrailingComments">
+            <summary>
+            Comments appearing after the declaration. Never null, but may be empty. Multi-line comments
+            are represented as a newline-separated string. Leading whitespace and the comment marker ("//")
+            are removed from each line.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.DescriptorDeclaration.LeadingDetachedComments">
+            <summary>
+            Comments appearing before the declaration, but separated from it by blank
+            lines. Each string represents a newline-separated paragraph of comments.
+            Leading whitespace and the comment marker ("//") are removed from each line.
+            The list is never null, but may be empty. Likewise each element is never null, but may be empty.
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.Reflection.DescriptorPool">
+            <summary>
+            Contains lookup tables containing all the descriptors defined in a particular file.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.DescriptorPool.FindSymbol``1(System.String)">
+            <summary>
+            Finds a symbol of the given name within the pool.
+            </summary>
+            <typeparam name="T">The type of symbol to look for</typeparam>
+            <param name="fullName">Fully-qualified name to look up</param>
+            <returns>The symbol with the given name and type,
+            or null if the symbol doesn't exist or has the wrong type</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.DescriptorPool.AddPackage(System.String,LC.Google.Protobuf.Reflection.FileDescriptor)">
+            <summary>
+            Adds a package to the symbol tables. If a package by the same name
+            already exists, that is fine, but if some other kind of symbol
+            exists under the same name, an exception is thrown. If the package
+            has multiple components, this also adds the parent package(s).
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.DescriptorPool.AddSymbol(LC.Google.Protobuf.Reflection.IDescriptor)">
+            <summary>
+            Adds a symbol to the symbol table.
+            </summary>
+            <exception cref="T:LC.Google.Protobuf.Reflection.DescriptorValidationException">The symbol already existed
+            in the symbol table.</exception>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.DescriptorPool.ValidateSymbolName(LC.Google.Protobuf.Reflection.IDescriptor)">
+            <summary>
+            Verifies that the descriptor's name is valid (i.e. it contains
+            only letters, digits and underscores, and does not start with a digit).
+            </summary>
+            <param name="descriptor"></param>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.DescriptorPool.FindFieldByNumber(LC.Google.Protobuf.Reflection.MessageDescriptor,System.Int32)">
+            <summary>
+            Returns the field with the given number in the given descriptor,
+            or null if it can't be found.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.DescriptorPool.AddFieldByNumber(LC.Google.Protobuf.Reflection.FieldDescriptor)">
+            <summary>
+            Adds a field to the fieldsByNumber table.
+            </summary>
+            <exception cref="T:LC.Google.Protobuf.Reflection.DescriptorValidationException">A field with the same
+            containing type and number already exists.</exception>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.DescriptorPool.AddEnumValueByNumber(LC.Google.Protobuf.Reflection.EnumValueDescriptor)">
+            <summary>
+            Adds an enum value to the enumValuesByNumber table. If an enum value
+            with the same type and number already exists, this method does nothing.
+            (This is allowed; the first value defined with the number takes precedence.)
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.DescriptorPool.LookupSymbol(System.String,LC.Google.Protobuf.Reflection.IDescriptor)">
+            <summary>
+            Looks up a descriptor by name, relative to some other descriptor.
+            The name may be fully-qualified (with a leading '.'), partially-qualified,
+            or unqualified. C++-like name lookup semantics are used to search for the
+            matching descriptor.
+            </summary>
+            <remarks>
+            This isn't heavily optimized, but it's only used during cross linking anyway.
+            If it starts being used more widely, we should look at performance more carefully.
+            </remarks>
+        </member>
+        <member name="T:LC.Google.Protobuf.Reflection.DescriptorUtil">
+            <summary>
+            Internal class containing utility methods when working with descriptors.
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.Reflection.DescriptorUtil.IndexedConverter`2">
+            <summary>
+            Equivalent to Func[TInput, int, TOutput] but usable in .NET 2.0. Only used to convert
+            arrays.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.DescriptorUtil.ConvertAndMakeReadOnly``2(System.Collections.Generic.IList{``0},LC.Google.Protobuf.Reflection.DescriptorUtil.IndexedConverter{``0,``1})">
+            <summary>
+            Converts the given array into a read-only list, applying the specified conversion to
+            each input element.
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.Reflection.DescriptorValidationException">
+            <summary>
+            Thrown when building descriptors fails because the source DescriptorProtos
+            are not valid.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.DescriptorValidationException.ProblemSymbolName">
+            <value>
+            The full name of the descriptor where the error occurred.
+            </value>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.DescriptorValidationException.Description">
+            <value>
+            A human-readable description of the error. (The Message property
+            is made up of the descriptor's name and this description.)
+            </value>
+        </member>
+        <member name="T:LC.Google.Protobuf.Reflection.EnumDescriptor">
+            <summary>
+            Descriptor for an enum type in a .proto file.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.EnumDescriptor.Name">
+            <summary>
+            The brief name of the descriptor's target.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.EnumDescriptor.ClrType">
+            <summary>
+            The CLR type for this enum. For generated code, this will be a CLR enum type.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.EnumDescriptor.ContainingType">
+            <value>
+            If this is a nested type, get the outer descriptor, otherwise null.
+            </value>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.EnumDescriptor.Values">
+            <value>
+            An unmodifiable list of defined value descriptors for this enum.
+            </value>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.EnumDescriptor.FindValueByNumber(System.Int32)">
+            <summary>
+            Finds an enum value by number. If multiple enum values have the
+            same number, this returns the first defined value with that number.
+            If there is no value for the given number, this returns <c>null</c>.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.EnumDescriptor.FindValueByName(System.String)">
+            <summary>
+            Finds an enum value by name.
+            </summary>
+            <param name="name">The unqualified name of the value (e.g. "FOO").</param>
+            <returns>The value's descriptor, or null if not found.</returns>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.EnumDescriptor.CustomOptions">
+            <summary>
+            The (possibly empty) set of custom options for this enum.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.EnumDescriptor.GetOptions">
+            <summary>
+            The <c>EnumOptions</c>, defined in <c>descriptor.proto</c>.
+            If the options message is not present (i.e. there are no options), <c>null</c> is returned.
+            Custom options can be retrieved as extensions of the returned message.
+            NOTE: A defensive copy is created each time this property is retrieved.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.EnumDescriptor.GetOption``1(LC.Google.Protobuf.Extension{LC.Google.Protobuf.Reflection.EnumOptions,``0})">
+            <summary>
+            Gets a single value enum option for this descriptor
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.EnumDescriptor.GetOption``1(LC.Google.Protobuf.RepeatedExtension{LC.Google.Protobuf.Reflection.EnumOptions,``0})">
+            <summary>
+            Gets a repeated value enum option for this descriptor
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.Reflection.EnumValueDescriptor">
+            <summary>
+            Descriptor for a single enum value within an enum in a .proto file.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.EnumValueDescriptor.Name">
+            <summary>
+            Returns the name of the enum value described by this object.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.EnumValueDescriptor.Number">
+            <summary>
+            Returns the number associated with this enum value.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.EnumValueDescriptor.EnumDescriptor">
+            <summary>
+            Returns the enum descriptor that this value is part of.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.EnumValueDescriptor.CustomOptions">
+            <summary>
+            The (possibly empty) set of custom options for this enum value.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.EnumValueDescriptor.GetOptions">
+            <summary>
+            The <c>EnumValueOptions</c>, defined in <c>descriptor.proto</c>.
+            If the options message is not present (i.e. there are no options), <c>null</c> is returned.
+            Custom options can be retrieved as extensions of the returned message.
+            NOTE: A defensive copy is created each time this property is retrieved.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.EnumValueDescriptor.GetOption``1(LC.Google.Protobuf.Extension{LC.Google.Protobuf.Reflection.EnumValueOptions,``0})">
+            <summary>
+            Gets a single value enum value option for this descriptor
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.EnumValueDescriptor.GetOption``1(LC.Google.Protobuf.RepeatedExtension{LC.Google.Protobuf.Reflection.EnumValueOptions,``0})">
+            <summary>
+            Gets a repeated value enum value option for this descriptor
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.Reflection.ExtensionCollection">
+            <summary>
+            A collection to simplify retrieving the descriptors of extensions in a descriptor for a message
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.ExtensionCollection.UnorderedExtensions">
+            <summary>
+            Returns a readonly list of all the extensions defined in this type in 
+            the order they were defined in the source .proto file
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.ExtensionCollection.GetExtensionsInDeclarationOrder(LC.Google.Protobuf.Reflection.MessageDescriptor)">
+            <summary>
+            Returns a readonly list of all the extensions define in this type that extend 
+            the provided descriptor type in the order they were defined in the source .proto file
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.ExtensionCollection.GetExtensionsInNumberOrder(LC.Google.Protobuf.Reflection.MessageDescriptor)">
+            <summary>
+            Returns a readonly list of all the extensions define in this type that extend 
+            the provided descriptor type in accending field order
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.Reflection.FieldAccessorBase">
+            <summary>
+            Base class for field accessors.
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.Reflection.FieldDescriptor">
+            <summary>
+            Descriptor for a field or extension within a message in a .proto file.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FieldDescriptor.ContainingType">
+            <summary>
+            Get the field's containing message type, or <c>null</c> if it is a field defined at the top level of a file as an extension.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FieldDescriptor.ContainingOneof">
+            <summary>
+            Returns the oneof containing this field, or <c>null</c> if it is not part of a oneof.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FieldDescriptor.RealContainingOneof">
+            <summary>
+            Returns the oneof containing this field if it's a "real" oneof, or <c>null</c> if either this
+            field is not part of a oneof, or the oneof is synthetic.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FieldDescriptor.JsonName">
+            <summary>
+            The effective JSON name for this field. This is usually the lower-camel-cased form of the field name,
+            but can be overridden using the <c>json_name</c> option in the .proto file.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FieldDescriptor.HasPresence">
+            <summary>
+            Indicates whether this field supports presence, either implicitly (e.g. due to it being a message
+            type field) or explicitly via Has/Clear members. If this returns true, it is safe to call
+            <see cref="M:LC.Google.Protobuf.Reflection.IFieldAccessor.Clear(LC.Google.Protobuf.IMessage)"/> and <see cref="M:LC.Google.Protobuf.Reflection.IFieldAccessor.HasValue(LC.Google.Protobuf.IMessage)"/>
+            on this field's accessor with a suitable message.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FieldDescriptor.Extension">
+            <summary>
+            An extension identifier for this field, or <c>null</c> if this field isn't an extension.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FieldDescriptor.Name">
+            <summary>
+            The brief name of the descriptor's target.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FieldDescriptor.Accessor">
+            <summary>
+            Returns the accessor for this field.
+            </summary>
+            <remarks>
+            <para>
+            While a <see cref="T:LC.Google.Protobuf.Reflection.FieldDescriptor"/> describes the field, it does not provide
+            any way of obtaining or changing the value of the field within a specific message;
+            that is the responsibility of the accessor.
+            </para>
+            <para>
+            In descriptors for generated code, the value returned by this property will be non-null for all
+            regular fields. However, if a message containing a map field is introspected, the list of nested messages will include
+            an auto-generated nested key/value pair message for the field. This is not represented in any
+            generated type, and the value of the map field itself is represented by a dictionary in the
+            reflection API. There are never instances of those "hidden" messages, so no accessor is provided
+            and this property will return null.
+            </para>
+            <para>
+            In dynamically loaded descriptors, the value returned by this property will current be null;
+            if and when dynamic messages are supported, it will return a suitable accessor to work with
+            them.
+            </para>
+            </remarks>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.FieldDescriptor.GetFieldTypeFromProtoType(LC.Google.Protobuf.Reflection.FieldDescriptorProto.Types.Type)">
+            <summary>
+            Maps a field type as included in the .proto file to a FieldType.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FieldDescriptor.IsRepeated">
+            <summary>
+            Returns <c>true</c> if this field is a repeated field; <c>false</c> otherwise.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FieldDescriptor.IsRequired">
+            <summary>
+            Returns <c>true</c> if this field is a required field; <c>false</c> otherwise.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FieldDescriptor.IsMap">
+            <summary>
+            Returns <c>true</c> if this field is a map field; <c>false</c> otherwise.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FieldDescriptor.IsPacked">
+            <summary>
+            Returns <c>true</c> if this field is a packed, repeated field; <c>false</c> otherwise.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FieldDescriptor.IsExtension">
+            <summary>
+            Returns <c>true</c> if this field extends another message type; <c>false</c> otherwise.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FieldDescriptor.FieldType">
+            <summary>
+            Returns the type of the field.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FieldDescriptor.FieldNumber">
+            <summary>
+            Returns the field number declared in the proto file.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.FieldDescriptor.CompareTo(LC.Google.Protobuf.Reflection.FieldDescriptor)">
+            <summary>
+            Compares this descriptor with another one, ordering in "canonical" order
+            which simply means ascending order by field number. <paramref name="other"/>
+            must be a field of the same type, i.e. the <see cref="P:LC.Google.Protobuf.Reflection.FieldDescriptor.ContainingType"/> of
+            both fields must be the same.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FieldDescriptor.EnumType">
+            <summary>
+            For enum fields, returns the field's type.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FieldDescriptor.MessageType">
+            <summary>
+            For embedded message and group fields, returns the field's type.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FieldDescriptor.ExtendeeType">
+            <summary>
+            For extension fields, returns the extended type
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FieldDescriptor.CustomOptions">
+            <summary>
+            The (possibly empty) set of custom options for this field.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.FieldDescriptor.GetOptions">
+            <summary>
+            The <c>FieldOptions</c>, defined in <c>descriptor.proto</c>.
+            If the options message is not present (i.e. there are no options), <c>null</c> is returned.
+            Custom options can be retrieved as extensions of the returned message.
+            NOTE: A defensive copy is created each time this property is retrieved.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.FieldDescriptor.GetOption``1(LC.Google.Protobuf.Extension{LC.Google.Protobuf.Reflection.FieldOptions,``0})">
+            <summary>
+            Gets a single value field option for this descriptor
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.FieldDescriptor.GetOption``1(LC.Google.Protobuf.RepeatedExtension{LC.Google.Protobuf.Reflection.FieldOptions,``0})">
+            <summary>
+            Gets a repeated value field option for this descriptor
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.FieldDescriptor.CrossLink">
+            <summary>
+            Look up and cross-link all field types etc.
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.Reflection.FieldType">
+            <summary>
+            Enumeration of all the possible field types.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FieldType.Double">
+            <summary>
+            The <c>double</c> field type.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FieldType.Float">
+            <summary>
+            The <c>float</c> field type.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FieldType.Int64">
+            <summary>
+            The <c>int64</c> field type.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FieldType.UInt64">
+            <summary>
+            The <c>uint64</c> field type.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FieldType.Int32">
+            <summary>
+            The <c>int32</c> field type.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FieldType.Fixed64">
+            <summary>
+            The <c>fixed64</c> field type.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FieldType.Fixed32">
+            <summary>
+            The <c>fixed32</c> field type.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FieldType.Bool">
+            <summary>
+            The <c>bool</c> field type.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FieldType.String">
+            <summary>
+            The <c>string</c> field type.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FieldType.Group">
+            <summary>
+            The field type used for groups.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FieldType.Message">
+            <summary>
+            The field type used for message fields.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FieldType.Bytes">
+            <summary>
+            The <c>bytes</c> field type.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FieldType.UInt32">
+            <summary>
+            The <c>uint32</c> field type.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FieldType.SFixed32">
+            <summary>
+            The <c>sfixed32</c> field type.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FieldType.SFixed64">
+            <summary>
+            The <c>sfixed64</c> field type.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FieldType.SInt32">
+            <summary>
+            The <c>sint32</c> field type.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FieldType.SInt64">
+            <summary>
+            The <c>sint64</c> field type.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.FieldType.Enum">
+            <summary>
+            The field type used for enum fields.
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.Reflection.Syntax">
+            <summary>
+            The syntax of a .proto file
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.Syntax.Proto2">
+            <summary>
+            Proto2 syntax
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.Syntax.Proto3">
+            <summary>
+            Proto3 syntax
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.Syntax.Unknown">
+            <summary>
+            An unknown declared syntax
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.Reflection.FileDescriptor">
+            <summary>
+            Describes a .proto file, including everything defined within.
+            IDescriptor is implemented such that the File property returns this descriptor,
+            and the FullName is the same as the Name.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.FileDescriptor.ComputeFullName(LC.Google.Protobuf.Reflection.MessageDescriptor,System.String)">
+            <summary>
+            Computes the full name of a descriptor within this file, with an optional parent message.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.FileDescriptor.DeterminePublicDependencies(LC.Google.Protobuf.Reflection.FileDescriptor,LC.Google.Protobuf.Reflection.FileDescriptorProto,System.Collections.Generic.IEnumerable{LC.Google.Protobuf.Reflection.FileDescriptor},System.Boolean)">
+            <summary>
+            Extracts public dependencies from direct dependencies. This is a static method despite its
+            first parameter, as the value we're in the middle of constructing is only used for exceptions.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FileDescriptor.Proto">
+            <value>
+            The descriptor in its protocol message representation.
+            </value>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FileDescriptor.Syntax">
+            <summary>
+            The syntax of the file
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FileDescriptor.Name">
+            <value>
+            The file name.
+            </value>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FileDescriptor.Package">
+            <summary>
+            The package as declared in the .proto file. This may or may not
+            be equivalent to the .NET namespace of the generated classes.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FileDescriptor.MessageTypes">
+            <value>
+            Unmodifiable list of top-level message types declared in this file.
+            </value>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FileDescriptor.EnumTypes">
+            <value>
+            Unmodifiable list of top-level enum types declared in this file.
+            </value>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FileDescriptor.Services">
+            <value>
+            Unmodifiable list of top-level services declared in this file.
+            </value>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FileDescriptor.Extensions">
+            <summary>
+            Unmodifiable list of top-level extensions declared in this file.
+            Note that some extensions may be incomplete (FieldDescriptor.Extension may be null)
+            if this descriptor was generated using a version of protoc that did not fully
+            support extensions in C#.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FileDescriptor.Dependencies">
+            <value>
+            Unmodifiable list of this file's dependencies (imports).
+            </value>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FileDescriptor.PublicDependencies">
+            <value>
+            Unmodifiable list of this file's public dependencies (public imports).
+            </value>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FileDescriptor.SerializedData">
+            <value>
+            The original serialized binary form of this descriptor.
+            </value>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FileDescriptor.LC#Google#Protobuf#Reflection#IDescriptor#FullName">
+            <value>
+            Implementation of IDescriptor.FullName - just returns the same as Name.
+            </value>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FileDescriptor.LC#Google#Protobuf#Reflection#IDescriptor#File">
+            <value>
+            Implementation of IDescriptor.File - just returns this descriptor.
+            </value>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FileDescriptor.DescriptorPool">
+            <value>
+            Pool containing symbol descriptors.
+            </value>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.FileDescriptor.FindTypeByName``1(System.String)">
+            <summary>
+            Finds a type (message, enum, service or extension) in the file by name. Does not find nested types.
+            </summary>
+            <param name="name">The unqualified type name to look for.</param>
+            <typeparam name="T">The type of descriptor to look for</typeparam>
+            <returns>The type's descriptor, or null if not found.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.FileDescriptor.BuildFrom(LC.Google.Protobuf.ByteString,LC.Google.Protobuf.Reflection.FileDescriptorProto,LC.Google.Protobuf.Reflection.FileDescriptor[],System.Boolean,LC.Google.Protobuf.Reflection.GeneratedClrTypeInfo)">
+            <summary>
+            Builds a FileDescriptor from its protocol buffer representation.
+            </summary>
+            <param name="descriptorData">The original serialized descriptor data.
+            We have only limited proto2 support, so serializing FileDescriptorProto
+            would not necessarily give us this.</param>
+            <param name="proto">The protocol message form of the FileDescriptor.</param>
+            <param name="dependencies">FileDescriptors corresponding to all of the
+            file's dependencies, in the exact order listed in the .proto file. May be null,
+            in which case it is treated as an empty array.</param>
+            <param name="allowUnknownDependencies">Whether unknown dependencies are ignored (true) or cause an exception to be thrown (false).</param>
+            <param name="generatedCodeInfo">Details about generated code, for the purposes of reflection.</param>
+            <exception cref="T:LC.Google.Protobuf.Reflection.DescriptorValidationException">If <paramref name="proto"/> is not
+            a valid descriptor. This can occur for a number of reasons, such as a field
+            having an undefined type or because two messages were defined with the same name.</exception>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.FileDescriptor.FromGeneratedCode(System.Byte[],LC.Google.Protobuf.Reflection.FileDescriptor[],LC.Google.Protobuf.Reflection.GeneratedClrTypeInfo)">
+            <summary>
+            Creates a descriptor for generated code.
+            </summary>
+            <remarks>
+            This method is only designed to be used by the results of generating code with protoc,
+            which creates the appropriate dependencies etc. It has to be public because the generated
+            code is "external", but should not be called directly by end users.
+            </remarks>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.FileDescriptor.BuildFromByteStrings(System.Collections.Generic.IEnumerable{LC.Google.Protobuf.ByteString})">
+            <summary>
+            Converts the given descriptor binary data into FileDescriptor objects.
+            Note: reflection using the returned FileDescriptors is not currently supported.
+            </summary>
+            <param name="descriptorData">The binary file descriptor proto data. Must not be null, and any
+            dependencies must come before the descriptor which depends on them. (If A depends on B, and B
+            depends on C, then the descriptors must be presented in the order C, B, A.) This is compatible
+            with the order in which protoc provides descriptors to plugins.</param>
+            <returns>The file descriptors corresponding to <paramref name="descriptorData"/>.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.FileDescriptor.ToString">
+            <summary>
+            Returns a <see cref="T:System.String" /> that represents this instance.
+            </summary>
+            <returns>
+            A <see cref="T:System.String" /> that represents this instance.
+            </returns>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FileDescriptor.DescriptorProtoFileDescriptor">
+            <summary>
+            Returns the file descriptor for descriptor.proto.
+            </summary>
+            <remarks>
+            This is used for protos which take a direct dependency on <c>descriptor.proto</c>, typically for
+            annotations. While <c>descriptor.proto</c> is a proto2 file, it is built into the Google.Protobuf
+            runtime for reflection purposes. The messages are internal to the runtime as they would require
+            proto2 semantics for full support, but the file descriptor is available via this property. The
+            C# codegen in protoc automatically uses this property when it detects a dependency on <c>descriptor.proto</c>.
+            </remarks>
+            <value>
+            The file descriptor for <c>descriptor.proto</c>.
+            </value>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.FileDescriptor.CustomOptions">
+            <summary>
+            The (possibly empty) set of custom options for this file.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.FileDescriptor.GetOptions">
+            <summary>
+            The <c>FileOptions</c>, defined in <c>descriptor.proto</c>.
+            If the options message is not present (i.e. there are no options), <c>null</c> is returned.
+            Custom options can be retrieved as extensions of the returned message.
+            NOTE: A defensive copy is created each time this property is retrieved.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.FileDescriptor.GetOption``1(LC.Google.Protobuf.Extension{LC.Google.Protobuf.Reflection.FileOptions,``0})">
+            <summary>
+            Gets a single value file option for this descriptor
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.FileDescriptor.GetOption``1(LC.Google.Protobuf.RepeatedExtension{LC.Google.Protobuf.Reflection.FileOptions,``0})">
+            <summary>
+            Gets a repeated value file option for this descriptor
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.FileDescriptor.ForceReflectionInitialization``1">
+            <summary>
+            Performs initialization for the given generic type argument.
+            </summary>
+            <remarks>
+            This method is present for the sake of AOT compilers. It allows code (whether handwritten or generated)
+            to make calls into the reflection machinery of this library to express an intention to use that type
+            reflectively (e.g. for JSON parsing and formatting). The call itself does almost nothing, but AOT compilers
+            attempting to determine which generic type arguments need to be handled will spot the code path and act
+            accordingly.
+            </remarks>
+            <typeparam name="T">The type to force initialization for.</typeparam>
+        </member>
+        <member name="T:LC.Google.Protobuf.Reflection.GeneratedClrTypeInfo">
+            <summary>
+            Extra information provided by generated code when initializing a message or file descriptor.
+            These are constructed as required, and are not long-lived. Hand-written code should
+            never need to use this type.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.GeneratedClrTypeInfo.ClrType">
+            <summary>
+            Irrelevant for file descriptors; the CLR type for the message for message descriptors.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.GeneratedClrTypeInfo.Parser">
+            <summary>
+            Irrelevant for file descriptors; the parser for message descriptors.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.GeneratedClrTypeInfo.PropertyNames">
+            <summary>
+            Irrelevant for file descriptors; the CLR property names (in message descriptor field order)
+            for fields in the message for message descriptors.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.GeneratedClrTypeInfo.Extensions">
+            <summary>
+            The extensions defined within this file/message descriptor
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.GeneratedClrTypeInfo.OneofNames">
+            <summary>
+            Irrelevant for file descriptors; the CLR property "base" names (in message descriptor oneof order)
+            for oneofs in the message for message descriptors. It is expected that for a oneof name of "Foo",
+            there will be a "FooCase" property and a "ClearFoo" method.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.GeneratedClrTypeInfo.NestedTypes">
+            <summary>
+            The reflection information for types within this file/message descriptor. Elements may be null
+            if there is no corresponding generated type, e.g. for map entry types.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.GeneratedClrTypeInfo.NestedEnums">
+            <summary>
+            The CLR types for enums within this file/message descriptor.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.GeneratedClrTypeInfo.#ctor(System.Type,LC.Google.Protobuf.MessageParser,System.String[],System.String[],System.Type[],LC.Google.Protobuf.Extension[],LC.Google.Protobuf.Reflection.GeneratedClrTypeInfo[])">
+            <summary>
+            Creates a GeneratedClrTypeInfo for a message descriptor, with nested types, nested enums, the CLR type, property names and oneof names.
+            Each array parameter may be null, to indicate a lack of values.
+            The parameter order is designed to make it feasible to format the generated code readably.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.GeneratedClrTypeInfo.#ctor(System.Type,LC.Google.Protobuf.MessageParser,System.String[],System.String[],System.Type[],LC.Google.Protobuf.Reflection.GeneratedClrTypeInfo[])">
+            <summary>
+            Creates a GeneratedClrTypeInfo for a message descriptor, with nested types, nested enums, the CLR type, property names and oneof names.
+            Each array parameter may be null, to indicate a lack of values.
+            The parameter order is designed to make it feasible to format the generated code readably.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.GeneratedClrTypeInfo.#ctor(System.Type[],LC.Google.Protobuf.Extension[],LC.Google.Protobuf.Reflection.GeneratedClrTypeInfo[])">
+            <summary>
+            Creates a GeneratedClrTypeInfo for a file descriptor, with only types, enums, and extensions.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.GeneratedClrTypeInfo.#ctor(System.Type[],LC.Google.Protobuf.Reflection.GeneratedClrTypeInfo[])">
+            <summary>
+            Creates a GeneratedClrTypeInfo for a file descriptor, with only types and enums.
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.Reflection.IDescriptor">
+            <summary>
+            Interface implemented by all descriptor types.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.IDescriptor.Name">
+            <summary>
+            Returns the name of the entity (message, field etc) being described.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.IDescriptor.FullName">
+            <summary>
+            Returns the fully-qualified name of the entity being described.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.IDescriptor.File">
+            <summary>
+            Returns the descriptor for the .proto file that this entity is part of.
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.Reflection.IFieldAccessor">
+            <summary>
+            Allows fields to be reflectively accessed.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.IFieldAccessor.Descriptor">
+            <summary>
+            Returns the descriptor associated with this field.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.IFieldAccessor.Clear(LC.Google.Protobuf.IMessage)">
+            <summary>
+            Clears the field in the specified message. (For repeated fields,
+            this clears the list.)
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.IFieldAccessor.GetValue(LC.Google.Protobuf.IMessage)">
+            <summary>
+            Fetches the field value. For repeated values, this will be an
+            <see cref="T:System.Collections.IList"/> implementation. For map values, this will be an
+            <see cref="T:System.Collections.IDictionary"/> implementation.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.IFieldAccessor.HasValue(LC.Google.Protobuf.IMessage)">
+            <summary>
+            Indicates whether the field in the specified message is set.
+            For proto3 fields that aren't explicitly optional, this throws an <see cref="T:System.InvalidOperationException"/>
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.IFieldAccessor.SetValue(LC.Google.Protobuf.IMessage,System.Object)">
+            <summary>
+            Mutator for single "simple" fields only.
+            </summary>
+            <remarks>
+            Repeated fields are mutated by fetching the value and manipulating it as a list.
+            Map fields are mutated by fetching the value and manipulating it as a dictionary.
+            </remarks>
+            <exception cref="T:System.InvalidOperationException">The field is not a "simple" field.</exception>
+        </member>
+        <member name="T:LC.Google.Protobuf.Reflection.MapFieldAccessor">
+            <summary>
+            Accessor for map fields.
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.Reflection.MessageDescriptor">
+            <summary>
+            Describes a message type.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.MessageDescriptor.Name">
+            <summary>
+            The brief name of the descriptor's target.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.MessageDescriptor.ClrType">
+            <summary>
+            The CLR type used to represent message instances from this descriptor.
+            </summary>
+            <remarks>
+            <para>
+            The value returned by this property will be non-null for all regular fields. However,
+            if a message containing a map field is introspected, the list of nested messages will include
+            an auto-generated nested key/value pair message for the field. This is not represented in any
+            generated type, so this property will return null in such cases.
+            </para>
+            <para>
+            For wrapper types (<see cref="T:LC.Google.Protobuf.WellKnownTypes.StringValue"/> and the like), the type returned here
+            will be the generated message type, not the native type used by reflection for fields of those types. Code
+            using reflection should call <see cref="P:LC.Google.Protobuf.Reflection.MessageDescriptor.IsWrapperType"/> to determine whether a message descriptor represents
+            a wrapper type, and handle the result appropriately.
+            </para>
+            </remarks>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.MessageDescriptor.Parser">
+            <summary>
+            A parser for this message type.
+            </summary>
+            <remarks>
+            <para>
+            As <see cref="T:LC.Google.Protobuf.Reflection.MessageDescriptor"/> is not generic, this cannot be statically
+            typed to the relevant type, but it should produce objects of a type compatible with <see cref="P:LC.Google.Protobuf.Reflection.MessageDescriptor.ClrType"/>.
+            </para>
+            <para>
+            The value returned by this property will be non-null for all regular fields. However,
+            if a message containing a map field is introspected, the list of nested messages will include
+            an auto-generated nested key/value pair message for the field. No message parser object is created for
+            such messages, so this property will return null in such cases.
+            </para>
+            <para>
+            For wrapper types (<see cref="T:LC.Google.Protobuf.WellKnownTypes.StringValue"/> and the like), the parser returned here
+            will be the generated message type, not the native type used by reflection for fields of those types. Code
+            using reflection should call <see cref="P:LC.Google.Protobuf.Reflection.MessageDescriptor.IsWrapperType"/> to determine whether a message descriptor represents
+            a wrapper type, and handle the result appropriately.
+            </para>
+            </remarks>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.MessageDescriptor.IsWellKnownType">
+            <summary>
+            Returns whether this message is one of the "well known types" which may have runtime/protoc support.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.MessageDescriptor.IsWrapperType">
+            <summary>
+            Returns whether this message is one of the "wrapper types" used for fields which represent primitive values
+            with the addition of presence.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.MessageDescriptor.ContainingType">
+            <value>
+            If this is a nested type, get the outer descriptor, otherwise null.
+            </value>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.MessageDescriptor.Fields">
+            <value>
+            A collection of fields, which can be retrieved by name or field number.
+            </value>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.MessageDescriptor.Extensions">
+            <summary>
+            An unmodifiable list of extensions defined in this message's scope.
+            Note that some extensions may be incomplete (FieldDescriptor.Extension may be null)
+            if they are declared in a file generated using a version of protoc that did not fully
+            support extensions in C#.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.MessageDescriptor.NestedTypes">
+            <value>
+            An unmodifiable list of this message type's nested types.
+            </value>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.MessageDescriptor.EnumTypes">
+            <value>
+            An unmodifiable list of this message type's enum types.
+            </value>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.MessageDescriptor.Oneofs">
+            <value>
+            An unmodifiable list of the "oneof" field collections in this message type.
+            All "real" oneofs (where <see cref="P:LC.Google.Protobuf.Reflection.OneofDescriptor.IsSynthetic"/> returns false)
+            come before synthetic ones.
+            </value>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.MessageDescriptor.RealOneofCount">
+            <summary>
+            The number of real "oneof" descriptors in this message type. Every element in <see cref="P:LC.Google.Protobuf.Reflection.MessageDescriptor.Oneofs"/>
+            with an index less than this will have a <see cref="P:LC.Google.Protobuf.Reflection.OneofDescriptor.IsSynthetic"/> property value
+            of <c>false</c>; every element with an index greater than or equal to this will have a
+            <see cref="P:LC.Google.Protobuf.Reflection.OneofDescriptor.IsSynthetic"/> property value of <c>true</c>.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.MessageDescriptor.FindFieldByName(System.String)">
+            <summary>
+            Finds a field by field name.
+            </summary>
+            <param name="name">The unqualified name of the field (e.g. "foo").</param>
+            <returns>The field's descriptor, or null if not found.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.MessageDescriptor.FindFieldByNumber(System.Int32)">
+            <summary>
+            Finds a field by field number.
+            </summary>
+            <param name="number">The field number within this message type.</param>
+            <returns>The field's descriptor, or null if not found.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.MessageDescriptor.FindDescriptor``1(System.String)">
+            <summary>
+            Finds a nested descriptor by name. The is valid for fields, nested
+            message types, oneofs and enums.
+            </summary>
+            <param name="name">The unqualified name of the descriptor, e.g. "Foo"</param>
+            <returns>The descriptor, or null if not found.</returns>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.MessageDescriptor.CustomOptions">
+            <summary>
+            The (possibly empty) set of custom options for this message.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.MessageDescriptor.GetOptions">
+            <summary>
+            The <c>MessageOptions</c>, defined in <c>descriptor.proto</c>.
+            If the options message is not present (i.e. there are no options), <c>null</c> is returned.
+            Custom options can be retrieved as extensions of the returned message.
+            NOTE: A defensive copy is created each time this property is retrieved.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.MessageDescriptor.GetOption``1(LC.Google.Protobuf.Extension{LC.Google.Protobuf.Reflection.MessageOptions,``0})">
+            <summary>
+            Gets a single value message option for this descriptor
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.MessageDescriptor.GetOption``1(LC.Google.Protobuf.RepeatedExtension{LC.Google.Protobuf.Reflection.MessageOptions,``0})">
+            <summary>
+            Gets a repeated value message option for this descriptor
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.MessageDescriptor.CrossLink">
+            <summary>
+            Looks up and cross-links all fields and nested types.
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.Reflection.MessageDescriptor.FieldCollection">
+            <summary>
+            A collection to simplify retrieving the field accessor for a particular field.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.MessageDescriptor.FieldCollection.InDeclarationOrder">
+            <value>
+            Returns the fields in the message as an immutable list, in the order in which they
+            are declared in the source .proto file.
+            </value>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.MessageDescriptor.FieldCollection.InFieldNumberOrder">
+            <value>
+            Returns the fields in the message as an immutable list, in ascending field number
+            order. Field numbers need not be contiguous, so there is no direct mapping from the
+            index in the list to the field number; to retrieve a field by field number, it is better
+            to use the <see cref="T:LC.Google.Protobuf.Reflection.MessageDescriptor.FieldCollection"/> indexer.
+            </value>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.MessageDescriptor.FieldCollection.ByJsonName">
+            <value>
+            Returns a read-only dictionary mapping the field names in this message as they're available
+            in the JSON representation to the field descriptors. For example, a field <c>foo_bar</c>
+            in the message would result two entries, one with a key <c>fooBar</c> and one with a key
+            <c>foo_bar</c>, both referring to the same field.
+            </value>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.MessageDescriptor.FieldCollection.Item(System.Int32)">
+            <summary>
+            Retrieves the descriptor for the field with the given number.
+            </summary>
+            <param name="number">Number of the field to retrieve the descriptor for</param>
+            <returns>The accessor for the given field</returns>
+            <exception cref="T:System.Collections.Generic.KeyNotFoundException">The message descriptor does not contain a field
+            with the given number</exception>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.MessageDescriptor.FieldCollection.Item(System.String)">
+            <summary>
+            Retrieves the descriptor for the field with the given name.
+            </summary>
+            <param name="name">Name of the field to retrieve the descriptor for</param>
+            <returns>The descriptor for the given field</returns>
+            <exception cref="T:System.Collections.Generic.KeyNotFoundException">The message descriptor does not contain a field
+            with the given name</exception>
+        </member>
+        <member name="T:LC.Google.Protobuf.Reflection.MethodDescriptor">
+            <summary>
+            Describes a single method in a service.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.MethodDescriptor.Service">
+            <value>
+            The service this method belongs to.
+            </value>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.MethodDescriptor.InputType">
+            <value>
+            The method's input type.
+            </value>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.MethodDescriptor.OutputType">
+            <value>
+            The method's input type.
+            </value>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.MethodDescriptor.IsClientStreaming">
+            <value>
+            Indicates if client streams multiple requests.
+            </value>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.MethodDescriptor.IsServerStreaming">
+            <value>
+            Indicates if server streams multiple responses.
+            </value>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.MethodDescriptor.CustomOptions">
+            <summary>
+            The (possibly empty) set of custom options for this method.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.MethodDescriptor.GetOptions">
+            <summary>
+            The <c>MethodOptions</c>, defined in <c>descriptor.proto</c>.
+            If the options message is not present (i.e. there are no options), <c>null</c> is returned.
+            Custom options can be retrieved as extensions of the returned message.
+            NOTE: A defensive copy is created each time this property is retrieved.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.MethodDescriptor.GetOption``1(LC.Google.Protobuf.Extension{LC.Google.Protobuf.Reflection.MethodOptions,``0})">
+            <summary>
+            Gets a single value method option for this descriptor
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.MethodDescriptor.GetOption``1(LC.Google.Protobuf.RepeatedExtension{LC.Google.Protobuf.Reflection.MethodOptions,``0})">
+            <summary>
+            Gets a repeated value method option for this descriptor
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.MethodDescriptor.Name">
+            <summary>
+            The brief name of the descriptor's target.
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.Reflection.OneofAccessor">
+            <summary>
+            Reflection access for a oneof, allowing clear and "get case" actions.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.OneofAccessor.Descriptor">
+            <summary>
+            Gets the descriptor for this oneof.
+            </summary>
+            <value>
+            The descriptor of the oneof.
+            </value>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.OneofAccessor.Clear(LC.Google.Protobuf.IMessage)">
+            <summary>
+            Clears the oneof in the specified message.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.OneofAccessor.GetCaseFieldDescriptor(LC.Google.Protobuf.IMessage)">
+            <summary>
+            Indicates which field in the oneof is set for specified message
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.Reflection.OneofDescriptor">
+            <summary>
+            Describes a "oneof" field collection in a message type: a set of
+            fields of which at most one can be set in any particular message.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.OneofDescriptor.Name">
+            <summary>
+            The brief name of the descriptor's target.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.OneofDescriptor.ContainingType">
+            <summary>
+            Gets the message type containing this oneof.
+            </summary>
+            <value>
+            The message type containing this oneof.
+            </value>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.OneofDescriptor.Fields">
+            <summary>
+            Gets the fields within this oneof, in declaration order.
+            </summary>
+            <value>
+            The fields within this oneof, in declaration order.
+            </value>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.OneofDescriptor.IsSynthetic">
+            <summary>
+            Returns <c>true</c> if this oneof is a synthetic oneof containing a proto3 optional field;
+            <c>false</c> otherwise.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.OneofDescriptor.Accessor">
+            <summary>
+            Gets an accessor for reflective access to the values associated with the oneof
+            in a particular message.
+            </summary>
+            <remarks>
+            <para>
+            In descriptors for generated code, the value returned by this property will always be non-null.
+            </para>
+            <para>
+            In dynamically loaded descriptors, the value returned by this property will current be null;
+            if and when dynamic messages are supported, it will return a suitable accessor to work with
+            them.
+            </para>
+            </remarks>
+            <value>
+            The accessor used for reflective access.
+            </value>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.OneofDescriptor.CustomOptions">
+            <summary>
+            The (possibly empty) set of custom options for this oneof.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.OneofDescriptor.GetOptions">
+            <summary>
+            The <c>OneofOptions</c>, defined in <c>descriptor.proto</c>.
+            If the options message is not present (i.e. there are no options), <c>null</c> is returned.
+            Custom options can be retrieved as extensions of the returned message.
+            NOTE: A defensive copy is created each time this property is retrieved.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.OneofDescriptor.GetOption``1(LC.Google.Protobuf.Extension{LC.Google.Protobuf.Reflection.OneofOptions,``0})">
+            <summary>
+            Gets a single value oneof option for this descriptor
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.OneofDescriptor.GetOption``1(LC.Google.Protobuf.RepeatedExtension{LC.Google.Protobuf.Reflection.OneofOptions,``0})">
+            <summary>
+            Gets a repeated value oneof option for this descriptor
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.Reflection.OriginalNameAttribute">
+            <summary>
+            Specifies the original name (in the .proto file) of a named element,
+            such as an enum value.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.OriginalNameAttribute.Name">
+            <summary>
+            The name of the element in the .proto file.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.OriginalNameAttribute.PreferredAlias">
+            <summary>
+            If the name is preferred in the .proto file.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.OriginalNameAttribute.#ctor(System.String)">
+            <summary>
+            Constructs a new attribute instance for the given name.
+            </summary>
+            <param name="name">The name of the element in the .proto file.</param>
+        </member>
+        <member name="T:LC.Google.Protobuf.Reflection.PackageDescriptor">
+            <summary>
+            Represents a package in the symbol table.  We use PackageDescriptors
+            just as placeholders so that someone cannot define, say, a message type
+            that has the same name as an existing package.
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.Reflection.ReflectionUtil">
+            <summary>
+            The methods in this class are somewhat evil, and should not be tampered with lightly.
+            Basically they allow the creation of relatively weakly typed delegates from MethodInfos
+            which are more strongly typed. They do this by creating an appropriate strongly typed
+            delegate from the MethodInfo, and then calling that within an anonymous method.
+            Mind-bending stuff (at least to your humble narrator) but the resulting delegates are
+            very fast compared with calling Invoke later on.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.Reflection.ReflectionUtil.EmptyTypes">
+            <summary>
+            Empty Type[] used when calling GetProperty to force property instead of indexer fetching.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.ReflectionUtil.CreateFuncIMessageObject(System.Reflection.MethodInfo)">
+            <summary>
+            Creates a delegate which will cast the argument to the type that declares the method,
+            call the method on it, then convert the result to object.
+            </summary>
+            <param name="method">The method to create a delegate for, which must be declared in an IMessage
+            implementation.</param>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.ReflectionUtil.CreateFuncIMessageInt32(System.Reflection.MethodInfo)">
+            <summary>
+            Creates a delegate which will cast the argument to the type that declares the method,
+            call the method on it, then convert the result to the specified type. The method is expected
+            to actually return an enum (because of where we're calling it - for oneof cases). Sometimes that
+            means we need some extra work to perform conversions.
+            </summary>
+            <param name="method">The method to create a delegate for, which must be declared in an IMessage
+            implementation.</param>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.ReflectionUtil.CreateActionIMessageObject(System.Reflection.MethodInfo)">
+            <summary>
+            Creates a delegate which will execute the given method after casting the first argument to
+            the type that declares the method, and the second argument to the first parameter type of the method.
+            </summary>
+            <param name="method">The method to create a delegate for, which must be declared in an IMessage
+            implementation.</param>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.ReflectionUtil.CreateActionIMessage(System.Reflection.MethodInfo)">
+            <summary>
+            Creates a delegate which will execute the given method after casting the first argument to
+            type that declares the method.
+            </summary>
+            <param name="method">The method to create a delegate for, which must be declared in an IMessage
+            implementation.</param>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.ReflectionUtil.CreateExtensionHelper(LC.Google.Protobuf.Extension)">
+            <summary>
+            Creates a delegate which will execute the given method after casting the first argument to
+            the type that declares the method, and the second argument to the first parameter type of the method.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.ReflectionUtil.GetReflectionHelper(System.Type,System.Type)">
+            <summary>
+            Creates a reflection helper for the given type arguments. Currently these are created on demand
+            rather than cached; this will be "busy" when initially loading a message's descriptor, but after that
+            they can be garbage collected. We could cache them by type if that proves to be important, but creating
+            an object is pretty cheap.
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.Reflection.RepeatedFieldAccessor">
+            <summary>
+            Accessor for repeated fields.
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.Reflection.ServiceDescriptor">
+            <summary>
+            Describes a service type.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.ServiceDescriptor.Name">
+            <summary>
+            The brief name of the descriptor's target.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.ServiceDescriptor.Methods">
+            <value>
+            An unmodifiable list of methods in this service.
+            </value>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.ServiceDescriptor.FindMethodByName(System.String)">
+            <summary>
+            Finds a method by name.
+            </summary>
+            <param name="name">The unqualified name of the method (e.g. "Foo").</param>
+            <returns>The method's descriptor, or null if not found.</returns>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.ServiceDescriptor.CustomOptions">
+            <summary>
+            The (possibly empty) set of custom options for this service.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.ServiceDescriptor.GetOptions">
+            <summary>
+            The <c>ServiceOptions</c>, defined in <c>descriptor.proto</c>.
+            If the options message is not present (i.e. there are no options), <c>null</c> is returned.
+            Custom options can be retrieved as extensions of the returned message.
+            NOTE: A defensive copy is created each time this property is retrieved.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.ServiceDescriptor.GetOption``1(LC.Google.Protobuf.Extension{LC.Google.Protobuf.Reflection.ServiceOptions,``0})">
+            <summary>
+            Gets a single value service option for this descriptor
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.ServiceDescriptor.GetOption``1(LC.Google.Protobuf.RepeatedExtension{LC.Google.Protobuf.Reflection.ServiceOptions,``0})">
+            <summary>
+            Gets a repeated value service option for this descriptor
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.Reflection.SingleFieldAccessor">
+            <summary>
+            Accessor for single fields.
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.Reflection.TypeRegistry">
+            <summary>
+            An immutable registry of types which can be looked up by their full name.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.Reflection.TypeRegistry.Empty">
+            <summary>
+            An empty type registry, containing no types.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.TypeRegistry.Find(System.String)">
+            <summary>
+            Attempts to find a message descriptor by its full name.
+            </summary>
+            <param name="fullName">The full name of the message, which is the dot-separated
+            combination of package, containing messages and message name</param>
+            <returns>The message descriptor corresponding to <paramref name="fullName"/> or null
+            if there is no such message descriptor.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.TypeRegistry.FromFiles(LC.Google.Protobuf.Reflection.FileDescriptor[])">
+            <summary>
+            Creates a type registry from the specified set of file descriptors.
+            </summary>
+            <remarks>
+            This is a convenience overload for <see cref="M:LC.Google.Protobuf.Reflection.TypeRegistry.FromFiles(System.Collections.Generic.IEnumerable{LC.Google.Protobuf.Reflection.FileDescriptor})"/>
+            to allow calls such as <c>TypeRegistry.FromFiles(descriptor1, descriptor2)</c>.
+            </remarks>
+            <param name="fileDescriptors">The set of files to include in the registry. Must not contain null values.</param>
+            <returns>A type registry for the given files.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.TypeRegistry.FromFiles(System.Collections.Generic.IEnumerable{LC.Google.Protobuf.Reflection.FileDescriptor})">
+            <summary>
+            Creates a type registry from the specified set of file descriptors.
+            </summary>
+            <remarks>
+            All message types within all the specified files are added to the registry, and
+            the dependencies of the specified files are also added, recursively.
+            </remarks>
+            <param name="fileDescriptors">The set of files to include in the registry. Must not contain null values.</param>
+            <returns>A type registry for the given files.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.TypeRegistry.FromMessages(LC.Google.Protobuf.Reflection.MessageDescriptor[])">
+            <summary>
+            Creates a type registry from the file descriptor parents of the specified set of message descriptors.
+            </summary>
+            <remarks>
+            This is a convenience overload for <see cref="M:LC.Google.Protobuf.Reflection.TypeRegistry.FromMessages(System.Collections.Generic.IEnumerable{LC.Google.Protobuf.Reflection.MessageDescriptor})"/>
+            to allow calls such as <c>TypeRegistry.FromFiles(descriptor1, descriptor2)</c>.
+            </remarks>
+            <param name="messageDescriptors">The set of message descriptors to use to identify file descriptors to include in the registry.
+            Must not contain null values.</param>
+            <returns>A type registry for the given files.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.Reflection.TypeRegistry.FromMessages(System.Collections.Generic.IEnumerable{LC.Google.Protobuf.Reflection.MessageDescriptor})">
+            <summary>
+            Creates a type registry from the file descriptor parents of the specified set of message descriptors.
+            </summary>
+            <remarks>
+            The specified message descriptors are only used to identify their file descriptors; the returned registry
+            contains all the types within the file descriptors which contain the specified message descriptors (and
+            the dependencies of those files), not just the specified messages.
+            </remarks>
+            <param name="messageDescriptors">The set of message descriptors to use to identify file descriptors to include in the registry.
+            Must not contain null values.</param>
+            <returns>A type registry for the given files.</returns>
+        </member>
+        <member name="T:LC.Google.Protobuf.Reflection.TypeRegistry.Builder">
+            <summary>
+            Builder class which isn't exposed, but acts as a convenient alternative to passing round two dictionaries in recursive calls.
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.UnknownField">
+             <summary>
+             Represents a single field in an UnknownFieldSet.
+            
+             An UnknownField consists of four lists of values. The lists correspond
+             to the four "wire types" used in the protocol buffer binary format.
+             Normally, only one of the four lists will contain any values, since it
+             is impossible to define a valid message type that declares two different
+             types for the same field number. However, the code is designed to allow
+             for the case where the same unknown field number is encountered using
+             multiple different wire types.
+            
+             </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.UnknownField.#ctor">
+            <summary>
+            Creates a new UnknownField.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.UnknownField.Equals(System.Object)">
+            <summary>
+            Checks if two unknown field are equal.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.UnknownField.GetHashCode">
+            <summary>
+            Get the hash code of the unknown field.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.UnknownField.WriteTo(System.Int32,LC.Google.Protobuf.CodedOutputStream)">
+            <summary>
+            Serializes the field, including the field number, and writes it to
+            <paramref name="output"/>
+            </summary>
+            <param name="fieldNumber">The unknown field number.</param>
+            <param name="output">The CodedOutputStream to write to.</param>
+        </member>
+        <member name="M:LC.Google.Protobuf.UnknownField.GetSerializedSize(System.Int32)">
+            <summary>
+            Computes the number of bytes required to encode this field, including field
+            number.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.UnknownField.MergeFrom(LC.Google.Protobuf.UnknownField)">
+            <summary>
+            Merge the values in <paramref name="other" /> into this field.  For each list
+            of values, <paramref name="other"/>'s values are append to the ones in this
+            field.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.UnknownField.AddAll``1(System.Collections.Generic.List{``0},System.Collections.Generic.IList{``0})">
+            <summary>
+            Returns a new list containing all of the given specified values from
+            both the <paramref name="current"/> and <paramref name="extras"/> lists.
+            If <paramref name="current" /> is null and <paramref name="extras"/> is empty,
+            null is returned. Otherwise, either a new list is created (if <paramref name="current" />
+            is null) or the elements of <paramref name="extras"/> are added to <paramref name="current" />.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.UnknownField.AddVarint(System.UInt64)">
+            <summary>
+            Adds a varint value.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.UnknownField.AddFixed32(System.UInt32)">
+            <summary>
+            Adds a fixed32 value.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.UnknownField.AddFixed64(System.UInt64)">
+            <summary>
+            Adds a fixed64 value.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.UnknownField.AddLengthDelimited(LC.Google.Protobuf.ByteString)">
+            <summary>
+            Adds a length-delimited value.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.UnknownField.Add``1(System.Collections.Generic.List{``0},``0)">
+            <summary>
+            Adds <paramref name="value"/> to the <paramref name="list"/>, creating
+            a new list if <paramref name="list"/> is null. The list is returned - either
+            the original reference or the new list.
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.UnknownFieldSet">
+             <summary>
+             Used to keep track of fields which were seen when parsing a protocol message
+             but whose field numbers or types are unrecognized. This most frequently
+             occurs when new fields are added to a message type and then messages containing
+             those fields are read by old software that was built before the new types were
+             added.
+            
+             Most users will never need to use this class directly.
+             </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.UnknownFieldSet.#ctor">
+            <summary>
+            Creates a new UnknownFieldSet.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.UnknownFieldSet.HasField(System.Int32)">
+            <summary>
+            Checks whether or not the given field number is present in the set.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.UnknownFieldSet.WriteTo(LC.Google.Protobuf.CodedOutputStream)">
+            <summary>
+            Serializes the set and writes it to <paramref name="output"/>.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.UnknownFieldSet.CalculateSize">
+            <summary>
+            Gets the number of bytes required to encode this set.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.UnknownFieldSet.Equals(System.Object)">
+            <summary>
+            Checks if two unknown field sets are equal.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.UnknownFieldSet.GetHashCode">
+            <summary>
+            Gets the unknown field set's hash code.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.UnknownFieldSet.AddOrReplaceField(System.Int32,LC.Google.Protobuf.UnknownField)">
+            <summary>
+            Adds a field to the set. If a field with the same number already exists, it
+            is replaced.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.UnknownFieldSet.MergeFieldFrom(LC.Google.Protobuf.CodedInputStream)">
+            <summary>
+            Parse a single field from <paramref name="input"/> and merge it
+            into this set.
+            </summary>
+            <param name="input">The coded input stream containing the field</param>
+            <returns>false if the tag is an "end group" tag, true otherwise</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.UnknownFieldSet.MergeFieldFrom(LC.Google.Protobuf.UnknownFieldSet,LC.Google.Protobuf.CodedInputStream)">
+            <summary>
+            Create a new UnknownFieldSet if unknownFields is null.
+            Parse a single field from <paramref name="input"/> and merge it
+            into unknownFields. If <paramref name="input"/> is configured to discard unknown fields,
+            <paramref name="unknownFields"/> will be returned as-is and the field will be skipped.
+            </summary>
+            <param name="unknownFields">The UnknownFieldSet which need to be merged</param>
+            <param name="input">The coded input stream containing the field</param>
+            <returns>The merged UnknownFieldSet</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.UnknownFieldSet.MergeFrom(LC.Google.Protobuf.UnknownFieldSet)">
+            <summary>
+            Merges the fields from <paramref name="other"/> into this set.
+            If a field number exists in both sets, the values in <paramref name="other"/>
+            will be appended to the values in this set.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.UnknownFieldSet.MergeFrom(LC.Google.Protobuf.UnknownFieldSet,LC.Google.Protobuf.UnknownFieldSet)">
+            <summary>
+            Created a new UnknownFieldSet to <paramref name="unknownFields"/> if
+            needed and merges the fields from <paramref name="other"/> into the first set.
+            If a field number exists in both sets, the values in <paramref name="other"/>
+            will be appended to the values in this set.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.UnknownFieldSet.MergeField(System.Int32,LC.Google.Protobuf.UnknownField)">
+            <summary>
+            Adds a field to the unknown field set. If a field with the same
+            number already exists, the two are merged.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.UnknownFieldSet.Clone(LC.Google.Protobuf.UnknownFieldSet)">
+            <summary>
+            Clone an unknown field set from <paramref name="other"/>.
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.WellKnownTypes.AnyReflection">
+            <summary>Holder for reflection information generated from google/protobuf/any.proto</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.WellKnownTypes.AnyReflection.Descriptor">
+            <summary>File descriptor for google/protobuf/any.proto</summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.WellKnownTypes.Any">
+             <summary>
+             `Any` contains an arbitrary serialized protocol buffer message along with a
+             URL that describes the type of the serialized message.
+            
+             Protobuf library provides support to pack/unpack Any values in the form
+             of utility functions or additional generated methods of the Any type.
+            
+             Example 1: Pack and unpack a message in C++.
+            
+                 Foo foo = ...;
+                 Any any;
+                 any.PackFrom(foo);
+                 ...
+                 if (any.UnpackTo(&amp;foo)) {
+                   ...
+                 }
+            
+             Example 2: Pack and unpack a message in Java.
+            
+                 Foo foo = ...;
+                 Any any = Any.pack(foo);
+                 ...
+                 if (any.is(Foo.class)) {
+                   foo = any.unpack(Foo.class);
+                 }
+            
+              Example 3: Pack and unpack a message in Python.
+            
+                 foo = Foo(...)
+                 any = Any()
+                 any.Pack(foo)
+                 ...
+                 if any.Is(Foo.DESCRIPTOR):
+                   any.Unpack(foo)
+                   ...
+            
+              Example 4: Pack and unpack a message in Go
+            
+                  foo := &amp;pb.Foo{...}
+                  any, err := ptypes.MarshalAny(foo)
+                  ...
+                  foo := &amp;pb.Foo{}
+                  if err := ptypes.UnmarshalAny(any, foo); err != nil {
+                    ...
+                  }
+            
+             The pack methods provided by protobuf library will by default use
+             'type.googleapis.com/full.type.name' as the type URL and the unpack
+             methods only use the fully qualified type name after the last '/'
+             in the type URL, for example "foo.bar.com/x/y.z" will yield type
+             name "y.z".
+            
+             JSON
+             ====
+             The JSON representation of an `Any` value uses the regular
+             representation of the deserialized, embedded message, with an
+             additional field `@type` which contains the type URL. Example:
+            
+                 package google.profile;
+                 message Person {
+                   string first_name = 1;
+                   string last_name = 2;
+                 }
+            
+                 {
+                   "@type": "type.googleapis.com/google.profile.Person",
+                   "firstName": &lt;string>,
+                   "lastName": &lt;string>
+                 }
+            
+             If the embedded message type is well-known and has a custom JSON
+             representation, that representation will be embedded adding a field
+             `value` which holds the custom JSON in addition to the `@type`
+             field. Example (for message [google.protobuf.Duration][]):
+            
+                 {
+                   "@type": "type.googleapis.com/google.protobuf.Duration",
+                   "value": "1.212s"
+                 }
+             </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.Any.TypeUrlFieldNumber">
+            <summary>Field number for the "type_url" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.WellKnownTypes.Any.TypeUrl">
+             <summary>
+             A URL/resource name that uniquely identifies the type of the serialized
+             protocol buffer message. This string must contain at least
+             one "/" character. The last segment of the URL's path must represent
+             the fully qualified name of the type (as in
+             `path/google.protobuf.Duration`). The name should be in a canonical form
+             (e.g., leading "." is not accepted).
+            
+             In practice, teams usually precompile into the binary all types that they
+             expect it to use in the context of Any. However, for URLs which use the
+             scheme `http`, `https`, or no scheme, one can optionally set up a type
+             server that maps type URLs to message definitions as follows:
+            
+             * If no scheme is provided, `https` is assumed.
+             * An HTTP GET on the URL must yield a [google.protobuf.Type][]
+               value in binary format, or produce an error.
+             * Applications are allowed to cache lookup results based on the
+               URL, or have them precompiled into a binary to avoid any
+               lookup. Therefore, binary compatibility needs to be preserved
+               on changes to types. (Use versioned type names to manage
+               breaking changes.)
+            
+             Note: this functionality is not currently available in the official
+             protobuf release, and it is not used for type URLs beginning with
+             type.googleapis.com.
+            
+             Schemes other than `http`, `https` (or the empty scheme) might be
+             used with implementation specific semantics.
+             </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.Any.ValueFieldNumber">
+            <summary>Field number for the "value" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.WellKnownTypes.Any.Value">
+            <summary>
+            Must be a valid serialized protocol buffer of the above specified type.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.WellKnownTypes.Any.GetTypeName(System.String)">
+            <summary>
+            Retrieves the type name for a type URL, matching the <see cref="P:LC.Google.Protobuf.Reflection.DescriptorBase.FullName"/>
+            of the packed message type.
+            </summary>
+            <remarks>
+            <para>
+            This is always just the last part of the URL, after the final slash. No validation of
+            anything before the trailing slash is performed. If the type URL does not include a slash,
+            an empty string is returned rather than an exception being thrown; this won't match any types,
+            and the calling code is probably in a better position to give a meaningful error.
+            </para>
+            <para>
+            There is no handling of fragments or queries  at the moment.
+            </para>
+            </remarks>
+            <param name="typeUrl">The URL to extract the type name from</param>
+            <returns>The type name</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.WellKnownTypes.Any.Is(LC.Google.Protobuf.Reflection.MessageDescriptor)">
+            <summary>
+            Returns a bool indictating whether this Any message is of the target message type
+            </summary>
+            <param name="descriptor">The descriptor of the message type</param>
+            <returns><c>true</c> if the type name matches the descriptor's full name or <c>false</c> otherwise</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.WellKnownTypes.Any.Unpack``1">
+            <summary>
+            Unpacks the content of this Any message into the target message type,
+            which must match the type URL within this Any message.
+            </summary>
+            <typeparam name="T">The type of message to unpack the content into.</typeparam>
+            <returns>The unpacked message.</returns>
+            <exception cref="T:LC.Google.Protobuf.InvalidProtocolBufferException">The target message type doesn't match the type URL in this message</exception>
+        </member>
+        <member name="M:LC.Google.Protobuf.WellKnownTypes.Any.TryUnpack``1(``0@)">
+            <summary>
+            Attempts to unpack the content of this Any message into the target message type,
+            if it matches the type URL within this Any message.
+            </summary>
+            <typeparam name="T">The type of message to attempt to unpack the content into.</typeparam>
+            <returns><c>true</c> if the message was successfully unpacked; <c>false</c> if the type name didn't match</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.WellKnownTypes.Any.Pack(LC.Google.Protobuf.IMessage)">
+            <summary>
+            Packs the specified message into an Any message using a type URL prefix of "type.googleapis.com".
+            </summary>
+            <param name="message">The message to pack.</param>
+            <returns>An Any message with the content and type URL of <paramref name="message"/>.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.WellKnownTypes.Any.Pack(LC.Google.Protobuf.IMessage,System.String)">
+            <summary>
+            Packs the specified message into an Any message using the specified type URL prefix.
+            </summary>
+            <param name="message">The message to pack.</param>
+            <param name="typeUrlPrefix">The prefix for the type URL.</param>
+            <returns>An Any message with the content and type URL of <paramref name="message"/>.</returns>
+        </member>
+        <member name="T:LC.Google.Protobuf.WellKnownTypes.ApiReflection">
+            <summary>Holder for reflection information generated from google/protobuf/api.proto</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.WellKnownTypes.ApiReflection.Descriptor">
+            <summary>File descriptor for google/protobuf/api.proto</summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.WellKnownTypes.Api">
+             <summary>
+             Api is a light-weight descriptor for an API Interface.
+            
+             Interfaces are also described as "protocol buffer services" in some contexts,
+             such as by the "service" keyword in a .proto file, but they are different
+             from API Services, which represent a concrete implementation of an interface
+             as opposed to simply a description of methods and bindings. They are also
+             sometimes simply referred to as "APIs" in other contexts, such as the name of
+             this message itself. See https://cloud.google.com/apis/design/glossary for
+             detailed terminology.
+             </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.Api.NameFieldNumber">
+            <summary>Field number for the "name" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.WellKnownTypes.Api.Name">
+            <summary>
+            The fully qualified name of this interface, including package name
+            followed by the interface's simple name.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.Api.MethodsFieldNumber">
+            <summary>Field number for the "methods" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.WellKnownTypes.Api.Methods">
+            <summary>
+            The methods of this interface, in unspecified order.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.Api.OptionsFieldNumber">
+            <summary>Field number for the "options" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.WellKnownTypes.Api.Options">
+            <summary>
+            Any metadata attached to the interface.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.Api.VersionFieldNumber">
+            <summary>Field number for the "version" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.WellKnownTypes.Api.Version">
+             <summary>
+             A version string for this interface. If specified, must have the form
+             `major-version.minor-version`, as in `1.10`. If the minor version is
+             omitted, it defaults to zero. If the entire version field is empty, the
+             major version is derived from the package name, as outlined below. If the
+             field is not empty, the version in the package name will be verified to be
+             consistent with what is provided here.
+            
+             The versioning schema uses [semantic
+             versioning](http://semver.org) where the major version number
+             indicates a breaking change and the minor version an additive,
+             non-breaking change. Both version numbers are signals to users
+             what to expect from different versions, and should be carefully
+             chosen based on the product plan.
+            
+             The major version is also reflected in the package name of the
+             interface, which must end in `v&lt;major-version>`, as in
+             `google.feature.v1`. For major versions 0 and 1, the suffix can
+             be omitted. Zero major versions must only be used for
+             experimental, non-GA interfaces.
+             </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.Api.SourceContextFieldNumber">
+            <summary>Field number for the "source_context" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.WellKnownTypes.Api.SourceContext">
+            <summary>
+            Source context for the protocol buffer service represented by this
+            message.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.Api.MixinsFieldNumber">
+            <summary>Field number for the "mixins" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.WellKnownTypes.Api.Mixins">
+            <summary>
+            Included interfaces. See [Mixin][].
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.Api.SyntaxFieldNumber">
+            <summary>Field number for the "syntax" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.WellKnownTypes.Api.Syntax">
+            <summary>
+            The source syntax of the service.
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.WellKnownTypes.Method">
+            <summary>
+            Method represents a method of an API interface.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.Method.NameFieldNumber">
+            <summary>Field number for the "name" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.WellKnownTypes.Method.Name">
+            <summary>
+            The simple name of this method.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.Method.RequestTypeUrlFieldNumber">
+            <summary>Field number for the "request_type_url" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.WellKnownTypes.Method.RequestTypeUrl">
+            <summary>
+            A URL of the input message type.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.Method.RequestStreamingFieldNumber">
+            <summary>Field number for the "request_streaming" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.WellKnownTypes.Method.RequestStreaming">
+            <summary>
+            If true, the request is streamed.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.Method.ResponseTypeUrlFieldNumber">
+            <summary>Field number for the "response_type_url" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.WellKnownTypes.Method.ResponseTypeUrl">
+            <summary>
+            The URL of the output message type.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.Method.ResponseStreamingFieldNumber">
+            <summary>Field number for the "response_streaming" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.WellKnownTypes.Method.ResponseStreaming">
+            <summary>
+            If true, the response is streamed.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.Method.OptionsFieldNumber">
+            <summary>Field number for the "options" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.WellKnownTypes.Method.Options">
+            <summary>
+            Any metadata attached to the method.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.Method.SyntaxFieldNumber">
+            <summary>Field number for the "syntax" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.WellKnownTypes.Method.Syntax">
+            <summary>
+            The source syntax of this method.
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.WellKnownTypes.Mixin">
+             <summary>
+             Declares an API Interface to be included in this interface. The including
+             interface must redeclare all the methods from the included interface, but
+             documentation and options are inherited as follows:
+            
+             - If after comment and whitespace stripping, the documentation
+               string of the redeclared method is empty, it will be inherited
+               from the original method.
+            
+             - Each annotation belonging to the service config (http,
+               visibility) which is not set in the redeclared method will be
+               inherited.
+            
+             - If an http annotation is inherited, the path pattern will be
+               modified as follows. Any version prefix will be replaced by the
+               version of the including interface plus the [root][] path if
+               specified.
+            
+             Example of a simple mixin:
+            
+                 package google.acl.v1;
+                 service AccessControl {
+                   // Get the underlying ACL object.
+                   rpc GetAcl(GetAclRequest) returns (Acl) {
+                     option (google.api.http).get = "/v1/{resource=**}:getAcl";
+                   }
+                 }
+            
+                 package google.storage.v2;
+                 service Storage {
+                   rpc GetAcl(GetAclRequest) returns (Acl);
+            
+                   // Get a data record.
+                   rpc GetData(GetDataRequest) returns (Data) {
+                     option (google.api.http).get = "/v2/{resource=**}";
+                   }
+                 }
+            
+             Example of a mixin configuration:
+            
+                 apis:
+                 - name: google.storage.v2.Storage
+                   mixins:
+                   - name: google.acl.v1.AccessControl
+            
+             The mixin construct implies that all methods in `AccessControl` are
+             also declared with same name and request/response types in
+             `Storage`. A documentation generator or annotation processor will
+             see the effective `Storage.GetAcl` method after inherting
+             documentation and annotations as follows:
+            
+                 service Storage {
+                   // Get the underlying ACL object.
+                   rpc GetAcl(GetAclRequest) returns (Acl) {
+                     option (google.api.http).get = "/v2/{resource=**}:getAcl";
+                   }
+                   ...
+                 }
+            
+             Note how the version in the path pattern changed from `v1` to `v2`.
+            
+             If the `root` field in the mixin is specified, it should be a
+             relative path under which inherited HTTP paths are placed. Example:
+            
+                 apis:
+                 - name: google.storage.v2.Storage
+                   mixins:
+                   - name: google.acl.v1.AccessControl
+                     root: acls
+            
+             This implies the following inherited HTTP annotation:
+            
+                 service Storage {
+                   // Get the underlying ACL object.
+                   rpc GetAcl(GetAclRequest) returns (Acl) {
+                     option (google.api.http).get = "/v2/acls/{resource=**}:getAcl";
+                   }
+                   ...
+                 }
+             </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.Mixin.NameFieldNumber">
+            <summary>Field number for the "name" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.WellKnownTypes.Mixin.Name">
+            <summary>
+            The fully qualified name of the interface which is included.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.Mixin.RootFieldNumber">
+            <summary>Field number for the "root" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.WellKnownTypes.Mixin.Root">
+            <summary>
+            If non-empty specifies a path under which inherited HTTP paths
+            are rooted.
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.WellKnownTypes.DurationReflection">
+            <summary>Holder for reflection information generated from google/protobuf/duration.proto</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.WellKnownTypes.DurationReflection.Descriptor">
+            <summary>File descriptor for google/protobuf/duration.proto</summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.WellKnownTypes.Duration">
+             <summary>
+             A Duration represents a signed, fixed-length span of time represented
+             as a count of seconds and fractions of seconds at nanosecond
+             resolution. It is independent of any calendar and concepts like "day"
+             or "month". It is related to Timestamp in that the difference between
+             two Timestamp values is a Duration and it can be added or subtracted
+             from a Timestamp. Range is approximately +-10,000 years.
+            
+             # Examples
+            
+             Example 1: Compute Duration from two Timestamps in pseudo code.
+            
+                 Timestamp start = ...;
+                 Timestamp end = ...;
+                 Duration duration = ...;
+            
+                 duration.seconds = end.seconds - start.seconds;
+                 duration.nanos = end.nanos - start.nanos;
+            
+                 if (duration.seconds &lt; 0 &amp;&amp; duration.nanos > 0) {
+                   duration.seconds += 1;
+                   duration.nanos -= 1000000000;
+                 } else if (duration.seconds > 0 &amp;&amp; duration.nanos &lt; 0) {
+                   duration.seconds -= 1;
+                   duration.nanos += 1000000000;
+                 }
+            
+             Example 2: Compute Timestamp from Timestamp + Duration in pseudo code.
+            
+                 Timestamp start = ...;
+                 Duration duration = ...;
+                 Timestamp end = ...;
+            
+                 end.seconds = start.seconds + duration.seconds;
+                 end.nanos = start.nanos + duration.nanos;
+            
+                 if (end.nanos &lt; 0) {
+                   end.seconds -= 1;
+                   end.nanos += 1000000000;
+                 } else if (end.nanos >= 1000000000) {
+                   end.seconds += 1;
+                   end.nanos -= 1000000000;
+                 }
+            
+             Example 3: Compute Duration from datetime.timedelta in Python.
+            
+                 td = datetime.timedelta(days=3, minutes=10)
+                 duration = Duration()
+                 duration.FromTimedelta(td)
+            
+             # JSON Mapping
+            
+             In JSON format, the Duration type is encoded as a string rather than an
+             object, where the string ends in the suffix "s" (indicating seconds) and
+             is preceded by the number of seconds, with nanoseconds expressed as
+             fractional seconds. For example, 3 seconds with 0 nanoseconds should be
+             encoded in JSON format as "3s", while 3 seconds and 1 nanosecond should
+             be expressed in JSON format as "3.000000001s", and 3 seconds and 1
+             microsecond should be expressed in JSON format as "3.000001s".
+             </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.Duration.SecondsFieldNumber">
+            <summary>Field number for the "seconds" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.WellKnownTypes.Duration.Seconds">
+            <summary>
+            Signed seconds of the span of time. Must be from -315,576,000,000
+            to +315,576,000,000 inclusive. Note: these bounds are computed from:
+            60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.Duration.NanosFieldNumber">
+            <summary>Field number for the "nanos" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.WellKnownTypes.Duration.Nanos">
+            <summary>
+            Signed fractions of a second at nanosecond resolution of the span
+            of time. Durations less than one second are represented with a 0
+            `seconds` field and a positive or negative `nanos` field. For durations
+            of one second or more, a non-zero value for the `nanos` field must be
+            of the same sign as the `seconds` field. Must be from -999,999,999
+            to +999,999,999 inclusive.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.Duration.NanosecondsPerSecond">
+            <summary>
+            The number of nanoseconds in a second.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.Duration.NanosecondsPerTick">
+            <summary>
+            The number of nanoseconds in a BCL tick (as used by <see cref="T:System.TimeSpan"/> and <see cref="T:System.DateTime"/>).
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.Duration.MaxSeconds">
+            <summary>
+            The maximum permitted number of seconds.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.Duration.MinSeconds">
+            <summary>
+            The minimum permitted number of seconds.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.WellKnownTypes.Duration.ToTimeSpan">
+            <summary>
+            Converts this <see cref="T:LC.Google.Protobuf.WellKnownTypes.Duration"/> to a <see cref="T:System.TimeSpan"/>.
+            </summary>
+            <remarks>If the duration is not a precise number of ticks, it is truncated towards 0.</remarks>
+            <returns>The value of this duration, as a <c>TimeSpan</c>.</returns>
+            <exception cref="T:System.InvalidOperationException">This value isn't a valid normalized duration, as
+            described in the documentation.</exception>
+        </member>
+        <member name="M:LC.Google.Protobuf.WellKnownTypes.Duration.FromTimeSpan(System.TimeSpan)">
+            <summary>
+            Converts the given <see cref="T:System.TimeSpan"/> to a <see cref="T:LC.Google.Protobuf.WellKnownTypes.Duration"/>.
+            </summary>
+            <param name="timeSpan">The <c>TimeSpan</c> to convert.</param>
+            <returns>The value of the given <c>TimeSpan</c>, as a <c>Duration</c>.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.WellKnownTypes.Duration.op_UnaryNegation(LC.Google.Protobuf.WellKnownTypes.Duration)">
+            <summary>
+            Returns the result of negating the duration. For example, the negation of 5 minutes is -5 minutes.
+            </summary>
+            <param name="value">The duration to negate. Must not be null.</param>
+            <returns>The negated value of this duration.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.WellKnownTypes.Duration.op_Addition(LC.Google.Protobuf.WellKnownTypes.Duration,LC.Google.Protobuf.WellKnownTypes.Duration)">
+            <summary>
+            Adds the two specified <see cref="T:LC.Google.Protobuf.WellKnownTypes.Duration"/> values together.
+            </summary>
+            <param name="lhs">The first value to add. Must not be null.</param>
+            <param name="rhs">The second value to add. Must not be null.</param>
+            <returns></returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.WellKnownTypes.Duration.op_Subtraction(LC.Google.Protobuf.WellKnownTypes.Duration,LC.Google.Protobuf.WellKnownTypes.Duration)">
+            <summary>
+            Subtracts one <see cref="T:LC.Google.Protobuf.WellKnownTypes.Duration"/> from another.
+            </summary>
+            <param name="lhs">The duration to subtract from. Must not be null.</param>
+            <param name="rhs">The duration to subtract. Must not be null.</param>
+            <returns>The difference between the two specified durations.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.WellKnownTypes.Duration.Normalize(System.Int64,System.Int32)">
+            <summary>
+            Creates a duration with the normalized values from the given number of seconds and
+            nanoseconds, conforming with the description in the proto file.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.WellKnownTypes.Duration.ToJson(System.Int64,System.Int32,System.Boolean)">
+            <summary>
+            Converts a duration specified in seconds/nanoseconds to a string.
+            </summary>
+            <remarks>
+            If the value is a normalized duration in the range described in <c>duration.proto</c>,
+            <paramref name="diagnosticOnly"/> is ignored. Otherwise, if the parameter is <c>true</c>,
+            a JSON object with a warning is returned; if it is <c>false</c>, an <see cref="T:System.InvalidOperationException"/> is thrown.
+            </remarks>
+            <param name="seconds">Seconds portion of the duration.</param>
+            <param name="nanoseconds">Nanoseconds portion of the duration.</param>
+            <param name="diagnosticOnly">Determines the handling of non-normalized values</param>
+            <exception cref="T:System.InvalidOperationException">The represented duration is invalid, and <paramref name="diagnosticOnly"/> is <c>false</c>.</exception>
+        </member>
+        <member name="M:LC.Google.Protobuf.WellKnownTypes.Duration.ToDiagnosticString">
+            <summary>
+            Returns a string representation of this <see cref="T:LC.Google.Protobuf.WellKnownTypes.Duration"/> for diagnostic purposes.
+            </summary>
+            <remarks>
+            Normally the returned value will be a JSON string value (including leading and trailing quotes) but
+            when the value is non-normalized or out of range, a JSON object representation will be returned
+            instead, including a warning. This is to avoid exceptions being thrown when trying to
+            diagnose problems - the regular JSON formatter will still throw an exception for non-normalized
+            values.
+            </remarks>
+            <returns>A string representation of this value.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.WellKnownTypes.Duration.AppendNanoseconds(System.Text.StringBuilder,System.Int32)">
+            <summary>
+            Appends a number of nanoseconds to a StringBuilder. Either 0 digits are added (in which
+            case no "." is appended), or 3 6 or 9 digits. This is internal for use in Timestamp as well
+            as Duration.
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.WellKnownTypes.EmptyReflection">
+            <summary>Holder for reflection information generated from google/protobuf/empty.proto</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.WellKnownTypes.EmptyReflection.Descriptor">
+            <summary>File descriptor for google/protobuf/empty.proto</summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.WellKnownTypes.Empty">
+             <summary>
+             A generic empty message that you can re-use to avoid defining duplicated
+             empty messages in your APIs. A typical example is to use it as the request
+             or the response type of an API method. For instance:
+            
+                 service Foo {
+                   rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
+                 }
+            
+             The JSON representation for `Empty` is empty JSON object `{}`.
+             </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.WellKnownTypes.FieldMaskReflection">
+            <summary>Holder for reflection information generated from google/protobuf/field_mask.proto</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.WellKnownTypes.FieldMaskReflection.Descriptor">
+            <summary>File descriptor for google/protobuf/field_mask.proto</summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.WellKnownTypes.FieldMask">
+             <summary>
+             `FieldMask` represents a set of symbolic field paths, for example:
+            
+                 paths: "f.a"
+                 paths: "f.b.d"
+            
+             Here `f` represents a field in some root message, `a` and `b`
+             fields in the message found in `f`, and `d` a field found in the
+             message in `f.b`.
+            
+             Field masks are used to specify a subset of fields that should be
+             returned by a get operation or modified by an update operation.
+             Field masks also have a custom JSON encoding (see below).
+            
+             # Field Masks in Projections
+            
+             When used in the context of a projection, a response message or
+             sub-message is filtered by the API to only contain those fields as
+             specified in the mask. For example, if the mask in the previous
+             example is applied to a response message as follows:
+            
+                 f {
+                   a : 22
+                   b {
+                     d : 1
+                     x : 2
+                   }
+                   y : 13
+                 }
+                 z: 8
+            
+             The result will not contain specific values for fields x,y and z
+             (their value will be set to the default, and omitted in proto text
+             output):
+            
+                 f {
+                   a : 22
+                   b {
+                     d : 1
+                   }
+                 }
+            
+             A repeated field is not allowed except at the last position of a
+             paths string.
+            
+             If a FieldMask object is not present in a get operation, the
+             operation applies to all fields (as if a FieldMask of all fields
+             had been specified).
+            
+             Note that a field mask does not necessarily apply to the
+             top-level response message. In case of a REST get operation, the
+             field mask applies directly to the response, but in case of a REST
+             list operation, the mask instead applies to each individual message
+             in the returned resource list. In case of a REST custom method,
+             other definitions may be used. Where the mask applies will be
+             clearly documented together with its declaration in the API.  In
+             any case, the effect on the returned resource/resources is required
+             behavior for APIs.
+            
+             # Field Masks in Update Operations
+            
+             A field mask in update operations specifies which fields of the
+             targeted resource are going to be updated. The API is required
+             to only change the values of the fields as specified in the mask
+             and leave the others untouched. If a resource is passed in to
+             describe the updated values, the API ignores the values of all
+             fields not covered by the mask.
+            
+             If a repeated field is specified for an update operation, new values will
+             be appended to the existing repeated field in the target resource. Note that
+             a repeated field is only allowed in the last position of a `paths` string.
+            
+             If a sub-message is specified in the last position of the field mask for an
+             update operation, then new value will be merged into the existing sub-message
+             in the target resource.
+            
+             For example, given the target message:
+            
+                 f {
+                   b {
+                     d: 1
+                     x: 2
+                   }
+                   c: [1]
+                 }
+            
+             And an update message:
+            
+                 f {
+                   b {
+                     d: 10
+                   }
+                   c: [2]
+                 }
+            
+             then if the field mask is:
+            
+              paths: ["f.b", "f.c"]
+            
+             then the result will be:
+            
+                 f {
+                   b {
+                     d: 10
+                     x: 2
+                   }
+                   c: [1, 2]
+                 }
+            
+             An implementation may provide options to override this default behavior for
+             repeated and message fields.
+            
+             In order to reset a field's value to the default, the field must
+             be in the mask and set to the default value in the provided resource.
+             Hence, in order to reset all fields of a resource, provide a default
+             instance of the resource and set all fields in the mask, or do
+             not provide a mask as described below.
+            
+             If a field mask is not present on update, the operation applies to
+             all fields (as if a field mask of all fields has been specified).
+             Note that in the presence of schema evolution, this may mean that
+             fields the client does not know and has therefore not filled into
+             the request will be reset to their default. If this is unwanted
+             behavior, a specific service may require a client to always specify
+             a field mask, producing an error if not.
+            
+             As with get operations, the location of the resource which
+             describes the updated values in the request message depends on the
+             operation kind. In any case, the effect of the field mask is
+             required to be honored by the API.
+            
+             ## Considerations for HTTP REST
+            
+             The HTTP kind of an update operation which uses a field mask must
+             be set to PATCH instead of PUT in order to satisfy HTTP semantics
+             (PUT must only be used for full updates).
+            
+             # JSON Encoding of Field Masks
+            
+             In JSON, a field mask is encoded as a single string where paths are
+             separated by a comma. Fields name in each path are converted
+             to/from lower-camel naming conventions.
+            
+             As an example, consider the following message declarations:
+            
+                 message Profile {
+                   User user = 1;
+                   Photo photo = 2;
+                 }
+                 message User {
+                   string display_name = 1;
+                   string address = 2;
+                 }
+            
+             In proto a field mask for `Profile` may look as such:
+            
+                 mask {
+                   paths: "user.display_name"
+                   paths: "photo"
+                 }
+            
+             In JSON, the same mask is represented as below:
+            
+                 {
+                   mask: "user.displayName,photo"
+                 }
+            
+             # Field Masks and Oneof Fields
+            
+             Field masks treat fields in oneofs just as regular fields. Consider the
+             following message:
+            
+                 message SampleMessage {
+                   oneof test_oneof {
+                     string name = 4;
+                     SubMessage sub_message = 9;
+                   }
+                 }
+            
+             The field mask can be:
+            
+                 mask {
+                   paths: "name"
+                 }
+            
+             Or:
+            
+                 mask {
+                   paths: "sub_message"
+                 }
+            
+             Note that oneof type names ("test_oneof" in this case) cannot be used in
+             paths.
+            
+             ## Field Mask Verification
+            
+             The implementation of any API method which has a FieldMask type field in the
+             request should verify the included field paths, and return an
+             `INVALID_ARGUMENT` error if any path is unmappable.
+             </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.FieldMask.PathsFieldNumber">
+            <summary>Field number for the "paths" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.WellKnownTypes.FieldMask.Paths">
+            <summary>
+            The set of field mask paths.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.WellKnownTypes.FieldMask.ToJson(System.Collections.Generic.IList{System.String},System.Boolean)">
+            <summary>
+            Converts a field mask specified by paths to a string.
+            </summary>
+            <remarks>
+            If the value is a normalized duration in the range described in <c>field_mask.proto</c>,
+            <paramref name="diagnosticOnly"/> is ignored. Otherwise, if the parameter is <c>true</c>,
+            a JSON object with a warning is returned; if it is <c>false</c>, an <see cref="T:System.InvalidOperationException"/> is thrown.
+            </remarks>
+            <param name="paths">Paths in the field mask</param>
+            <param name="diagnosticOnly">Determines the handling of non-normalized values</param>
+            <exception cref="T:System.InvalidOperationException">The represented field mask is invalid, and <paramref name="diagnosticOnly"/> is <c>false</c>.</exception>
+        </member>
+        <member name="M:LC.Google.Protobuf.WellKnownTypes.FieldMask.ToDiagnosticString">
+            <summary>
+            Returns a string representation of this <see cref="T:LC.Google.Protobuf.WellKnownTypes.FieldMask"/> for diagnostic purposes.
+            </summary>
+            <remarks>
+            Normally the returned value will be a JSON string value (including leading and trailing quotes) but
+            when the value is non-normalized or out of range, a JSON object representation will be returned
+            instead, including a warning. This is to avoid exceptions being thrown when trying to
+            diagnose problems - the regular JSON formatter will still throw an exception for non-normalized
+            values.
+            </remarks>
+            <returns>A string representation of this value.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.WellKnownTypes.FieldMask.FromString(System.String)">
+            <summary>
+            Parses from a string to a FieldMask.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.WellKnownTypes.FieldMask.FromString``1(System.String)">
+            <summary>
+            Parses from a string to a FieldMask and validates all field paths.
+            </summary>
+            <typeparam name="T">The type to validate the field paths against.</typeparam>
+        </member>
+        <member name="M:LC.Google.Protobuf.WellKnownTypes.FieldMask.FromStringEnumerable``1(System.Collections.Generic.IEnumerable{System.String})">
+            <summary>
+            Constructs a FieldMask for a list of field paths in a certain type.
+            </summary>
+            <typeparam name="T">The type to validate the field paths against.</typeparam>
+        </member>
+        <member name="M:LC.Google.Protobuf.WellKnownTypes.FieldMask.FromFieldNumbers``1(System.Int32[])">
+            <summary>
+            Constructs a FieldMask from the passed field numbers.
+            </summary>
+            <typeparam name="T">The type to validate the field paths against.</typeparam>
+        </member>
+        <member name="M:LC.Google.Protobuf.WellKnownTypes.FieldMask.FromFieldNumbers``1(System.Collections.Generic.IEnumerable{System.Int32})">
+            <summary>
+            Constructs a FieldMask from the passed field numbers.
+            </summary>
+            <typeparam name="T">The type to validate the field paths against.</typeparam>
+        </member>
+        <member name="M:LC.Google.Protobuf.WellKnownTypes.FieldMask.IsPathValid(System.String)">
+            <summary>
+            Checks whether the given path is valid for a field mask.
+            </summary>
+            <returns>true if the path is valid; false otherwise</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.WellKnownTypes.FieldMask.IsValid``1(LC.Google.Protobuf.WellKnownTypes.FieldMask)">
+            <summary>
+            Checks whether paths in a given fields mask are valid.
+            </summary>
+            <typeparam name="T">The type to validate the field paths against.</typeparam>
+        </member>
+        <member name="M:LC.Google.Protobuf.WellKnownTypes.FieldMask.IsValid(LC.Google.Protobuf.Reflection.MessageDescriptor,LC.Google.Protobuf.WellKnownTypes.FieldMask)">
+            <summary>
+            Checks whether paths in a given fields mask are valid.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.WellKnownTypes.FieldMask.IsValid``1(System.String)">
+            <summary>
+            Checks whether a given field path is valid.
+            </summary>
+            <typeparam name="T">The type to validate the field paths against.</typeparam>
+        </member>
+        <member name="M:LC.Google.Protobuf.WellKnownTypes.FieldMask.IsValid(LC.Google.Protobuf.Reflection.MessageDescriptor,System.String)">
+            <summary>
+            Checks whether paths in a given fields mask are valid.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.WellKnownTypes.FieldMask.Normalize">
+            <summary>
+            Converts this FieldMask to its canonical form. In the canonical form of a
+            FieldMask, all field paths are sorted alphabetically and redundant field
+            paths are removed.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.WellKnownTypes.FieldMask.Union(LC.Google.Protobuf.WellKnownTypes.FieldMask[])">
+            <summary>
+            Creates a union of two or more FieldMasks.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.WellKnownTypes.FieldMask.Intersection(LC.Google.Protobuf.WellKnownTypes.FieldMask)">
+            <summary>
+            Calculates the intersection of two FieldMasks.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.WellKnownTypes.FieldMask.Merge(LC.Google.Protobuf.IMessage,LC.Google.Protobuf.IMessage,LC.Google.Protobuf.WellKnownTypes.FieldMask.MergeOptions)">
+            <summary>
+            Merges fields specified by this FieldMask from one message to another with the
+            specified merge options.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.WellKnownTypes.FieldMask.Merge(LC.Google.Protobuf.IMessage,LC.Google.Protobuf.IMessage)">
+            <summary>
+            Merges fields specified by this FieldMask from one message to another.
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.WellKnownTypes.FieldMask.MergeOptions">
+            <summary>
+            Options to customize merging behavior.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.WellKnownTypes.FieldMask.MergeOptions.ReplaceMessageFields">
+            <summary>
+            Whether to replace message fields(i.e., discard existing content in
+            destination message fields) when merging.
+            Default behavior is to merge the source message field into the
+            destination message field.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.WellKnownTypes.FieldMask.MergeOptions.ReplaceRepeatedFields">
+            <summary>
+            Whether to replace repeated fields (i.e., discard existing content in
+            destination repeated fields) when merging.
+            Default behavior is to append elements from source repeated field to the
+            destination repeated field.
+            </summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.WellKnownTypes.FieldMask.MergeOptions.ReplacePrimitiveFields">
+             <summary>
+             Whether to replace primitive (non-repeated and non-message) fields in
+             destination message fields with the source primitive fields (i.e., if the
+             field is set in the source, the value is copied to the
+             destination; if the field is unset in the source, the field is cleared
+             from the destination) when merging.
+            
+             Default behavior is to always set the value of the source primitive
+             field to the destination primitive field, and if the source field is
+             unset, the default value of the source field is copied to the
+             destination.
+             </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.WellKnownTypes.SourceContextReflection">
+            <summary>Holder for reflection information generated from google/protobuf/source_context.proto</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.WellKnownTypes.SourceContextReflection.Descriptor">
+            <summary>File descriptor for google/protobuf/source_context.proto</summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.WellKnownTypes.SourceContext">
+            <summary>
+            `SourceContext` represents information about the source of a
+            protobuf element, like the file in which it is defined.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.SourceContext.FileNameFieldNumber">
+            <summary>Field number for the "file_name" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.WellKnownTypes.SourceContext.FileName">
+            <summary>
+            The path-qualified name of the .proto file that contained the associated
+            protobuf element.  For example: `"google/protobuf/source_context.proto"`.
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.WellKnownTypes.StructReflection">
+            <summary>Holder for reflection information generated from google/protobuf/struct.proto</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.WellKnownTypes.StructReflection.Descriptor">
+            <summary>File descriptor for google/protobuf/struct.proto</summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.WellKnownTypes.NullValue">
+             <summary>
+             `NullValue` is a singleton enumeration to represent the null value for the
+             `Value` type union.
+            
+              The JSON representation for `NullValue` is JSON `null`.
+             </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.NullValue.NullValue">
+            <summary>
+            Null value.
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.WellKnownTypes.Struct">
+             <summary>
+             `Struct` represents a structured data value, consisting of fields
+             which map to dynamically typed values. In some languages, `Struct`
+             might be supported by a native representation. For example, in
+             scripting languages like JS a struct is represented as an
+             object. The details of that representation are described together
+             with the proto support for the language.
+            
+             The JSON representation for `Struct` is JSON object.
+             </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.Struct.FieldsFieldNumber">
+            <summary>Field number for the "fields" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.WellKnownTypes.Struct.Fields">
+            <summary>
+            Unordered map of dynamically typed values.
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.WellKnownTypes.Value">
+             <summary>
+             `Value` represents a dynamically typed value which can be either
+             null, a number, a string, a boolean, a recursive struct value, or a
+             list of values. A producer of value is expected to set one of that
+             variants, absence of any variant indicates an error.
+            
+             The JSON representation for `Value` is JSON value.
+             </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.Value.NullValueFieldNumber">
+            <summary>Field number for the "null_value" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.WellKnownTypes.Value.NullValue">
+            <summary>
+            Represents a null value.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.Value.NumberValueFieldNumber">
+            <summary>Field number for the "number_value" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.WellKnownTypes.Value.NumberValue">
+            <summary>
+            Represents a double value.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.Value.StringValueFieldNumber">
+            <summary>Field number for the "string_value" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.WellKnownTypes.Value.StringValue">
+            <summary>
+            Represents a string value.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.Value.BoolValueFieldNumber">
+            <summary>Field number for the "bool_value" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.WellKnownTypes.Value.BoolValue">
+            <summary>
+            Represents a boolean value.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.Value.StructValueFieldNumber">
+            <summary>Field number for the "struct_value" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.WellKnownTypes.Value.StructValue">
+            <summary>
+            Represents a structured value.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.Value.ListValueFieldNumber">
+            <summary>Field number for the "list_value" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.WellKnownTypes.Value.ListValue">
+            <summary>
+            Represents a repeated `Value`.
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.WellKnownTypes.Value.KindOneofCase">
+            <summary>Enum of possible cases for the "kind" oneof.</summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.WellKnownTypes.Value.ForString(System.String)">
+            <summary>
+            Convenience method to create a Value message with a string value.
+            </summary>
+            <param name="value">Value to set for the StringValue property.</param>
+            <returns>A newly-created Value message with the given value.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.WellKnownTypes.Value.ForNumber(System.Double)">
+            <summary>
+            Convenience method to create a Value message with a number value.
+            </summary>
+            <param name="value">Value to set for the NumberValue property.</param>
+            <returns>A newly-created Value message with the given value.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.WellKnownTypes.Value.ForBool(System.Boolean)">
+            <summary>
+            Convenience method to create a Value message with a Boolean value.
+            </summary>
+            <param name="value">Value to set for the BoolValue property.</param>
+            <returns>A newly-created Value message with the given value.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.WellKnownTypes.Value.ForNull">
+            <summary>
+            Convenience method to create a Value message with a null initial value.
+            </summary>
+            <returns>A newly-created Value message a null initial value.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.WellKnownTypes.Value.ForList(LC.Google.Protobuf.WellKnownTypes.Value[])">
+            <summary>
+            Convenience method to create a Value message with an initial list of values.
+            </summary>
+            <remarks>The values provided are not cloned; the references are copied directly.</remarks>
+            <returns>A newly-created Value message an initial list value.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.WellKnownTypes.Value.ForStruct(LC.Google.Protobuf.WellKnownTypes.Struct)">
+            <summary>
+            Convenience method to create a Value message with an initial struct value
+            </summary>
+            <remarks>The value provided is not cloned; the reference is copied directly.</remarks>
+            <returns>A newly-created Value message an initial struct value.</returns>
+        </member>
+        <member name="T:LC.Google.Protobuf.WellKnownTypes.ListValue">
+             <summary>
+             `ListValue` is a wrapper around a repeated field of values.
+            
+             The JSON representation for `ListValue` is JSON array.
+             </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.ListValue.ValuesFieldNumber">
+            <summary>Field number for the "values" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.WellKnownTypes.ListValue.Values">
+            <summary>
+            Repeated field of dynamically typed values.
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.WellKnownTypes.TimeExtensions">
+            <summary>
+            Extension methods on BCL time-related types, converting to protobuf types.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.WellKnownTypes.TimeExtensions.ToTimestamp(System.DateTime)">
+            <summary>
+            Converts the given <see cref="T:System.DateTime"/> to a <see cref="T:LC.Google.Protobuf.WellKnownTypes.Timestamp"/>.
+            </summary>
+            <param name="dateTime">The date and time to convert to a timestamp.</param>
+            <exception cref="T:System.ArgumentException">The <paramref name="dateTime"/> value has a <see cref="P:System.DateTime.Kind"/>other than <c>Utc</c>.</exception>
+            <returns>The converted timestamp.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.WellKnownTypes.TimeExtensions.ToTimestamp(System.DateTimeOffset)">
+            <summary>
+            Converts the given <see cref="T:System.DateTimeOffset"/> to a <see cref="T:LC.Google.Protobuf.WellKnownTypes.Timestamp"/>
+            </summary>
+            <remarks>The offset is taken into consideration when converting the value (so the same instant in time
+            is represented) but is not a separate part of the resulting value. In other words, there is no
+            roundtrip operation to retrieve the original <c>DateTimeOffset</c>.</remarks>
+            <param name="dateTimeOffset">The date and time (with UTC offset) to convert to a timestamp.</param>
+            <returns>The converted timestamp.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.WellKnownTypes.TimeExtensions.ToDuration(System.TimeSpan)">
+            <summary>
+            Converts the given <see cref="T:System.TimeSpan"/> to a <see cref="T:LC.Google.Protobuf.WellKnownTypes.Duration"/>.
+            </summary>
+            <param name="timeSpan">The time span to convert.</param>
+            <returns>The converted duration.</returns>
+        </member>
+        <member name="T:LC.Google.Protobuf.WellKnownTypes.TimestampReflection">
+            <summary>Holder for reflection information generated from google/protobuf/timestamp.proto</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.WellKnownTypes.TimestampReflection.Descriptor">
+            <summary>File descriptor for google/protobuf/timestamp.proto</summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.WellKnownTypes.Timestamp">
+             <summary>
+             A Timestamp represents a point in time independent of any time zone or local
+             calendar, encoded as a count of seconds and fractions of seconds at
+             nanosecond resolution. The count is relative to an epoch at UTC midnight on
+             January 1, 1970, in the proleptic Gregorian calendar which extends the
+             Gregorian calendar backwards to year one.
+            
+             All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
+             second table is needed for interpretation, using a [24-hour linear
+             smear](https://developers.google.com/time/smear).
+            
+             The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
+             restricting to that range, we ensure that we can convert to and from [RFC
+             3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
+            
+             # Examples
+            
+             Example 1: Compute Timestamp from POSIX `time()`.
+            
+                 Timestamp timestamp;
+                 timestamp.set_seconds(time(NULL));
+                 timestamp.set_nanos(0);
+            
+             Example 2: Compute Timestamp from POSIX `gettimeofday()`.
+            
+                 struct timeval tv;
+                 gettimeofday(&amp;tv, NULL);
+            
+                 Timestamp timestamp;
+                 timestamp.set_seconds(tv.tv_sec);
+                 timestamp.set_nanos(tv.tv_usec * 1000);
+            
+             Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
+            
+                 FILETIME ft;
+                 GetSystemTimeAsFileTime(&amp;ft);
+                 UINT64 ticks = (((UINT64)ft.dwHighDateTime) &lt;&lt; 32) | ft.dwLowDateTime;
+            
+                 // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
+                 // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
+                 Timestamp timestamp;
+                 timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
+                 timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
+            
+             Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
+            
+                 long millis = System.currentTimeMillis();
+            
+                 Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
+                     .setNanos((int) ((millis % 1000) * 1000000)).build();
+            
+             Example 5: Compute Timestamp from current time in Python.
+            
+                 timestamp = Timestamp()
+                 timestamp.GetCurrentTime()
+            
+             # JSON Mapping
+            
+             In JSON format, the Timestamp type is encoded as a string in the
+             [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the
+             format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z"
+             where {year} is always expressed using four digits while {month}, {day},
+             {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional
+             seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),
+             are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone
+             is required. A proto3 JSON serializer should always use UTC (as indicated by
+             "Z") when printing the Timestamp type and a proto3 JSON parser should be
+             able to accept both UTC and other timezones (as indicated by an offset).
+            
+             For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past
+             01:30 UTC on January 15, 2017.
+            
+             In JavaScript, one can convert a Date object to this format using the
+             standard
+             [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)
+             method. In Python, a standard `datetime.datetime` object can be converted
+             to this format using
+             [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with
+             the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use
+             the Joda Time's [`ISODateTimeFormat.dateTime()`](
+             http://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime%2D%2D
+             ) to obtain a formatter capable of generating timestamps in this format.
+             </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.Timestamp.SecondsFieldNumber">
+            <summary>Field number for the "seconds" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.WellKnownTypes.Timestamp.Seconds">
+            <summary>
+            Represents seconds of UTC time since Unix epoch
+            1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to
+            9999-12-31T23:59:59Z inclusive.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.Timestamp.NanosFieldNumber">
+            <summary>Field number for the "nanos" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.WellKnownTypes.Timestamp.Nanos">
+            <summary>
+            Non-negative fractions of a second at nanosecond resolution. Negative
+            second values with fractions must still have non-negative nanos values
+            that count forward in time. Must be from 0 to 999,999,999
+            inclusive.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.WellKnownTypes.Timestamp.op_Subtraction(LC.Google.Protobuf.WellKnownTypes.Timestamp,LC.Google.Protobuf.WellKnownTypes.Timestamp)">
+            <summary>
+            Returns the difference between one <see cref="T:LC.Google.Protobuf.WellKnownTypes.Timestamp"/> and another, as a <see cref="T:LC.Google.Protobuf.WellKnownTypes.Duration"/>.
+            </summary>
+            <param name="lhs">The timestamp to subtract from. Must not be null.</param>
+            <param name="rhs">The timestamp to subtract. Must not be null.</param>
+            <returns>The difference between the two specified timestamps.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.WellKnownTypes.Timestamp.op_Addition(LC.Google.Protobuf.WellKnownTypes.Timestamp,LC.Google.Protobuf.WellKnownTypes.Duration)">
+            <summary>
+            Adds a <see cref="T:LC.Google.Protobuf.WellKnownTypes.Duration"/> to a <see cref="T:LC.Google.Protobuf.WellKnownTypes.Timestamp"/>, to obtain another <c>Timestamp</c>.
+            </summary>
+            <param name="lhs">The timestamp to add the duration to. Must not be null.</param>
+            <param name="rhs">The duration to add. Must not be null.</param>
+            <returns>The result of adding the duration to the timestamp.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.WellKnownTypes.Timestamp.op_Subtraction(LC.Google.Protobuf.WellKnownTypes.Timestamp,LC.Google.Protobuf.WellKnownTypes.Duration)">
+            <summary>
+            Subtracts a <see cref="T:LC.Google.Protobuf.WellKnownTypes.Duration"/> from a <see cref="T:LC.Google.Protobuf.WellKnownTypes.Timestamp"/>, to obtain another <c>Timestamp</c>.
+            </summary>
+            <param name="lhs">The timestamp to subtract the duration from. Must not be null.</param>
+            <param name="rhs">The duration to subtract.</param>
+            <returns>The result of subtracting the duration from the timestamp.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.WellKnownTypes.Timestamp.ToDateTime">
+            <summary>
+            Converts this timestamp into a <see cref="T:System.DateTime"/>.
+            </summary>
+            <remarks>
+            The resulting <c>DateTime</c> will always have a <c>Kind</c> of <c>Utc</c>.
+            If the timestamp is not a precise number of ticks, it will be truncated towards the start
+            of time. For example, a timestamp with a <see cref="P:LC.Google.Protobuf.WellKnownTypes.Timestamp.Nanos"/> value of 99 will result in a
+            <see cref="T:System.DateTime"/> value precisely on a second.
+            </remarks>
+            <returns>This timestamp as a <c>DateTime</c>.</returns>
+            <exception cref="T:System.InvalidOperationException">The timestamp contains invalid values; either it is
+            incorrectly normalized or is outside the valid range.</exception>
+        </member>
+        <member name="M:LC.Google.Protobuf.WellKnownTypes.Timestamp.ToDateTimeOffset">
+            <summary>
+            Converts this timestamp into a <see cref="T:System.DateTimeOffset"/>.
+            </summary>
+            <remarks>
+            The resulting <c>DateTimeOffset</c> will always have an <c>Offset</c> of zero.
+            If the timestamp is not a precise number of ticks, it will be truncated towards the start
+            of time. For example, a timestamp with a <see cref="P:LC.Google.Protobuf.WellKnownTypes.Timestamp.Nanos"/> value of 99 will result in a
+            <see cref="T:System.DateTimeOffset"/> value precisely on a second.
+            </remarks>
+            <returns>This timestamp as a <c>DateTimeOffset</c>.</returns>
+            <exception cref="T:System.InvalidOperationException">The timestamp contains invalid values; either it is
+            incorrectly normalized or is outside the valid range.</exception>
+        </member>
+        <member name="M:LC.Google.Protobuf.WellKnownTypes.Timestamp.FromDateTime(System.DateTime)">
+            <summary>
+            Converts the specified <see cref="T:System.DateTime"/> to a <see cref="T:LC.Google.Protobuf.WellKnownTypes.Timestamp"/>.
+            </summary>
+            <param name="dateTime"></param>
+            <exception cref="T:System.ArgumentException">The <c>Kind</c> of <paramref name="dateTime"/> is not <c>DateTimeKind.Utc</c>.</exception>
+            <returns>The converted timestamp.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.WellKnownTypes.Timestamp.FromDateTimeOffset(System.DateTimeOffset)">
+            <summary>
+            Converts the given <see cref="T:System.DateTimeOffset"/> to a <see cref="T:LC.Google.Protobuf.WellKnownTypes.Timestamp"/>
+            </summary>
+            <remarks>The offset is taken into consideration when converting the value (so the same instant in time
+            is represented) but is not a separate part of the resulting value. In other words, there is no
+            roundtrip operation to retrieve the original <c>DateTimeOffset</c>.</remarks>
+            <param name="dateTimeOffset">The date and time (with UTC offset) to convert to a timestamp.</param>
+            <returns>The converted timestamp.</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.WellKnownTypes.Timestamp.ToJson(System.Int64,System.Int32,System.Boolean)">
+            <summary>
+            Converts a timestamp specified in seconds/nanoseconds to a string.
+            </summary>
+            <remarks>
+            If the value is a normalized duration in the range described in <c>timestamp.proto</c>,
+            <paramref name="diagnosticOnly"/> is ignored. Otherwise, if the parameter is <c>true</c>,
+            a JSON object with a warning is returned; if it is <c>false</c>, an <see cref="T:System.InvalidOperationException"/> is thrown.
+            </remarks>
+            <param name="seconds">Seconds portion of the duration.</param>
+            <param name="nanoseconds">Nanoseconds portion of the duration.</param>
+            <param name="diagnosticOnly">Determines the handling of non-normalized values</param>
+            <exception cref="T:System.InvalidOperationException">The represented duration is invalid, and <paramref name="diagnosticOnly"/> is <c>false</c>.</exception>
+        </member>
+        <member name="M:LC.Google.Protobuf.WellKnownTypes.Timestamp.CompareTo(LC.Google.Protobuf.WellKnownTypes.Timestamp)">
+            <summary>
+            Given another timestamp, returns 0 if the timestamps are equivalent, -1 if this timestamp precedes the other, and 1 otherwise
+            </summary>
+            <remarks>
+            Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results.
+            </remarks>
+            <param name="other">Timestamp to compare</param>
+            <returns>an integer indicating whether this timestamp precedes or follows the other</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.WellKnownTypes.Timestamp.op_LessThan(LC.Google.Protobuf.WellKnownTypes.Timestamp,LC.Google.Protobuf.WellKnownTypes.Timestamp)">
+            <summary>
+            Compares two timestamps and returns whether the first is less than (chronologically precedes) the second
+            </summary>
+            <remarks>
+            Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results.
+            </remarks>
+            <param name="a"></param>
+            <param name="b"></param>
+            <returns>true if a precedes b</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.WellKnownTypes.Timestamp.op_GreaterThan(LC.Google.Protobuf.WellKnownTypes.Timestamp,LC.Google.Protobuf.WellKnownTypes.Timestamp)">
+            <summary>
+            Compares two timestamps and returns whether the first is greater than (chronologically follows) the second
+            </summary>
+            <remarks>
+            Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results.
+            </remarks>
+            <param name="a"></param>
+            <param name="b"></param>
+            <returns>true if a follows b</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.WellKnownTypes.Timestamp.op_LessThanOrEqual(LC.Google.Protobuf.WellKnownTypes.Timestamp,LC.Google.Protobuf.WellKnownTypes.Timestamp)">
+            <summary>
+            Compares two timestamps and returns whether the first is less than (chronologically precedes) the second
+            </summary>
+            <remarks>
+            Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results.
+            </remarks>
+            <param name="a"></param>
+            <param name="b"></param>
+            <returns>true if a precedes b</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.WellKnownTypes.Timestamp.op_GreaterThanOrEqual(LC.Google.Protobuf.WellKnownTypes.Timestamp,LC.Google.Protobuf.WellKnownTypes.Timestamp)">
+            <summary>
+            Compares two timestamps and returns whether the first is greater than (chronologically follows) the second
+            </summary>
+            <remarks>
+            Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results.
+            </remarks>
+            <param name="a"></param>
+            <param name="b"></param>
+            <returns>true if a follows b</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.WellKnownTypes.Timestamp.op_Equality(LC.Google.Protobuf.WellKnownTypes.Timestamp,LC.Google.Protobuf.WellKnownTypes.Timestamp)">
+            <summary>
+            Returns whether two timestamps are equivalent
+            </summary>
+            <remarks>
+            Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results.
+            </remarks>
+            <param name="a"></param>
+            <param name="b"></param>
+            <returns>true if the two timestamps refer to the same nanosecond</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.WellKnownTypes.Timestamp.op_Inequality(LC.Google.Protobuf.WellKnownTypes.Timestamp,LC.Google.Protobuf.WellKnownTypes.Timestamp)">
+            <summary>
+            Returns whether two timestamps differ
+            </summary>
+            <remarks>
+            Make sure the timestamps are normalized. Comparing non-normalized timestamps is not specified and may give unexpected results.
+            </remarks>
+            <param name="a"></param>
+            <param name="b"></param>
+            <returns>true if the two timestamps differ</returns>
+        </member>
+        <member name="M:LC.Google.Protobuf.WellKnownTypes.Timestamp.ToDiagnosticString">
+            <summary>
+            Returns a string representation of this <see cref="T:LC.Google.Protobuf.WellKnownTypes.Timestamp"/> for diagnostic purposes.
+            </summary>
+            <remarks>
+            Normally the returned value will be a JSON string value (including leading and trailing quotes) but
+            when the value is non-normalized or out of range, a JSON object representation will be returned
+            instead, including a warning. This is to avoid exceptions being thrown when trying to
+            diagnose problems - the regular JSON formatter will still throw an exception for non-normalized
+            values.
+            </remarks>
+            <returns>A string representation of this value.</returns>
+        </member>
+        <member name="T:LC.Google.Protobuf.WellKnownTypes.TypeReflection">
+            <summary>Holder for reflection information generated from google/protobuf/type.proto</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.WellKnownTypes.TypeReflection.Descriptor">
+            <summary>File descriptor for google/protobuf/type.proto</summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.WellKnownTypes.Syntax">
+            <summary>
+            The syntax in which a protocol buffer element is defined.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.Syntax.Proto2">
+            <summary>
+            Syntax `proto2`.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.Syntax.Proto3">
+            <summary>
+            Syntax `proto3`.
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.WellKnownTypes.Type">
+            <summary>
+            A protocol buffer message type.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.Type.NameFieldNumber">
+            <summary>Field number for the "name" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.WellKnownTypes.Type.Name">
+            <summary>
+            The fully qualified message name.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.Type.FieldsFieldNumber">
+            <summary>Field number for the "fields" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.WellKnownTypes.Type.Fields">
+            <summary>
+            The list of fields.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.Type.OneofsFieldNumber">
+            <summary>Field number for the "oneofs" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.WellKnownTypes.Type.Oneofs">
+            <summary>
+            The list of types appearing in `oneof` definitions in this type.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.Type.OptionsFieldNumber">
+            <summary>Field number for the "options" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.WellKnownTypes.Type.Options">
+            <summary>
+            The protocol buffer options.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.Type.SourceContextFieldNumber">
+            <summary>Field number for the "source_context" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.WellKnownTypes.Type.SourceContext">
+            <summary>
+            The source context.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.Type.SyntaxFieldNumber">
+            <summary>Field number for the "syntax" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.WellKnownTypes.Type.Syntax">
+            <summary>
+            The source syntax.
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.WellKnownTypes.Field">
+            <summary>
+            A single field of a message type.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.Field.KindFieldNumber">
+            <summary>Field number for the "kind" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.WellKnownTypes.Field.Kind">
+            <summary>
+            The field type.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.Field.CardinalityFieldNumber">
+            <summary>Field number for the "cardinality" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.WellKnownTypes.Field.Cardinality">
+            <summary>
+            The field cardinality.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.Field.NumberFieldNumber">
+            <summary>Field number for the "number" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.WellKnownTypes.Field.Number">
+            <summary>
+            The field number.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.Field.NameFieldNumber">
+            <summary>Field number for the "name" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.WellKnownTypes.Field.Name">
+            <summary>
+            The field name.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.Field.TypeUrlFieldNumber">
+            <summary>Field number for the "type_url" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.WellKnownTypes.Field.TypeUrl">
+            <summary>
+            The field type URL, without the scheme, for message or enumeration
+            types. Example: `"type.googleapis.com/google.protobuf.Timestamp"`.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.Field.OneofIndexFieldNumber">
+            <summary>Field number for the "oneof_index" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.WellKnownTypes.Field.OneofIndex">
+            <summary>
+            The index of the field type in `Type.oneofs`, for message or enumeration
+            types. The first type has index 1; zero means the type is not in the list.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.Field.PackedFieldNumber">
+            <summary>Field number for the "packed" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.WellKnownTypes.Field.Packed">
+            <summary>
+            Whether to use alternative packed wire representation.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.Field.OptionsFieldNumber">
+            <summary>Field number for the "options" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.WellKnownTypes.Field.Options">
+            <summary>
+            The protocol buffer options.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.Field.JsonNameFieldNumber">
+            <summary>Field number for the "json_name" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.WellKnownTypes.Field.JsonName">
+            <summary>
+            The field JSON name.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.Field.DefaultValueFieldNumber">
+            <summary>Field number for the "default_value" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.WellKnownTypes.Field.DefaultValue">
+            <summary>
+            The string value of the default value of this field. Proto2 syntax only.
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.WellKnownTypes.Field.Types">
+            <summary>Container for nested types declared in the Field message type.</summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.WellKnownTypes.Field.Types.Kind">
+            <summary>
+            Basic field types.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.Field.Types.Kind.TypeUnknown">
+            <summary>
+            Field type unknown.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.Field.Types.Kind.TypeDouble">
+            <summary>
+            Field type double.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.Field.Types.Kind.TypeFloat">
+            <summary>
+            Field type float.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.Field.Types.Kind.TypeInt64">
+            <summary>
+            Field type int64.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.Field.Types.Kind.TypeUint64">
+            <summary>
+            Field type uint64.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.Field.Types.Kind.TypeInt32">
+            <summary>
+            Field type int32.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.Field.Types.Kind.TypeFixed64">
+            <summary>
+            Field type fixed64.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.Field.Types.Kind.TypeFixed32">
+            <summary>
+            Field type fixed32.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.Field.Types.Kind.TypeBool">
+            <summary>
+            Field type bool.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.Field.Types.Kind.TypeString">
+            <summary>
+            Field type string.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.Field.Types.Kind.TypeGroup">
+            <summary>
+            Field type group. Proto2 syntax only, and deprecated.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.Field.Types.Kind.TypeMessage">
+            <summary>
+            Field type message.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.Field.Types.Kind.TypeBytes">
+            <summary>
+            Field type bytes.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.Field.Types.Kind.TypeUint32">
+            <summary>
+            Field type uint32.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.Field.Types.Kind.TypeEnum">
+            <summary>
+            Field type enum.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.Field.Types.Kind.TypeSfixed32">
+            <summary>
+            Field type sfixed32.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.Field.Types.Kind.TypeSfixed64">
+            <summary>
+            Field type sfixed64.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.Field.Types.Kind.TypeSint32">
+            <summary>
+            Field type sint32.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.Field.Types.Kind.TypeSint64">
+            <summary>
+            Field type sint64.
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.WellKnownTypes.Field.Types.Cardinality">
+            <summary>
+            Whether a field is optional, required, or repeated.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.Field.Types.Cardinality.Unknown">
+            <summary>
+            For fields with unknown cardinality.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.Field.Types.Cardinality.Optional">
+            <summary>
+            For optional fields.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.Field.Types.Cardinality.Required">
+            <summary>
+            For required fields. Proto2 syntax only.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.Field.Types.Cardinality.Repeated">
+            <summary>
+            For repeated fields.
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.WellKnownTypes.Enum">
+            <summary>
+            Enum type definition.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.Enum.NameFieldNumber">
+            <summary>Field number for the "name" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.WellKnownTypes.Enum.Name">
+            <summary>
+            Enum type name.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.Enum.EnumvalueFieldNumber">
+            <summary>Field number for the "enumvalue" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.WellKnownTypes.Enum.Enumvalue">
+            <summary>
+            Enum value definitions.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.Enum.OptionsFieldNumber">
+            <summary>Field number for the "options" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.WellKnownTypes.Enum.Options">
+            <summary>
+            Protocol buffer options.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.Enum.SourceContextFieldNumber">
+            <summary>Field number for the "source_context" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.WellKnownTypes.Enum.SourceContext">
+            <summary>
+            The source context.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.Enum.SyntaxFieldNumber">
+            <summary>Field number for the "syntax" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.WellKnownTypes.Enum.Syntax">
+            <summary>
+            The source syntax.
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.WellKnownTypes.EnumValue">
+            <summary>
+            Enum value definition.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.EnumValue.NameFieldNumber">
+            <summary>Field number for the "name" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.WellKnownTypes.EnumValue.Name">
+            <summary>
+            Enum value name.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.EnumValue.NumberFieldNumber">
+            <summary>Field number for the "number" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.WellKnownTypes.EnumValue.Number">
+            <summary>
+            Enum value number.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.EnumValue.OptionsFieldNumber">
+            <summary>Field number for the "options" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.WellKnownTypes.EnumValue.Options">
+            <summary>
+            Protocol buffer options.
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.WellKnownTypes.Option">
+            <summary>
+            A protocol buffer option, which can be attached to a message, field,
+            enumeration, etc.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.Option.NameFieldNumber">
+            <summary>Field number for the "name" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.WellKnownTypes.Option.Name">
+            <summary>
+            The option's name. For protobuf built-in options (options defined in
+            descriptor.proto), this is the short name. For example, `"map_entry"`.
+            For custom options, it should be the fully-qualified name. For example,
+            `"google.api.http"`.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.Option.ValueFieldNumber">
+            <summary>Field number for the "value" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.WellKnownTypes.Option.Value">
+            <summary>
+            The option's value packed in an Any message. If the value is a primitive,
+            the corresponding wrapper type defined in google/protobuf/wrappers.proto
+            should be used. If the value is an enum, it should be stored as an int32
+            value using the google.protobuf.Int32Value type.
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.WellKnownTypes.WrappersReflection">
+            <summary>Holder for reflection information generated from google/protobuf/wrappers.proto</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.WellKnownTypes.WrappersReflection.Descriptor">
+            <summary>File descriptor for google/protobuf/wrappers.proto</summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.WrappersReflection.WrapperValueFieldNumber">
+            <summary>
+            Field number for the single "value" field in all wrapper types.
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.WellKnownTypes.DoubleValue">
+             <summary>
+             Wrapper message for `double`.
+            
+             The JSON representation for `DoubleValue` is JSON number.
+             </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.DoubleValue.ValueFieldNumber">
+            <summary>Field number for the "value" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.WellKnownTypes.DoubleValue.Value">
+            <summary>
+            The double value.
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.WellKnownTypes.FloatValue">
+             <summary>
+             Wrapper message for `float`.
+            
+             The JSON representation for `FloatValue` is JSON number.
+             </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.FloatValue.ValueFieldNumber">
+            <summary>Field number for the "value" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.WellKnownTypes.FloatValue.Value">
+            <summary>
+            The float value.
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.WellKnownTypes.Int64Value">
+             <summary>
+             Wrapper message for `int64`.
+            
+             The JSON representation for `Int64Value` is JSON string.
+             </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.Int64Value.ValueFieldNumber">
+            <summary>Field number for the "value" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.WellKnownTypes.Int64Value.Value">
+            <summary>
+            The int64 value.
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.WellKnownTypes.UInt64Value">
+             <summary>
+             Wrapper message for `uint64`.
+            
+             The JSON representation for `UInt64Value` is JSON string.
+             </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.UInt64Value.ValueFieldNumber">
+            <summary>Field number for the "value" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.WellKnownTypes.UInt64Value.Value">
+            <summary>
+            The uint64 value.
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.WellKnownTypes.Int32Value">
+             <summary>
+             Wrapper message for `int32`.
+            
+             The JSON representation for `Int32Value` is JSON number.
+             </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.Int32Value.ValueFieldNumber">
+            <summary>Field number for the "value" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.WellKnownTypes.Int32Value.Value">
+            <summary>
+            The int32 value.
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.WellKnownTypes.UInt32Value">
+             <summary>
+             Wrapper message for `uint32`.
+            
+             The JSON representation for `UInt32Value` is JSON number.
+             </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.UInt32Value.ValueFieldNumber">
+            <summary>Field number for the "value" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.WellKnownTypes.UInt32Value.Value">
+            <summary>
+            The uint32 value.
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.WellKnownTypes.BoolValue">
+             <summary>
+             Wrapper message for `bool`.
+            
+             The JSON representation for `BoolValue` is JSON `true` and `false`.
+             </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.BoolValue.ValueFieldNumber">
+            <summary>Field number for the "value" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.WellKnownTypes.BoolValue.Value">
+            <summary>
+            The bool value.
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.WellKnownTypes.StringValue">
+             <summary>
+             Wrapper message for `string`.
+            
+             The JSON representation for `StringValue` is JSON string.
+             </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.StringValue.ValueFieldNumber">
+            <summary>Field number for the "value" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.WellKnownTypes.StringValue.Value">
+            <summary>
+            The string value.
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.WellKnownTypes.BytesValue">
+             <summary>
+             Wrapper message for `bytes`.
+            
+             The JSON representation for `BytesValue` is JSON string.
+             </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WellKnownTypes.BytesValue.ValueFieldNumber">
+            <summary>Field number for the "value" field.</summary>
+        </member>
+        <member name="P:LC.Google.Protobuf.WellKnownTypes.BytesValue.Value">
+            <summary>
+            The bytes value.
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.WireFormat">
+            <summary>
+            This class is used internally by the Protocol Buffer Library and generated
+            message implementations. It is public only for the sake of those generated
+            messages. Others should not use this class directly.
+            <para>
+            This class contains constants and helper functions useful for dealing with
+            the Protocol Buffer wire format.
+            </para>
+            </summary>
+        </member>
+        <member name="T:LC.Google.Protobuf.WireFormat.WireType">
+            <summary>
+            Wire types within protobuf encoding.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WireFormat.WireType.Varint">
+            <summary>
+            Variable-length integer.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WireFormat.WireType.Fixed64">
+            <summary>
+            A fixed-length 64-bit value.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WireFormat.WireType.LengthDelimited">
+            <summary>
+            A length-delimited value, i.e. a length followed by that many bytes of data.
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WireFormat.WireType.StartGroup">
+            <summary>
+            A "start group" value
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WireFormat.WireType.EndGroup">
+            <summary>
+            An "end group" value
+            </summary>
+        </member>
+        <member name="F:LC.Google.Protobuf.WireFormat.WireType.Fixed32">
+            <summary>
+            A fixed-length 32-bit value.
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.WireFormat.GetTagWireType(System.UInt32)">
+            <summary>
+            Given a tag value, determines the wire type (lower 3 bits).
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.WireFormat.GetTagFieldNumber(System.UInt32)">
+            <summary>
+            Given a tag value, determines the field number (the upper 29 bits).
+            </summary>
+        </member>
+        <member name="M:LC.Google.Protobuf.WireFormat.MakeTag(System.Int32,LC.Google.Protobuf.WireFormat.WireType)">
+            <summary>
+            Makes a tag value given a field number and wire type.
+            </summary>
+        </member>
+    </members>
+</doc>

+ 7 - 0
GameClient/Assets/Plugins/LeanCloudSDK/LC.Google.Protobuf.xml.meta

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

BIN
GameClient/Assets/Plugins/LeanCloudSDK/LC.Newtonsoft.Json.dll


+ 33 - 0
GameClient/Assets/Plugins/LeanCloudSDK/LC.Newtonsoft.Json.dll.meta

@@ -0,0 +1,33 @@
+fileFormatVersion: 2
+guid: 086ff4fcfaac7c7498ed3e7526c3144c
+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: 

BIN
GameClient/Assets/Plugins/LeanCloudSDK/LC.Newtonsoft.Json.pdb


+ 7 - 0
GameClient/Assets/Plugins/LeanCloudSDK/LC.Newtonsoft.Json.pdb.meta

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

+ 11246 - 0
GameClient/Assets/Plugins/LeanCloudSDK/LC.Newtonsoft.Json.xml

@@ -0,0 +1,11246 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>LC.Newtonsoft.Json</name>
+    </assembly>
+    <members>
+        <member name="T:LC.Newtonsoft.Json.Bson.BsonObjectId">
+            <summary>
+            Represents a BSON Oid (object id).
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Bson.BsonObjectId.Value">
+            <summary>
+            Gets or sets the value of the Oid.
+            </summary>
+            <value>The value of the Oid.</value>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Bson.BsonObjectId.#ctor(System.Byte[])">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Bson.BsonObjectId"/> class.
+            </summary>
+            <param name="value">The Oid value.</param>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Bson.BsonReader">
+            <summary>
+            Represents a reader that provides fast, non-cached, forward-only access to serialized BSON data.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Bson.BsonReader.JsonNet35BinaryCompatibility">
+            <summary>
+            Gets or sets a value indicating whether binary data reading should be compatible with incorrect Json.NET 3.5 written binary.
+            </summary>
+            <value>
+            	<c>true</c> if binary data reading will be compatible with incorrect Json.NET 3.5 written binary; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Bson.BsonReader.ReadRootValueAsArray">
+            <summary>
+            Gets or sets a value indicating whether the root object will be read as a JSON array.
+            </summary>
+            <value>
+            	<c>true</c> if the root object will be read as a JSON array; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Bson.BsonReader.DateTimeKindHandling">
+            <summary>
+            Gets or sets the <see cref="T:System.DateTimeKind" /> used when reading <see cref="T:System.DateTime"/> values from BSON.
+            </summary>
+            <value>The <see cref="T:System.DateTimeKind" /> used when reading <see cref="T:System.DateTime"/> values from BSON.</value>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Bson.BsonReader.#ctor(System.IO.Stream)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Bson.BsonReader"/> class.
+            </summary>
+            <param name="stream">The <see cref="T:System.IO.Stream"/> containing the BSON data to read.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Bson.BsonReader.#ctor(System.IO.BinaryReader)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Bson.BsonReader"/> class.
+            </summary>
+            <param name="reader">The <see cref="T:System.IO.BinaryReader"/> containing the BSON data to read.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Bson.BsonReader.#ctor(System.IO.Stream,System.Boolean,System.DateTimeKind)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Bson.BsonReader"/> class.
+            </summary>
+            <param name="stream">The <see cref="T:System.IO.Stream"/> containing the BSON data to read.</param>
+            <param name="readRootValueAsArray">if set to <c>true</c> the root object will be read as a JSON array.</param>
+            <param name="dateTimeKindHandling">The <see cref="T:System.DateTimeKind" /> used when reading <see cref="T:System.DateTime"/> values from BSON.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Bson.BsonReader.#ctor(System.IO.BinaryReader,System.Boolean,System.DateTimeKind)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Bson.BsonReader"/> class.
+            </summary>
+            <param name="reader">The <see cref="T:System.IO.BinaryReader"/> containing the BSON data to read.</param>
+            <param name="readRootValueAsArray">if set to <c>true</c> the root object will be read as a JSON array.</param>
+            <param name="dateTimeKindHandling">The <see cref="T:System.DateTimeKind" /> used when reading <see cref="T:System.DateTime"/> values from BSON.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Bson.BsonReader.Read">
+            <summary>
+            Reads the next JSON token from the underlying <see cref="T:System.IO.Stream"/>.
+            </summary>
+            <returns>
+            <c>true</c> if the next token was read successfully; <c>false</c> if there are no more tokens to read.
+            </returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Bson.BsonReader.Close">
+            <summary>
+            Changes the reader's state to <see cref="F:LC.Newtonsoft.Json.JsonReader.State.Closed"/>.
+            If <see cref="P:LC.Newtonsoft.Json.JsonReader.CloseInput"/> is set to <c>true</c>, the underlying <see cref="T:System.IO.Stream"/> is also closed.
+            </summary>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Bson.BsonWriter">
+            <summary>
+            Represents a writer that provides a fast, non-cached, forward-only way of generating BSON data.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Bson.BsonWriter.DateTimeKindHandling">
+            <summary>
+            Gets or sets the <see cref="T:System.DateTimeKind" /> used when writing <see cref="T:System.DateTime"/> values to BSON.
+            When set to <see cref="F:System.DateTimeKind.Unspecified" /> no conversion will occur.
+            </summary>
+            <value>The <see cref="T:System.DateTimeKind" /> used when writing <see cref="T:System.DateTime"/> values to BSON.</value>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Bson.BsonWriter.#ctor(System.IO.Stream)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Bson.BsonWriter"/> class.
+            </summary>
+            <param name="stream">The <see cref="T:System.IO.Stream"/> to write to.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Bson.BsonWriter.#ctor(System.IO.BinaryWriter)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Bson.BsonWriter"/> class.
+            </summary>
+            <param name="writer">The <see cref="T:System.IO.BinaryWriter"/> to write to.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Bson.BsonWriter.Flush">
+            <summary>
+            Flushes whatever is in the buffer to the underlying <see cref="T:System.IO.Stream"/> and also flushes the underlying stream.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Bson.BsonWriter.WriteEnd(LC.Newtonsoft.Json.JsonToken)">
+            <summary>
+            Writes the end.
+            </summary>
+            <param name="token">The token.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Bson.BsonWriter.WriteComment(System.String)">
+            <summary>
+            Writes a comment <c>/*...*/</c> containing the specified text.
+            </summary>
+            <param name="text">Text to place inside the comment.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Bson.BsonWriter.WriteStartConstructor(System.String)">
+            <summary>
+            Writes the start of a constructor with the given name.
+            </summary>
+            <param name="name">The name of the constructor.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Bson.BsonWriter.WriteRaw(System.String)">
+            <summary>
+            Writes raw JSON.
+            </summary>
+            <param name="json">The raw JSON to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Bson.BsonWriter.WriteRawValue(System.String)">
+            <summary>
+            Writes raw JSON where a value is expected and updates the writer's state.
+            </summary>
+            <param name="json">The raw JSON to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Bson.BsonWriter.WriteStartArray">
+            <summary>
+            Writes the beginning of a JSON array.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Bson.BsonWriter.WriteStartObject">
+            <summary>
+            Writes the beginning of a JSON object.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Bson.BsonWriter.WritePropertyName(System.String)">
+            <summary>
+            Writes the property name of a name/value pair on a JSON object.
+            </summary>
+            <param name="name">The name of the property.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Bson.BsonWriter.Close">
+            <summary>
+            Closes this writer.
+            If <see cref="P:LC.Newtonsoft.Json.JsonWriter.CloseOutput"/> is set to <c>true</c>, the underlying <see cref="T:System.IO.Stream"/> is also closed.
+            If <see cref="P:LC.Newtonsoft.Json.JsonWriter.AutoCompleteOnClose"/> is set to <c>true</c>, the JSON is auto-completed.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.Object)">
+            <summary>
+            Writes a <see cref="T:System.Object"/> value.
+            An error will raised if the value cannot be written as a single JSON token.
+            </summary>
+            <param name="value">The <see cref="T:System.Object"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Bson.BsonWriter.WriteNull">
+            <summary>
+            Writes a null value.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Bson.BsonWriter.WriteUndefined">
+            <summary>
+            Writes an undefined value.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.String)">
+            <summary>
+            Writes a <see cref="T:System.String"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.String"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.Int32)">
+            <summary>
+            Writes a <see cref="T:System.Int32"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Int32"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.UInt32)">
+            <summary>
+            Writes a <see cref="T:System.UInt32"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.UInt32"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.Int64)">
+            <summary>
+            Writes a <see cref="T:System.Int64"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Int64"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.UInt64)">
+            <summary>
+            Writes a <see cref="T:System.UInt64"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.UInt64"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.Single)">
+            <summary>
+            Writes a <see cref="T:System.Single"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Single"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.Double)">
+            <summary>
+            Writes a <see cref="T:System.Double"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Double"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.Boolean)">
+            <summary>
+            Writes a <see cref="T:System.Boolean"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Boolean"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.Int16)">
+            <summary>
+            Writes a <see cref="T:System.Int16"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Int16"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.UInt16)">
+            <summary>
+            Writes a <see cref="T:System.UInt16"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.UInt16"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.Char)">
+            <summary>
+            Writes a <see cref="T:System.Char"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Char"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.Byte)">
+            <summary>
+            Writes a <see cref="T:System.Byte"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Byte"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.SByte)">
+            <summary>
+            Writes a <see cref="T:System.SByte"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.SByte"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.Decimal)">
+            <summary>
+            Writes a <see cref="T:System.Decimal"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Decimal"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.DateTime)">
+            <summary>
+            Writes a <see cref="T:System.DateTime"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.DateTime"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.DateTimeOffset)">
+            <summary>
+            Writes a <see cref="T:System.DateTimeOffset"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.DateTimeOffset"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.Byte[])">
+            <summary>
+            Writes a <see cref="T:System.Byte"/>[] value.
+            </summary>
+            <param name="value">The <see cref="T:System.Byte"/>[] value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.Guid)">
+            <summary>
+            Writes a <see cref="T:System.Guid"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Guid"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.TimeSpan)">
+            <summary>
+            Writes a <see cref="T:System.TimeSpan"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.TimeSpan"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.Uri)">
+            <summary>
+            Writes a <see cref="T:System.Uri"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Uri"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Bson.BsonWriter.WriteObjectId(System.Byte[])">
+            <summary>
+            Writes a <see cref="T:System.Byte"/>[] value that represents a BSON object id.
+            </summary>
+            <param name="value">The Object ID value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Bson.BsonWriter.WriteRegex(System.String,System.String)">
+            <summary>
+            Writes a BSON regex.
+            </summary>
+            <param name="pattern">The regex pattern.</param>
+            <param name="options">The regex options.</param>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.ConstructorHandling">
+            <summary>
+            Specifies how constructors are used when initializing objects during deserialization by the <see cref="T:LC.Newtonsoft.Json.JsonSerializer"/>.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.ConstructorHandling.Default">
+            <summary>
+            First attempt to use the public default constructor, then fall back to a single parameterized constructor, then to the non-public default constructor.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.ConstructorHandling.AllowNonPublicDefaultConstructor">
+            <summary>
+            Json.NET will use a non-public default constructor before falling back to a parameterized constructor.
+            </summary>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Converters.BinaryConverter">
+            <summary>
+            Converts a binary value to and from a base 64 string value.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Converters.BinaryConverter.WriteJson(LC.Newtonsoft.Json.JsonWriter,System.Object,LC.Newtonsoft.Json.JsonSerializer)">
+            <summary>
+            Writes the JSON representation of the object.
+            </summary>
+            <param name="writer">The <see cref="T:LC.Newtonsoft.Json.JsonWriter"/> to write to.</param>
+            <param name="value">The value.</param>
+            <param name="serializer">The calling serializer.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Converters.BinaryConverter.ReadJson(LC.Newtonsoft.Json.JsonReader,System.Type,System.Object,LC.Newtonsoft.Json.JsonSerializer)">
+            <summary>
+            Reads the JSON representation of the object.
+            </summary>
+            <param name="reader">The <see cref="T:LC.Newtonsoft.Json.JsonReader"/> to read from.</param>
+            <param name="objectType">Type of the object.</param>
+            <param name="existingValue">The existing value of object being read.</param>
+            <param name="serializer">The calling serializer.</param>
+            <returns>The object value.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Converters.BinaryConverter.CanConvert(System.Type)">
+            <summary>
+            Determines whether this instance can convert the specified object type.
+            </summary>
+            <param name="objectType">Type of the object.</param>
+            <returns>
+            	<c>true</c> if this instance can convert the specified object type; otherwise, <c>false</c>.
+            </returns>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Converters.BsonObjectIdConverter">
+            <summary>
+            Converts a <see cref="T:LC.Newtonsoft.Json.Bson.BsonObjectId"/> to and from JSON and BSON.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Converters.BsonObjectIdConverter.WriteJson(LC.Newtonsoft.Json.JsonWriter,System.Object,LC.Newtonsoft.Json.JsonSerializer)">
+            <summary>
+            Writes the JSON representation of the object.
+            </summary>
+            <param name="writer">The <see cref="T:LC.Newtonsoft.Json.JsonWriter"/> to write to.</param>
+            <param name="value">The value.</param>
+            <param name="serializer">The calling serializer.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Converters.BsonObjectIdConverter.ReadJson(LC.Newtonsoft.Json.JsonReader,System.Type,System.Object,LC.Newtonsoft.Json.JsonSerializer)">
+            <summary>
+            Reads the JSON representation of the object.
+            </summary>
+            <param name="reader">The <see cref="T:LC.Newtonsoft.Json.JsonReader"/> to read from.</param>
+            <param name="objectType">Type of the object.</param>
+            <param name="existingValue">The existing value of object being read.</param>
+            <param name="serializer">The calling serializer.</param>
+            <returns>The object value.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Converters.BsonObjectIdConverter.CanConvert(System.Type)">
+            <summary>
+            Determines whether this instance can convert the specified object type.
+            </summary>
+            <param name="objectType">Type of the object.</param>
+            <returns>
+            	<c>true</c> if this instance can convert the specified object type; otherwise, <c>false</c>.
+            </returns>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Converters.CustomCreationConverter`1">
+            <summary>
+            Creates a custom object.
+            </summary>
+            <typeparam name="T">The object type to convert.</typeparam>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Converters.CustomCreationConverter`1.WriteJson(LC.Newtonsoft.Json.JsonWriter,System.Object,LC.Newtonsoft.Json.JsonSerializer)">
+            <summary>
+            Writes the JSON representation of the object.
+            </summary>
+            <param name="writer">The <see cref="T:LC.Newtonsoft.Json.JsonWriter"/> to write to.</param>
+            <param name="value">The value.</param>
+            <param name="serializer">The calling serializer.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Converters.CustomCreationConverter`1.ReadJson(LC.Newtonsoft.Json.JsonReader,System.Type,System.Object,LC.Newtonsoft.Json.JsonSerializer)">
+            <summary>
+            Reads the JSON representation of the object.
+            </summary>
+            <param name="reader">The <see cref="T:LC.Newtonsoft.Json.JsonReader"/> to read from.</param>
+            <param name="objectType">Type of the object.</param>
+            <param name="existingValue">The existing value of object being read.</param>
+            <param name="serializer">The calling serializer.</param>
+            <returns>The object value.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Converters.CustomCreationConverter`1.Create(System.Type)">
+            <summary>
+            Creates an object which will then be populated by the serializer.
+            </summary>
+            <param name="objectType">Type of the object.</param>
+            <returns>The created object.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Converters.CustomCreationConverter`1.CanConvert(System.Type)">
+            <summary>
+            Determines whether this instance can convert the specified object type.
+            </summary>
+            <param name="objectType">Type of the object.</param>
+            <returns>
+            	<c>true</c> if this instance can convert the specified object type; otherwise, <c>false</c>.
+            </returns>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Converters.CustomCreationConverter`1.CanWrite">
+            <summary>
+            Gets a value indicating whether this <see cref="T:LC.Newtonsoft.Json.JsonConverter"/> can write JSON.
+            </summary>
+            <value>
+            	<c>true</c> if this <see cref="T:LC.Newtonsoft.Json.JsonConverter"/> can write JSON; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Converters.DataSetConverter">
+            <summary>
+            Converts a <see cref="T:System.Data.DataSet"/> to and from JSON.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Converters.DataSetConverter.WriteJson(LC.Newtonsoft.Json.JsonWriter,System.Object,LC.Newtonsoft.Json.JsonSerializer)">
+            <summary>
+            Writes the JSON representation of the object.
+            </summary>
+            <param name="writer">The <see cref="T:LC.Newtonsoft.Json.JsonWriter"/> to write to.</param>
+            <param name="value">The value.</param>
+            <param name="serializer">The calling serializer.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Converters.DataSetConverter.ReadJson(LC.Newtonsoft.Json.JsonReader,System.Type,System.Object,LC.Newtonsoft.Json.JsonSerializer)">
+            <summary>
+            Reads the JSON representation of the object.
+            </summary>
+            <param name="reader">The <see cref="T:LC.Newtonsoft.Json.JsonReader"/> to read from.</param>
+            <param name="objectType">Type of the object.</param>
+            <param name="existingValue">The existing value of object being read.</param>
+            <param name="serializer">The calling serializer.</param>
+            <returns>The object value.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Converters.DataSetConverter.CanConvert(System.Type)">
+            <summary>
+            Determines whether this instance can convert the specified value type.
+            </summary>
+            <param name="valueType">Type of the value.</param>
+            <returns>
+            	<c>true</c> if this instance can convert the specified value type; otherwise, <c>false</c>.
+            </returns>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Converters.DataTableConverter">
+            <summary>
+            Converts a <see cref="T:System.Data.DataTable"/> to and from JSON.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Converters.DataTableConverter.WriteJson(LC.Newtonsoft.Json.JsonWriter,System.Object,LC.Newtonsoft.Json.JsonSerializer)">
+            <summary>
+            Writes the JSON representation of the object.
+            </summary>
+            <param name="writer">The <see cref="T:LC.Newtonsoft.Json.JsonWriter"/> to write to.</param>
+            <param name="value">The value.</param>
+            <param name="serializer">The calling serializer.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Converters.DataTableConverter.ReadJson(LC.Newtonsoft.Json.JsonReader,System.Type,System.Object,LC.Newtonsoft.Json.JsonSerializer)">
+            <summary>
+            Reads the JSON representation of the object.
+            </summary>
+            <param name="reader">The <see cref="T:LC.Newtonsoft.Json.JsonReader"/> to read from.</param>
+            <param name="objectType">Type of the object.</param>
+            <param name="existingValue">The existing value of object being read.</param>
+            <param name="serializer">The calling serializer.</param>
+            <returns>The object value.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Converters.DataTableConverter.CanConvert(System.Type)">
+            <summary>
+            Determines whether this instance can convert the specified value type.
+            </summary>
+            <param name="valueType">Type of the value.</param>
+            <returns>
+            	<c>true</c> if this instance can convert the specified value type; otherwise, <c>false</c>.
+            </returns>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Converters.DateTimeConverterBase">
+            <summary>
+            Provides a base class for converting a <see cref="T:System.DateTime"/> to and from JSON.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Converters.DateTimeConverterBase.CanConvert(System.Type)">
+            <summary>
+            Determines whether this instance can convert the specified object type.
+            </summary>
+            <param name="objectType">Type of the object.</param>
+            <returns>
+            	<c>true</c> if this instance can convert the specified object type; otherwise, <c>false</c>.
+            </returns>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Converters.DiscriminatedUnionConverter">
+            <summary>
+            Converts a F# discriminated union type to and from JSON.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Converters.DiscriminatedUnionConverter.WriteJson(LC.Newtonsoft.Json.JsonWriter,System.Object,LC.Newtonsoft.Json.JsonSerializer)">
+            <summary>
+            Writes the JSON representation of the object.
+            </summary>
+            <param name="writer">The <see cref="T:LC.Newtonsoft.Json.JsonWriter"/> to write to.</param>
+            <param name="value">The value.</param>
+            <param name="serializer">The calling serializer.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Converters.DiscriminatedUnionConverter.ReadJson(LC.Newtonsoft.Json.JsonReader,System.Type,System.Object,LC.Newtonsoft.Json.JsonSerializer)">
+            <summary>
+            Reads the JSON representation of the object.
+            </summary>
+            <param name="reader">The <see cref="T:LC.Newtonsoft.Json.JsonReader"/> to read from.</param>
+            <param name="objectType">Type of the object.</param>
+            <param name="existingValue">The existing value of object being read.</param>
+            <param name="serializer">The calling serializer.</param>
+            <returns>The object value.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Converters.DiscriminatedUnionConverter.CanConvert(System.Type)">
+            <summary>
+            Determines whether this instance can convert the specified object type.
+            </summary>
+            <param name="objectType">Type of the object.</param>
+            <returns>
+            	<c>true</c> if this instance can convert the specified object type; otherwise, <c>false</c>.
+            </returns>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Converters.EntityKeyMemberConverter">
+            <summary>
+            Converts an Entity Framework <see cref="T:System.Data.EntityKeyMember"/> to and from JSON.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Converters.EntityKeyMemberConverter.WriteJson(LC.Newtonsoft.Json.JsonWriter,System.Object,LC.Newtonsoft.Json.JsonSerializer)">
+            <summary>
+            Writes the JSON representation of the object.
+            </summary>
+            <param name="writer">The <see cref="T:LC.Newtonsoft.Json.JsonWriter"/> to write to.</param>
+            <param name="value">The value.</param>
+            <param name="serializer">The calling serializer.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Converters.EntityKeyMemberConverter.ReadJson(LC.Newtonsoft.Json.JsonReader,System.Type,System.Object,LC.Newtonsoft.Json.JsonSerializer)">
+            <summary>
+            Reads the JSON representation of the object.
+            </summary>
+            <param name="reader">The <see cref="T:LC.Newtonsoft.Json.JsonReader"/> to read from.</param>
+            <param name="objectType">Type of the object.</param>
+            <param name="existingValue">The existing value of object being read.</param>
+            <param name="serializer">The calling serializer.</param>
+            <returns>The object value.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Converters.EntityKeyMemberConverter.CanConvert(System.Type)">
+            <summary>
+            Determines whether this instance can convert the specified object type.
+            </summary>
+            <param name="objectType">Type of the object.</param>
+            <returns>
+            	<c>true</c> if this instance can convert the specified object type; otherwise, <c>false</c>.
+            </returns>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Converters.ExpandoObjectConverter">
+            <summary>
+            Converts an <see cref="T:System.Dynamic.ExpandoObject"/> to and from JSON.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Converters.ExpandoObjectConverter.WriteJson(LC.Newtonsoft.Json.JsonWriter,System.Object,LC.Newtonsoft.Json.JsonSerializer)">
+            <summary>
+            Writes the JSON representation of the object.
+            </summary>
+            <param name="writer">The <see cref="T:LC.Newtonsoft.Json.JsonWriter"/> to write to.</param>
+            <param name="value">The value.</param>
+            <param name="serializer">The calling serializer.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Converters.ExpandoObjectConverter.ReadJson(LC.Newtonsoft.Json.JsonReader,System.Type,System.Object,LC.Newtonsoft.Json.JsonSerializer)">
+            <summary>
+            Reads the JSON representation of the object.
+            </summary>
+            <param name="reader">The <see cref="T:LC.Newtonsoft.Json.JsonReader"/> to read from.</param>
+            <param name="objectType">Type of the object.</param>
+            <param name="existingValue">The existing value of object being read.</param>
+            <param name="serializer">The calling serializer.</param>
+            <returns>The object value.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Converters.ExpandoObjectConverter.CanConvert(System.Type)">
+            <summary>
+            Determines whether this instance can convert the specified object type.
+            </summary>
+            <param name="objectType">Type of the object.</param>
+            <returns>
+            	<c>true</c> if this instance can convert the specified object type; otherwise, <c>false</c>.
+            </returns>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Converters.ExpandoObjectConverter.CanWrite">
+            <summary>
+            Gets a value indicating whether this <see cref="T:LC.Newtonsoft.Json.JsonConverter"/> can write JSON.
+            </summary>
+            <value>
+            	<c>true</c> if this <see cref="T:LC.Newtonsoft.Json.JsonConverter"/> can write JSON; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Converters.IsoDateTimeConverter">
+            <summary>
+            Converts a <see cref="T:System.DateTime"/> to and from the ISO 8601 date format (e.g. <c>"2008-04-12T12:53Z"</c>).
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Converters.IsoDateTimeConverter.DateTimeStyles">
+            <summary>
+            Gets or sets the date time styles used when converting a date to and from JSON.
+            </summary>
+            <value>The date time styles used when converting a date to and from JSON.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Converters.IsoDateTimeConverter.DateTimeFormat">
+            <summary>
+            Gets or sets the date time format used when converting a date to and from JSON.
+            </summary>
+            <value>The date time format used when converting a date to and from JSON.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Converters.IsoDateTimeConverter.Culture">
+            <summary>
+            Gets or sets the culture used when converting a date to and from JSON.
+            </summary>
+            <value>The culture used when converting a date to and from JSON.</value>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Converters.IsoDateTimeConverter.WriteJson(LC.Newtonsoft.Json.JsonWriter,System.Object,LC.Newtonsoft.Json.JsonSerializer)">
+            <summary>
+            Writes the JSON representation of the object.
+            </summary>
+            <param name="writer">The <see cref="T:LC.Newtonsoft.Json.JsonWriter"/> to write to.</param>
+            <param name="value">The value.</param>
+            <param name="serializer">The calling serializer.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Converters.IsoDateTimeConverter.ReadJson(LC.Newtonsoft.Json.JsonReader,System.Type,System.Object,LC.Newtonsoft.Json.JsonSerializer)">
+            <summary>
+            Reads the JSON representation of the object.
+            </summary>
+            <param name="reader">The <see cref="T:LC.Newtonsoft.Json.JsonReader"/> to read from.</param>
+            <param name="objectType">Type of the object.</param>
+            <param name="existingValue">The existing value of object being read.</param>
+            <param name="serializer">The calling serializer.</param>
+            <returns>The object value.</returns>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Converters.JavaScriptDateTimeConverter">
+            <summary>
+            Converts a <see cref="T:System.DateTime"/> to and from a JavaScript <c>Date</c> constructor (e.g. <c>new Date(52231943)</c>).
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Converters.JavaScriptDateTimeConverter.WriteJson(LC.Newtonsoft.Json.JsonWriter,System.Object,LC.Newtonsoft.Json.JsonSerializer)">
+            <summary>
+            Writes the JSON representation of the object.
+            </summary>
+            <param name="writer">The <see cref="T:LC.Newtonsoft.Json.JsonWriter"/> to write to.</param>
+            <param name="value">The value.</param>
+            <param name="serializer">The calling serializer.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Converters.JavaScriptDateTimeConverter.ReadJson(LC.Newtonsoft.Json.JsonReader,System.Type,System.Object,LC.Newtonsoft.Json.JsonSerializer)">
+            <summary>
+            Reads the JSON representation of the object.
+            </summary>
+            <param name="reader">The <see cref="T:LC.Newtonsoft.Json.JsonReader"/> to read from.</param>
+            <param name="objectType">Type of the object.</param>
+            <param name="existingValue">The existing property value of the JSON that is being converted.</param>
+            <param name="serializer">The calling serializer.</param>
+            <returns>The object value.</returns>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Converters.KeyValuePairConverter">
+            <summary>
+            Converts a <see cref="T:System.Collections.Generic.KeyValuePair`2"/> to and from JSON.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Converters.KeyValuePairConverter.WriteJson(LC.Newtonsoft.Json.JsonWriter,System.Object,LC.Newtonsoft.Json.JsonSerializer)">
+            <summary>
+            Writes the JSON representation of the object.
+            </summary>
+            <param name="writer">The <see cref="T:LC.Newtonsoft.Json.JsonWriter"/> to write to.</param>
+            <param name="value">The value.</param>
+            <param name="serializer">The calling serializer.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Converters.KeyValuePairConverter.ReadJson(LC.Newtonsoft.Json.JsonReader,System.Type,System.Object,LC.Newtonsoft.Json.JsonSerializer)">
+            <summary>
+            Reads the JSON representation of the object.
+            </summary>
+            <param name="reader">The <see cref="T:LC.Newtonsoft.Json.JsonReader"/> to read from.</param>
+            <param name="objectType">Type of the object.</param>
+            <param name="existingValue">The existing value of object being read.</param>
+            <param name="serializer">The calling serializer.</param>
+            <returns>The object value.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Converters.KeyValuePairConverter.CanConvert(System.Type)">
+            <summary>
+            Determines whether this instance can convert the specified object type.
+            </summary>
+            <param name="objectType">Type of the object.</param>
+            <returns>
+            	<c>true</c> if this instance can convert the specified object type; otherwise, <c>false</c>.
+            </returns>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Converters.RegexConverter">
+            <summary>
+            Converts a <see cref="T:System.Text.RegularExpressions.Regex"/> to and from JSON and BSON.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Converters.RegexConverter.WriteJson(LC.Newtonsoft.Json.JsonWriter,System.Object,LC.Newtonsoft.Json.JsonSerializer)">
+            <summary>
+            Writes the JSON representation of the object.
+            </summary>
+            <param name="writer">The <see cref="T:LC.Newtonsoft.Json.JsonWriter"/> to write to.</param>
+            <param name="value">The value.</param>
+            <param name="serializer">The calling serializer.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Converters.RegexConverter.ReadJson(LC.Newtonsoft.Json.JsonReader,System.Type,System.Object,LC.Newtonsoft.Json.JsonSerializer)">
+            <summary>
+            Reads the JSON representation of the object.
+            </summary>
+            <param name="reader">The <see cref="T:LC.Newtonsoft.Json.JsonReader"/> to read from.</param>
+            <param name="objectType">Type of the object.</param>
+            <param name="existingValue">The existing value of object being read.</param>
+            <param name="serializer">The calling serializer.</param>
+            <returns>The object value.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Converters.RegexConverter.CanConvert(System.Type)">
+            <summary>
+            Determines whether this instance can convert the specified object type.
+            </summary>
+            <param name="objectType">Type of the object.</param>
+            <returns>
+            	<c>true</c> if this instance can convert the specified object type; otherwise, <c>false</c>.
+            </returns>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Converters.StringEnumConverter">
+            <summary>
+            Converts an <see cref="T:System.Enum"/> to and from its name string value.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Converters.StringEnumConverter.CamelCaseText">
+            <summary>
+            Gets or sets a value indicating whether the written enum text should be camel case.
+            The default value is <c>false</c>.
+            </summary>
+            <value><c>true</c> if the written enum text will be camel case; otherwise, <c>false</c>.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Converters.StringEnumConverter.NamingStrategy">
+            <summary>
+            Gets or sets the naming strategy used to resolve how enum text is written.
+            </summary>
+            <value>The naming strategy used to resolve how enum text is written.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Converters.StringEnumConverter.AllowIntegerValues">
+            <summary>
+            Gets or sets a value indicating whether integer values are allowed when serializing and deserializing.
+            The default value is <c>true</c>.
+            </summary>
+            <value><c>true</c> if integers are allowed when serializing and deserializing; otherwise, <c>false</c>.</value>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Converters.StringEnumConverter.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Converters.StringEnumConverter"/> class.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Converters.StringEnumConverter.#ctor(System.Boolean)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Converters.StringEnumConverter"/> class.
+            </summary>
+            <param name="camelCaseText"><c>true</c> if the written enum text will be camel case; otherwise, <c>false</c>.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Converters.StringEnumConverter.#ctor(LC.Newtonsoft.Json.Serialization.NamingStrategy,System.Boolean)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Converters.StringEnumConverter"/> class.
+            </summary>
+            <param name="namingStrategy">The naming strategy used to resolve how enum text is written.</param>
+            <param name="allowIntegerValues"><c>true</c> if integers are allowed when serializing and deserializing; otherwise, <c>false</c>.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Converters.StringEnumConverter.#ctor(System.Type)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Converters.StringEnumConverter"/> class.
+            </summary>
+            <param name="namingStrategyType">The <see cref="T:System.Type"/> of the <see cref="T:LC.Newtonsoft.Json.Serialization.NamingStrategy"/> used to write enum text.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Converters.StringEnumConverter.#ctor(System.Type,System.Object[])">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Converters.StringEnumConverter"/> class.
+            </summary>
+            <param name="namingStrategyType">The <see cref="T:System.Type"/> of the <see cref="T:LC.Newtonsoft.Json.Serialization.NamingStrategy"/> used to write enum text.</param>
+            <param name="namingStrategyParameters">
+            The parameter list to use when constructing the <see cref="T:LC.Newtonsoft.Json.Serialization.NamingStrategy"/> described by <paramref name="namingStrategyType"/>.
+            If <c>null</c>, the default constructor is used.
+            When non-<c>null</c>, there must be a constructor defined in the <see cref="T:LC.Newtonsoft.Json.Serialization.NamingStrategy"/> that exactly matches the number,
+            order, and type of these parameters.
+            </param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Converters.StringEnumConverter.#ctor(System.Type,System.Object[],System.Boolean)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Converters.StringEnumConverter"/> class.
+            </summary>
+            <param name="namingStrategyType">The <see cref="T:System.Type"/> of the <see cref="T:LC.Newtonsoft.Json.Serialization.NamingStrategy"/> used to write enum text.</param>
+            <param name="namingStrategyParameters">
+            The parameter list to use when constructing the <see cref="T:LC.Newtonsoft.Json.Serialization.NamingStrategy"/> described by <paramref name="namingStrategyType"/>.
+            If <c>null</c>, the default constructor is used.
+            When non-<c>null</c>, there must be a constructor defined in the <see cref="T:LC.Newtonsoft.Json.Serialization.NamingStrategy"/> that exactly matches the number,
+            order, and type of these parameters.
+            </param>
+            <param name="allowIntegerValues"><c>true</c> if integers are allowed when serializing and deserializing; otherwise, <c>false</c>.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Converters.StringEnumConverter.WriteJson(LC.Newtonsoft.Json.JsonWriter,System.Object,LC.Newtonsoft.Json.JsonSerializer)">
+            <summary>
+            Writes the JSON representation of the object.
+            </summary>
+            <param name="writer">The <see cref="T:LC.Newtonsoft.Json.JsonWriter"/> to write to.</param>
+            <param name="value">The value.</param>
+            <param name="serializer">The calling serializer.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Converters.StringEnumConverter.ReadJson(LC.Newtonsoft.Json.JsonReader,System.Type,System.Object,LC.Newtonsoft.Json.JsonSerializer)">
+            <summary>
+            Reads the JSON representation of the object.
+            </summary>
+            <param name="reader">The <see cref="T:LC.Newtonsoft.Json.JsonReader"/> to read from.</param>
+            <param name="objectType">Type of the object.</param>
+            <param name="existingValue">The existing value of object being read.</param>
+            <param name="serializer">The calling serializer.</param>
+            <returns>The object value.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Converters.StringEnumConverter.CanConvert(System.Type)">
+            <summary>
+            Determines whether this instance can convert the specified object type.
+            </summary>
+            <param name="objectType">Type of the object.</param>
+            <returns>
+            <c>true</c> if this instance can convert the specified object type; otherwise, <c>false</c>.
+            </returns>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Converters.UnixDateTimeConverter">
+            <summary>
+            Converts a <see cref="T:System.DateTime"/> to and from Unix epoch time
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Converters.UnixDateTimeConverter.WriteJson(LC.Newtonsoft.Json.JsonWriter,System.Object,LC.Newtonsoft.Json.JsonSerializer)">
+            <summary>
+            Writes the JSON representation of the object.
+            </summary>
+            <param name="writer">The <see cref="T:LC.Newtonsoft.Json.JsonWriter"/> to write to.</param>
+            <param name="value">The value.</param>
+            <param name="serializer">The calling serializer.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Converters.UnixDateTimeConverter.ReadJson(LC.Newtonsoft.Json.JsonReader,System.Type,System.Object,LC.Newtonsoft.Json.JsonSerializer)">
+            <summary>
+            Reads the JSON representation of the object.
+            </summary>
+            <param name="reader">The <see cref="T:LC.Newtonsoft.Json.JsonReader"/> to read from.</param>
+            <param name="objectType">Type of the object.</param>
+            <param name="existingValue">The existing property value of the JSON that is being converted.</param>
+            <param name="serializer">The calling serializer.</param>
+            <returns>The object value.</returns>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Converters.VersionConverter">
+            <summary>
+            Converts a <see cref="T:System.Version"/> to and from a string (e.g. <c>"1.2.3.4"</c>).
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Converters.VersionConverter.WriteJson(LC.Newtonsoft.Json.JsonWriter,System.Object,LC.Newtonsoft.Json.JsonSerializer)">
+            <summary>
+            Writes the JSON representation of the object.
+            </summary>
+            <param name="writer">The <see cref="T:LC.Newtonsoft.Json.JsonWriter"/> to write to.</param>
+            <param name="value">The value.</param>
+            <param name="serializer">The calling serializer.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Converters.VersionConverter.ReadJson(LC.Newtonsoft.Json.JsonReader,System.Type,System.Object,LC.Newtonsoft.Json.JsonSerializer)">
+            <summary>
+            Reads the JSON representation of the object.
+            </summary>
+            <param name="reader">The <see cref="T:LC.Newtonsoft.Json.JsonReader"/> to read from.</param>
+            <param name="objectType">Type of the object.</param>
+            <param name="existingValue">The existing property value of the JSON that is being converted.</param>
+            <param name="serializer">The calling serializer.</param>
+            <returns>The object value.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Converters.VersionConverter.CanConvert(System.Type)">
+            <summary>
+            Determines whether this instance can convert the specified object type.
+            </summary>
+            <param name="objectType">Type of the object.</param>
+            <returns>
+            	<c>true</c> if this instance can convert the specified object type; otherwise, <c>false</c>.
+            </returns>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Converters.XmlNodeConverter">
+            <summary>
+            Converts XML to and from JSON.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Converters.XmlNodeConverter.DeserializeRootElementName">
+            <summary>
+            Gets or sets the name of the root element to insert when deserializing to XML if the JSON structure has produced multiple root elements.
+            </summary>
+            <value>The name of the deserialized root element.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Converters.XmlNodeConverter.WriteArrayAttribute">
+            <summary>
+            Gets or sets a value to indicate whether to write the Json.NET array attribute.
+            This attribute helps preserve arrays when converting the written XML back to JSON.
+            </summary>
+            <value><c>true</c> if the array attribute is written to the XML; otherwise, <c>false</c>.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Converters.XmlNodeConverter.OmitRootObject">
+            <summary>
+            Gets or sets a value indicating whether to write the root JSON object.
+            </summary>
+            <value><c>true</c> if the JSON root object is omitted; otherwise, <c>false</c>.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Converters.XmlNodeConverter.EncodeSpecialCharacters">
+            <summary>
+            Gets or sets a value indicating whether to encode special characters when converting JSON to XML.
+            If <c>true</c>, special characters like ':', '@', '?', '#' and '$' in JSON property names aren't used to specify
+            XML namespaces, attributes or processing directives. Instead special characters are encoded and written
+            as part of the XML element name.
+            </summary>
+            <value><c>true</c> if special characters are encoded; otherwise, <c>false</c>.</value>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Converters.XmlNodeConverter.WriteJson(LC.Newtonsoft.Json.JsonWriter,System.Object,LC.Newtonsoft.Json.JsonSerializer)">
+            <summary>
+            Writes the JSON representation of the object.
+            </summary>
+            <param name="writer">The <see cref="T:LC.Newtonsoft.Json.JsonWriter"/> to write to.</param>
+            <param name="serializer">The calling serializer.</param>
+            <param name="value">The value.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Converters.XmlNodeConverter.ReadJson(LC.Newtonsoft.Json.JsonReader,System.Type,System.Object,LC.Newtonsoft.Json.JsonSerializer)">
+            <summary>
+            Reads the JSON representation of the object.
+            </summary>
+            <param name="reader">The <see cref="T:LC.Newtonsoft.Json.JsonReader"/> to read from.</param>
+            <param name="objectType">Type of the object.</param>
+            <param name="existingValue">The existing value of object being read.</param>
+            <param name="serializer">The calling serializer.</param>
+            <returns>The object value.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Converters.XmlNodeConverter.IsNamespaceAttribute(System.String,System.String@)">
+            <summary>
+            Checks if the <paramref name="attributeName"/> is a namespace attribute.
+            </summary>
+            <param name="attributeName">Attribute name to test.</param>
+            <param name="prefix">The attribute name prefix if it has one, otherwise an empty string.</param>
+            <returns><c>true</c> if attribute name is for a namespace attribute, otherwise <c>false</c>.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Converters.XmlNodeConverter.CanConvert(System.Type)">
+            <summary>
+            Determines whether this instance can convert the specified value type.
+            </summary>
+            <param name="valueType">Type of the value.</param>
+            <returns>
+            	<c>true</c> if this instance can convert the specified value type; otherwise, <c>false</c>.
+            </returns>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.DateFormatHandling">
+            <summary>
+            Specifies how dates are formatted when writing JSON text.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.DateFormatHandling.IsoDateFormat">
+            <summary>
+            Dates are written in the ISO 8601 format, e.g. <c>"2012-03-21T05:40Z"</c>.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.DateFormatHandling.MicrosoftDateFormat">
+            <summary>
+            Dates are written in the Microsoft JSON format, e.g. <c>"\/Date(1198908717056)\/"</c>.
+            </summary>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.DateParseHandling">
+            <summary>
+            Specifies how date formatted strings, e.g. <c>"\/Date(1198908717056)\/"</c> and <c>"2012-03-21T05:40Z"</c>, are parsed when reading JSON text.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.DateParseHandling.None">
+            <summary>
+            Date formatted strings are not parsed to a date type and are read as strings.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.DateParseHandling.DateTime">
+            <summary>
+            Date formatted strings, e.g. <c>"\/Date(1198908717056)\/"</c> and <c>"2012-03-21T05:40Z"</c>, are parsed to <see cref="T:System.DateTime"/>.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.DateParseHandling.DateTimeOffset">
+            <summary>
+            Date formatted strings, e.g. <c>"\/Date(1198908717056)\/"</c> and <c>"2012-03-21T05:40Z"</c>, are parsed to <see cref="T:System.DateTimeOffset"/>.
+            </summary>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.DateTimeZoneHandling">
+            <summary>
+            Specifies how to treat the time value when converting between string and <see cref="T:System.DateTime"/>.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.DateTimeZoneHandling.Local">
+            <summary>
+            Treat as local time. If the <see cref="T:System.DateTime"/> object represents a Coordinated Universal Time (UTC), it is converted to the local time.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.DateTimeZoneHandling.Utc">
+            <summary>
+            Treat as a UTC. If the <see cref="T:System.DateTime"/> object represents a local time, it is converted to a UTC.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.DateTimeZoneHandling.Unspecified">
+            <summary>
+            Treat as a local time if a <see cref="T:System.DateTime"/> is being converted to a string.
+            If a string is being converted to <see cref="T:System.DateTime"/>, convert to a local time if a time zone is specified.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.DateTimeZoneHandling.RoundtripKind">
+            <summary>
+            Time zone information should be preserved when converting.
+            </summary>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.DefaultJsonNameTable">
+            <summary>
+            The default JSON name table implementation.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.DefaultJsonNameTable.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.DefaultJsonNameTable"/> class.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.DefaultJsonNameTable.Get(System.Char[],System.Int32,System.Int32)">
+            <summary>
+            Gets a string containing the same characters as the specified range of characters in the given array.
+            </summary>
+            <param name="key">The character array containing the name to find.</param>
+            <param name="start">The zero-based index into the array specifying the first character of the name.</param>
+            <param name="length">The number of characters in the name.</param>
+            <returns>A string containing the same characters as the specified range of characters in the given array.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.DefaultJsonNameTable.Add(System.String)">
+            <summary>
+            Adds the specified string into name table.
+            </summary>
+            <param name="key">The string to add.</param>
+            <remarks>This method is not thread-safe.</remarks>
+            <returns>The resolved string.</returns>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.DefaultValueHandling">
+            <summary>
+            Specifies default value handling options for the <see cref="T:LC.Newtonsoft.Json.JsonSerializer"/>.
+            </summary>
+            <example>
+              <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\SerializationTests.cs" region="ReducingSerializedJsonSizeDefaultValueHandlingObject" title="DefaultValueHandling Class" />
+              <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\SerializationTests.cs" region="ReducingSerializedJsonSizeDefaultValueHandlingExample" title="DefaultValueHandling Ignore Example" />
+            </example>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.DefaultValueHandling.Include">
+            <summary>
+            Include members where the member value is the same as the member's default value when serializing objects.
+            Included members are written to JSON. Has no effect when deserializing.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.DefaultValueHandling.Ignore">
+            <summary>
+            Ignore members where the member value is the same as the member's default value when serializing objects
+            so that it is not written to JSON.
+            This option will ignore all default values (e.g. <c>null</c> for objects and nullable types; <c>0</c> for integers,
+            decimals and floating point numbers; and <c>false</c> for booleans). The default value ignored can be changed by
+            placing the <see cref="T:System.ComponentModel.DefaultValueAttribute"/> on the property.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.DefaultValueHandling.Populate">
+            <summary>
+            Members with a default value but no JSON will be set to their default value when deserializing.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.DefaultValueHandling.IgnoreAndPopulate">
+            <summary>
+            Ignore members where the member value is the same as the member's default value when serializing objects
+            and set members to their default value when deserializing.
+            </summary>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.FloatFormatHandling">
+            <summary>
+            Specifies float format handling options when writing special floating point numbers, e.g. <see cref="F:System.Double.NaN"/>,
+            <see cref="F:System.Double.PositiveInfinity"/> and <see cref="F:System.Double.NegativeInfinity"/> with <see cref="T:LC.Newtonsoft.Json.JsonWriter"/>.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.FloatFormatHandling.String">
+            <summary>
+            Write special floating point values as strings in JSON, e.g. <c>"NaN"</c>, <c>"Infinity"</c>, <c>"-Infinity"</c>.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.FloatFormatHandling.Symbol">
+            <summary>
+            Write special floating point values as symbols in JSON, e.g. <c>NaN</c>, <c>Infinity</c>, <c>-Infinity</c>.
+            Note that this will produce non-valid JSON.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.FloatFormatHandling.DefaultValue">
+            <summary>
+            Write special floating point values as the property's default value in JSON, e.g. 0.0 for a <see cref="T:System.Double"/> property, <c>null</c> for a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Double"/> property.
+            </summary>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.FloatParseHandling">
+            <summary>
+            Specifies how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.FloatParseHandling.Double">
+            <summary>
+            Floating point numbers are parsed to <see cref="F:LC.Newtonsoft.Json.FloatParseHandling.Double"/>.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.FloatParseHandling.Decimal">
+            <summary>
+            Floating point numbers are parsed to <see cref="F:LC.Newtonsoft.Json.FloatParseHandling.Decimal"/>.
+            </summary>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Formatting">
+            <summary>
+            Specifies formatting options for the <see cref="T:LC.Newtonsoft.Json.JsonTextWriter"/>.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.Formatting.None">
+            <summary>
+            No special formatting is applied. This is the default.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.Formatting.Indented">
+            <summary>
+            Causes child objects to be indented according to the <see cref="P:LC.Newtonsoft.Json.JsonTextWriter.Indentation"/> and <see cref="P:LC.Newtonsoft.Json.JsonTextWriter.IndentChar"/> settings.
+            </summary>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.IArrayPool`1">
+            <summary>
+            Provides an interface for using pooled arrays.
+            </summary>
+            <typeparam name="T">The array type content.</typeparam>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.IArrayPool`1.Rent(System.Int32)">
+            <summary>
+            Rent an array from the pool. This array must be returned when it is no longer needed.
+            </summary>
+            <param name="minimumLength">The minimum required length of the array. The returned array may be longer.</param>
+            <returns>The rented array from the pool. This array must be returned when it is no longer needed.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.IArrayPool`1.Return(`0[])">
+            <summary>
+            Return an array to the pool.
+            </summary>
+            <param name="array">The array that is being returned.</param>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.IJsonLineInfo">
+            <summary>
+            Provides an interface to enable a class to return line and position information.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.IJsonLineInfo.HasLineInfo">
+            <summary>
+            Gets a value indicating whether the class can return line information.
+            </summary>
+            <returns>
+            	<c>true</c> if <see cref="P:LC.Newtonsoft.Json.IJsonLineInfo.LineNumber"/> and <see cref="P:LC.Newtonsoft.Json.IJsonLineInfo.LinePosition"/> can be provided; otherwise, <c>false</c>.
+            </returns>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.IJsonLineInfo.LineNumber">
+            <summary>
+            Gets the current line number.
+            </summary>
+            <value>The current line number or 0 if no line information is available (for example, when <see cref="M:LC.Newtonsoft.Json.IJsonLineInfo.HasLineInfo"/> returns <c>false</c>).</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.IJsonLineInfo.LinePosition">
+            <summary>
+            Gets the current line position.
+            </summary>
+            <value>The current line position or 0 if no line information is available (for example, when <see cref="M:LC.Newtonsoft.Json.IJsonLineInfo.HasLineInfo"/> returns <c>false</c>).</value>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.JsonArrayAttribute">
+            <summary>
+            Instructs the <see cref="T:LC.Newtonsoft.Json.JsonSerializer"/> how to serialize the collection.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonArrayAttribute.AllowNullItems">
+            <summary>
+            Gets or sets a value indicating whether null items are allowed in the collection.
+            </summary>
+            <value><c>true</c> if null items are allowed in the collection; otherwise, <c>false</c>.</value>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonArrayAttribute.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.JsonArrayAttribute"/> class.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonArrayAttribute.#ctor(System.Boolean)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.JsonObjectAttribute"/> class with a flag indicating whether the array can contain null items.
+            </summary>
+            <param name="allowNullItems">A flag indicating whether the array can contain null items.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonArrayAttribute.#ctor(System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.JsonArrayAttribute"/> class with the specified container Id.
+            </summary>
+            <param name="id">The container Id.</param>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.JsonConstructorAttribute">
+            <summary>
+            Instructs the <see cref="T:LC.Newtonsoft.Json.JsonSerializer"/> to use the specified constructor when deserializing that object.
+            </summary>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.JsonContainerAttribute">
+            <summary>
+            Instructs the <see cref="T:LC.Newtonsoft.Json.JsonSerializer"/> how to serialize the object.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonContainerAttribute.Id">
+            <summary>
+            Gets or sets the id.
+            </summary>
+            <value>The id.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonContainerAttribute.Title">
+            <summary>
+            Gets or sets the title.
+            </summary>
+            <value>The title.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonContainerAttribute.Description">
+            <summary>
+            Gets or sets the description.
+            </summary>
+            <value>The description.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonContainerAttribute.ItemConverterType">
+            <summary>
+            Gets or sets the collection's items converter.
+            </summary>
+            <value>The collection's items converter.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonContainerAttribute.ItemConverterParameters">
+            <summary>
+            The parameter list to use when constructing the <see cref="T:LC.Newtonsoft.Json.JsonConverter"/> described by <see cref="P:LC.Newtonsoft.Json.JsonContainerAttribute.ItemConverterType"/>.
+            If <c>null</c>, the default constructor is used.
+            When non-<c>null</c>, there must be a constructor defined in the <see cref="T:LC.Newtonsoft.Json.JsonConverter"/> that exactly matches the number,
+            order, and type of these parameters.
+            </summary>
+            <example>
+            <code>
+            [JsonContainer(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })]
+            </code>
+            </example>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonContainerAttribute.NamingStrategyType">
+            <summary>
+            Gets or sets the <see cref="T:System.Type"/> of the <see cref="T:LC.Newtonsoft.Json.Serialization.NamingStrategy"/>.
+            </summary>
+            <value>The <see cref="T:System.Type"/> of the <see cref="T:LC.Newtonsoft.Json.Serialization.NamingStrategy"/>.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonContainerAttribute.NamingStrategyParameters">
+            <summary>
+            The parameter list to use when constructing the <see cref="T:LC.Newtonsoft.Json.Serialization.NamingStrategy"/> described by <see cref="P:LC.Newtonsoft.Json.JsonContainerAttribute.NamingStrategyType"/>.
+            If <c>null</c>, the default constructor is used.
+            When non-<c>null</c>, there must be a constructor defined in the <see cref="T:LC.Newtonsoft.Json.Serialization.NamingStrategy"/> that exactly matches the number,
+            order, and type of these parameters.
+            </summary>
+            <example>
+            <code>
+            [JsonContainer(NamingStrategyType = typeof(MyNamingStrategy), NamingStrategyParameters = new object[] { 123, "Four" })]
+            </code>
+            </example>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonContainerAttribute.IsReference">
+            <summary>
+            Gets or sets a value that indicates whether to preserve object references.
+            </summary>
+            <value>
+            	<c>true</c> to keep object reference; otherwise, <c>false</c>. The default is <c>false</c>.
+            </value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonContainerAttribute.ItemIsReference">
+            <summary>
+            Gets or sets a value that indicates whether to preserve collection's items references.
+            </summary>
+            <value>
+            	<c>true</c> to keep collection's items object references; otherwise, <c>false</c>. The default is <c>false</c>.
+            </value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonContainerAttribute.ItemReferenceLoopHandling">
+            <summary>
+            Gets or sets the reference loop handling used when serializing the collection's items.
+            </summary>
+            <value>The reference loop handling.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonContainerAttribute.ItemTypeNameHandling">
+            <summary>
+            Gets or sets the type name handling used when serializing the collection's items.
+            </summary>
+            <value>The type name handling.</value>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonContainerAttribute.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.JsonContainerAttribute"/> class.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonContainerAttribute.#ctor(System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.JsonContainerAttribute"/> class with the specified container Id.
+            </summary>
+            <param name="id">The container Id.</param>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.JsonConvert">
+            <summary>
+            Provides methods for converting between .NET types and JSON types.
+            </summary>
+            <example>
+              <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\SerializationTests.cs" region="SerializeObject" title="Serializing and Deserializing JSON with JsonConvert" />
+            </example>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonConvert.DefaultSettings">
+            <summary>
+            Gets or sets a function that creates default <see cref="T:LC.Newtonsoft.Json.JsonSerializerSettings"/>.
+            Default settings are automatically used by serialization methods on <see cref="T:LC.Newtonsoft.Json.JsonConvert"/>,
+            and <see cref="M:LC.Newtonsoft.Json.Linq.JToken.ToObject``1"/> and <see cref="M:LC.Newtonsoft.Json.Linq.JToken.FromObject(System.Object)"/> on <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.
+            To serialize without using any default settings create a <see cref="T:LC.Newtonsoft.Json.JsonSerializer"/> with
+            <see cref="M:LC.Newtonsoft.Json.JsonSerializer.Create"/>.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.JsonConvert.True">
+            <summary>
+            Represents JavaScript's boolean value <c>true</c> as a string. This field is read-only.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.JsonConvert.False">
+            <summary>
+            Represents JavaScript's boolean value <c>false</c> as a string. This field is read-only.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.JsonConvert.Null">
+            <summary>
+            Represents JavaScript's <c>null</c> as a string. This field is read-only.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.JsonConvert.Undefined">
+            <summary>
+            Represents JavaScript's <c>undefined</c> as a string. This field is read-only.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.JsonConvert.PositiveInfinity">
+            <summary>
+            Represents JavaScript's positive infinity as a string. This field is read-only.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.JsonConvert.NegativeInfinity">
+            <summary>
+            Represents JavaScript's negative infinity as a string. This field is read-only.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.JsonConvert.NaN">
+            <summary>
+            Represents JavaScript's <c>NaN</c> as a string. This field is read-only.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonConvert.ToString(System.DateTime)">
+            <summary>
+            Converts the <see cref="T:System.DateTime"/> to its JSON string representation.
+            </summary>
+            <param name="value">The value to convert.</param>
+            <returns>A JSON string representation of the <see cref="T:System.DateTime"/>.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonConvert.ToString(System.DateTime,LC.Newtonsoft.Json.DateFormatHandling,LC.Newtonsoft.Json.DateTimeZoneHandling)">
+            <summary>
+            Converts the <see cref="T:System.DateTime"/> to its JSON string representation using the <see cref="T:LC.Newtonsoft.Json.DateFormatHandling"/> specified.
+            </summary>
+            <param name="value">The value to convert.</param>
+            <param name="format">The format the date will be converted to.</param>
+            <param name="timeZoneHandling">The time zone handling when the date is converted to a string.</param>
+            <returns>A JSON string representation of the <see cref="T:System.DateTime"/>.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonConvert.ToString(System.DateTimeOffset)">
+            <summary>
+            Converts the <see cref="T:System.DateTimeOffset"/> to its JSON string representation.
+            </summary>
+            <param name="value">The value to convert.</param>
+            <returns>A JSON string representation of the <see cref="T:System.DateTimeOffset"/>.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonConvert.ToString(System.DateTimeOffset,LC.Newtonsoft.Json.DateFormatHandling)">
+            <summary>
+            Converts the <see cref="T:System.DateTimeOffset"/> to its JSON string representation using the <see cref="T:LC.Newtonsoft.Json.DateFormatHandling"/> specified.
+            </summary>
+            <param name="value">The value to convert.</param>
+            <param name="format">The format the date will be converted to.</param>
+            <returns>A JSON string representation of the <see cref="T:System.DateTimeOffset"/>.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonConvert.ToString(System.Boolean)">
+            <summary>
+            Converts the <see cref="T:System.Boolean"/> to its JSON string representation.
+            </summary>
+            <param name="value">The value to convert.</param>
+            <returns>A JSON string representation of the <see cref="T:System.Boolean"/>.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonConvert.ToString(System.Char)">
+            <summary>
+            Converts the <see cref="T:System.Char"/> to its JSON string representation.
+            </summary>
+            <param name="value">The value to convert.</param>
+            <returns>A JSON string representation of the <see cref="T:System.Char"/>.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonConvert.ToString(System.Enum)">
+            <summary>
+            Converts the <see cref="T:System.Enum"/> to its JSON string representation.
+            </summary>
+            <param name="value">The value to convert.</param>
+            <returns>A JSON string representation of the <see cref="T:System.Enum"/>.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonConvert.ToString(System.Int32)">
+            <summary>
+            Converts the <see cref="T:System.Int32"/> to its JSON string representation.
+            </summary>
+            <param name="value">The value to convert.</param>
+            <returns>A JSON string representation of the <see cref="T:System.Int32"/>.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonConvert.ToString(System.Int16)">
+            <summary>
+            Converts the <see cref="T:System.Int16"/> to its JSON string representation.
+            </summary>
+            <param name="value">The value to convert.</param>
+            <returns>A JSON string representation of the <see cref="T:System.Int16"/>.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonConvert.ToString(System.UInt16)">
+            <summary>
+            Converts the <see cref="T:System.UInt16"/> to its JSON string representation.
+            </summary>
+            <param name="value">The value to convert.</param>
+            <returns>A JSON string representation of the <see cref="T:System.UInt16"/>.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonConvert.ToString(System.UInt32)">
+            <summary>
+            Converts the <see cref="T:System.UInt32"/> to its JSON string representation.
+            </summary>
+            <param name="value">The value to convert.</param>
+            <returns>A JSON string representation of the <see cref="T:System.UInt32"/>.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonConvert.ToString(System.Int64)">
+            <summary>
+            Converts the <see cref="T:System.Int64"/>  to its JSON string representation.
+            </summary>
+            <param name="value">The value to convert.</param>
+            <returns>A JSON string representation of the <see cref="T:System.Int64"/>.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonConvert.ToString(System.UInt64)">
+            <summary>
+            Converts the <see cref="T:System.UInt64"/> to its JSON string representation.
+            </summary>
+            <param name="value">The value to convert.</param>
+            <returns>A JSON string representation of the <see cref="T:System.UInt64"/>.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonConvert.ToString(System.Single)">
+            <summary>
+            Converts the <see cref="T:System.Single"/> to its JSON string representation.
+            </summary>
+            <param name="value">The value to convert.</param>
+            <returns>A JSON string representation of the <see cref="T:System.Single"/>.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonConvert.ToString(System.Double)">
+            <summary>
+            Converts the <see cref="T:System.Double"/> to its JSON string representation.
+            </summary>
+            <param name="value">The value to convert.</param>
+            <returns>A JSON string representation of the <see cref="T:System.Double"/>.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonConvert.ToString(System.Byte)">
+            <summary>
+            Converts the <see cref="T:System.Byte"/> to its JSON string representation.
+            </summary>
+            <param name="value">The value to convert.</param>
+            <returns>A JSON string representation of the <see cref="T:System.Byte"/>.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonConvert.ToString(System.SByte)">
+            <summary>
+            Converts the <see cref="T:System.SByte"/> to its JSON string representation.
+            </summary>
+            <param name="value">The value to convert.</param>
+            <returns>A JSON string representation of the <see cref="T:System.SByte"/>.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonConvert.ToString(System.Decimal)">
+            <summary>
+            Converts the <see cref="T:System.Decimal"/> to its JSON string representation.
+            </summary>
+            <param name="value">The value to convert.</param>
+            <returns>A JSON string representation of the <see cref="T:System.Decimal"/>.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonConvert.ToString(System.Guid)">
+            <summary>
+            Converts the <see cref="T:System.Guid"/> to its JSON string representation.
+            </summary>
+            <param name="value">The value to convert.</param>
+            <returns>A JSON string representation of the <see cref="T:System.Guid"/>.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonConvert.ToString(System.TimeSpan)">
+            <summary>
+            Converts the <see cref="T:System.TimeSpan"/> to its JSON string representation.
+            </summary>
+            <param name="value">The value to convert.</param>
+            <returns>A JSON string representation of the <see cref="T:System.TimeSpan"/>.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonConvert.ToString(System.Uri)">
+            <summary>
+            Converts the <see cref="T:System.Uri"/> to its JSON string representation.
+            </summary>
+            <param name="value">The value to convert.</param>
+            <returns>A JSON string representation of the <see cref="T:System.Uri"/>.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonConvert.ToString(System.String)">
+            <summary>
+            Converts the <see cref="T:System.String"/> to its JSON string representation.
+            </summary>
+            <param name="value">The value to convert.</param>
+            <returns>A JSON string representation of the <see cref="T:System.String"/>.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonConvert.ToString(System.String,System.Char)">
+            <summary>
+            Converts the <see cref="T:System.String"/> to its JSON string representation.
+            </summary>
+            <param name="value">The value to convert.</param>
+            <param name="delimiter">The string delimiter character.</param>
+            <returns>A JSON string representation of the <see cref="T:System.String"/>.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonConvert.ToString(System.String,System.Char,LC.Newtonsoft.Json.StringEscapeHandling)">
+            <summary>
+            Converts the <see cref="T:System.String"/> to its JSON string representation.
+            </summary>
+            <param name="value">The value to convert.</param>
+            <param name="delimiter">The string delimiter character.</param>
+            <param name="stringEscapeHandling">The string escape handling.</param>
+            <returns>A JSON string representation of the <see cref="T:System.String"/>.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonConvert.ToString(System.Object)">
+            <summary>
+            Converts the <see cref="T:System.Object"/> to its JSON string representation.
+            </summary>
+            <param name="value">The value to convert.</param>
+            <returns>A JSON string representation of the <see cref="T:System.Object"/>.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonConvert.SerializeObject(System.Object)">
+            <summary>
+            Serializes the specified object to a JSON string.
+            </summary>
+            <param name="value">The object to serialize.</param>
+            <returns>A JSON string representation of the object.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonConvert.SerializeObject(System.Object,LC.Newtonsoft.Json.Formatting)">
+            <summary>
+            Serializes the specified object to a JSON string using formatting.
+            </summary>
+            <param name="value">The object to serialize.</param>
+            <param name="formatting">Indicates how the output should be formatted.</param>
+            <returns>
+            A JSON string representation of the object.
+            </returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonConvert.SerializeObject(System.Object,LC.Newtonsoft.Json.JsonConverter[])">
+            <summary>
+            Serializes the specified object to a JSON string using a collection of <see cref="T:LC.Newtonsoft.Json.JsonConverter"/>.
+            </summary>
+            <param name="value">The object to serialize.</param>
+            <param name="converters">A collection of converters used while serializing.</param>
+            <returns>A JSON string representation of the object.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonConvert.SerializeObject(System.Object,LC.Newtonsoft.Json.Formatting,LC.Newtonsoft.Json.JsonConverter[])">
+            <summary>
+            Serializes the specified object to a JSON string using formatting and a collection of <see cref="T:LC.Newtonsoft.Json.JsonConverter"/>.
+            </summary>
+            <param name="value">The object to serialize.</param>
+            <param name="formatting">Indicates how the output should be formatted.</param>
+            <param name="converters">A collection of converters used while serializing.</param>
+            <returns>A JSON string representation of the object.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonConvert.SerializeObject(System.Object,LC.Newtonsoft.Json.JsonSerializerSettings)">
+            <summary>
+            Serializes the specified object to a JSON string using <see cref="T:LC.Newtonsoft.Json.JsonSerializerSettings"/>.
+            </summary>
+            <param name="value">The object to serialize.</param>
+            <param name="settings">The <see cref="T:LC.Newtonsoft.Json.JsonSerializerSettings"/> used to serialize the object.
+            If this is <c>null</c>, default serialization settings will be used.</param>
+            <returns>
+            A JSON string representation of the object.
+            </returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonConvert.SerializeObject(System.Object,System.Type,LC.Newtonsoft.Json.JsonSerializerSettings)">
+            <summary>
+            Serializes the specified object to a JSON string using a type, formatting and <see cref="T:LC.Newtonsoft.Json.JsonSerializerSettings"/>.
+            </summary>
+            <param name="value">The object to serialize.</param>
+            <param name="settings">The <see cref="T:LC.Newtonsoft.Json.JsonSerializerSettings"/> used to serialize the object.
+            If this is <c>null</c>, default serialization settings will be used.</param>
+            <param name="type">
+            The type of the value being serialized.
+            This parameter is used when <see cref="P:LC.Newtonsoft.Json.JsonSerializer.TypeNameHandling"/> is <see cref="F:LC.Newtonsoft.Json.TypeNameHandling.Auto"/> to write out the type name if the type of the value does not match.
+            Specifying the type is optional.
+            </param>
+            <returns>
+            A JSON string representation of the object.
+            </returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonConvert.SerializeObject(System.Object,LC.Newtonsoft.Json.Formatting,LC.Newtonsoft.Json.JsonSerializerSettings)">
+            <summary>
+            Serializes the specified object to a JSON string using formatting and <see cref="T:LC.Newtonsoft.Json.JsonSerializerSettings"/>.
+            </summary>
+            <param name="value">The object to serialize.</param>
+            <param name="formatting">Indicates how the output should be formatted.</param>
+            <param name="settings">The <see cref="T:LC.Newtonsoft.Json.JsonSerializerSettings"/> used to serialize the object.
+            If this is <c>null</c>, default serialization settings will be used.</param>
+            <returns>
+            A JSON string representation of the object.
+            </returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonConvert.SerializeObject(System.Object,System.Type,LC.Newtonsoft.Json.Formatting,LC.Newtonsoft.Json.JsonSerializerSettings)">
+            <summary>
+            Serializes the specified object to a JSON string using a type, formatting and <see cref="T:LC.Newtonsoft.Json.JsonSerializerSettings"/>.
+            </summary>
+            <param name="value">The object to serialize.</param>
+            <param name="formatting">Indicates how the output should be formatted.</param>
+            <param name="settings">The <see cref="T:LC.Newtonsoft.Json.JsonSerializerSettings"/> used to serialize the object.
+            If this is <c>null</c>, default serialization settings will be used.</param>
+            <param name="type">
+            The type of the value being serialized.
+            This parameter is used when <see cref="P:LC.Newtonsoft.Json.JsonSerializer.TypeNameHandling"/> is <see cref="F:LC.Newtonsoft.Json.TypeNameHandling.Auto"/> to write out the type name if the type of the value does not match.
+            Specifying the type is optional.
+            </param>
+            <returns>
+            A JSON string representation of the object.
+            </returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonConvert.DeserializeObject(System.String)">
+            <summary>
+            Deserializes the JSON to a .NET object.
+            </summary>
+            <param name="value">The JSON to deserialize.</param>
+            <returns>The deserialized object from the JSON string.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonConvert.DeserializeObject(System.String,LC.Newtonsoft.Json.JsonSerializerSettings)">
+            <summary>
+            Deserializes the JSON to a .NET object using <see cref="T:LC.Newtonsoft.Json.JsonSerializerSettings"/>.
+            </summary>
+            <param name="value">The JSON to deserialize.</param>
+            <param name="settings">
+            The <see cref="T:LC.Newtonsoft.Json.JsonSerializerSettings"/> used to deserialize the object.
+            If this is <c>null</c>, default serialization settings will be used.
+            </param>
+            <returns>The deserialized object from the JSON string.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonConvert.DeserializeObject(System.String,System.Type)">
+            <summary>
+            Deserializes the JSON to the specified .NET type.
+            </summary>
+            <param name="value">The JSON to deserialize.</param>
+            <param name="type">The <see cref="T:System.Type"/> of object being deserialized.</param>
+            <returns>The deserialized object from the JSON string.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonConvert.DeserializeObject``1(System.String)">
+            <summary>
+            Deserializes the JSON to the specified .NET type.
+            </summary>
+            <typeparam name="T">The type of the object to deserialize to.</typeparam>
+            <param name="value">The JSON to deserialize.</param>
+            <returns>The deserialized object from the JSON string.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonConvert.DeserializeAnonymousType``1(System.String,``0)">
+            <summary>
+            Deserializes the JSON to the given anonymous type.
+            </summary>
+            <typeparam name="T">
+            The anonymous type to deserialize to. This can't be specified
+            traditionally and must be inferred from the anonymous type passed
+            as a parameter.
+            </typeparam>
+            <param name="value">The JSON to deserialize.</param>
+            <param name="anonymousTypeObject">The anonymous type object.</param>
+            <returns>The deserialized anonymous type from the JSON string.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonConvert.DeserializeAnonymousType``1(System.String,``0,LC.Newtonsoft.Json.JsonSerializerSettings)">
+            <summary>
+            Deserializes the JSON to the given anonymous type using <see cref="T:LC.Newtonsoft.Json.JsonSerializerSettings"/>.
+            </summary>
+            <typeparam name="T">
+            The anonymous type to deserialize to. This can't be specified
+            traditionally and must be inferred from the anonymous type passed
+            as a parameter.
+            </typeparam>
+            <param name="value">The JSON to deserialize.</param>
+            <param name="anonymousTypeObject">The anonymous type object.</param>
+            <param name="settings">
+            The <see cref="T:LC.Newtonsoft.Json.JsonSerializerSettings"/> used to deserialize the object.
+            If this is <c>null</c>, default serialization settings will be used.
+            </param>
+            <returns>The deserialized anonymous type from the JSON string.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonConvert.DeserializeObject``1(System.String,LC.Newtonsoft.Json.JsonConverter[])">
+            <summary>
+            Deserializes the JSON to the specified .NET type using a collection of <see cref="T:LC.Newtonsoft.Json.JsonConverter"/>.
+            </summary>
+            <typeparam name="T">The type of the object to deserialize to.</typeparam>
+            <param name="value">The JSON to deserialize.</param>
+            <param name="converters">Converters to use while deserializing.</param>
+            <returns>The deserialized object from the JSON string.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonConvert.DeserializeObject``1(System.String,LC.Newtonsoft.Json.JsonSerializerSettings)">
+            <summary>
+            Deserializes the JSON to the specified .NET type using <see cref="T:LC.Newtonsoft.Json.JsonSerializerSettings"/>.
+            </summary>
+            <typeparam name="T">The type of the object to deserialize to.</typeparam>
+            <param name="value">The object to deserialize.</param>
+            <param name="settings">
+            The <see cref="T:LC.Newtonsoft.Json.JsonSerializerSettings"/> used to deserialize the object.
+            If this is <c>null</c>, default serialization settings will be used.
+            </param>
+            <returns>The deserialized object from the JSON string.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonConvert.DeserializeObject(System.String,System.Type,LC.Newtonsoft.Json.JsonConverter[])">
+            <summary>
+            Deserializes the JSON to the specified .NET type using a collection of <see cref="T:LC.Newtonsoft.Json.JsonConverter"/>.
+            </summary>
+            <param name="value">The JSON to deserialize.</param>
+            <param name="type">The type of the object to deserialize.</param>
+            <param name="converters">Converters to use while deserializing.</param>
+            <returns>The deserialized object from the JSON string.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonConvert.DeserializeObject(System.String,System.Type,LC.Newtonsoft.Json.JsonSerializerSettings)">
+            <summary>
+            Deserializes the JSON to the specified .NET type using <see cref="T:LC.Newtonsoft.Json.JsonSerializerSettings"/>.
+            </summary>
+            <param name="value">The JSON to deserialize.</param>
+            <param name="type">The type of the object to deserialize to.</param>
+            <param name="settings">
+            The <see cref="T:LC.Newtonsoft.Json.JsonSerializerSettings"/> used to deserialize the object.
+            If this is <c>null</c>, default serialization settings will be used.
+            </param>
+            <returns>The deserialized object from the JSON string.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonConvert.PopulateObject(System.String,System.Object)">
+            <summary>
+            Populates the object with values from the JSON string.
+            </summary>
+            <param name="value">The JSON to populate values from.</param>
+            <param name="target">The target object to populate values onto.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonConvert.PopulateObject(System.String,System.Object,LC.Newtonsoft.Json.JsonSerializerSettings)">
+            <summary>
+            Populates the object with values from the JSON string using <see cref="T:LC.Newtonsoft.Json.JsonSerializerSettings"/>.
+            </summary>
+            <param name="value">The JSON to populate values from.</param>
+            <param name="target">The target object to populate values onto.</param>
+            <param name="settings">
+            The <see cref="T:LC.Newtonsoft.Json.JsonSerializerSettings"/> used to deserialize the object.
+            If this is <c>null</c>, default serialization settings will be used.
+            </param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonConvert.SerializeXmlNode(System.Xml.XmlNode)">
+            <summary>
+            Serializes the <see cref="T:System.Xml.XmlNode"/> to a JSON string.
+            </summary>
+            <param name="node">The node to serialize.</param>
+            <returns>A JSON string of the <see cref="T:System.Xml.XmlNode"/>.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonConvert.SerializeXmlNode(System.Xml.XmlNode,LC.Newtonsoft.Json.Formatting)">
+            <summary>
+            Serializes the <see cref="T:System.Xml.XmlNode"/> to a JSON string using formatting.
+            </summary>
+            <param name="node">The node to serialize.</param>
+            <param name="formatting">Indicates how the output should be formatted.</param>
+            <returns>A JSON string of the <see cref="T:System.Xml.XmlNode"/>.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonConvert.SerializeXmlNode(System.Xml.XmlNode,LC.Newtonsoft.Json.Formatting,System.Boolean)">
+            <summary>
+            Serializes the <see cref="T:System.Xml.XmlNode"/> to a JSON string using formatting and omits the root object if <paramref name="omitRootObject"/> is <c>true</c>.
+            </summary>
+            <param name="node">The node to serialize.</param>
+            <param name="formatting">Indicates how the output should be formatted.</param>
+            <param name="omitRootObject">Omits writing the root object.</param>
+            <returns>A JSON string of the <see cref="T:System.Xml.XmlNode"/>.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonConvert.DeserializeXmlNode(System.String)">
+            <summary>
+            Deserializes the <see cref="T:System.Xml.XmlNode"/> from a JSON string.
+            </summary>
+            <param name="value">The JSON string.</param>
+            <returns>The deserialized <see cref="T:System.Xml.XmlNode"/>.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonConvert.DeserializeXmlNode(System.String,System.String)">
+            <summary>
+            Deserializes the <see cref="T:System.Xml.XmlNode"/> from a JSON string nested in a root element specified by <paramref name="deserializeRootElementName"/>.
+            </summary>
+            <param name="value">The JSON string.</param>
+            <param name="deserializeRootElementName">The name of the root element to append when deserializing.</param>
+            <returns>The deserialized <see cref="T:System.Xml.XmlNode"/>.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonConvert.DeserializeXmlNode(System.String,System.String,System.Boolean)">
+            <summary>
+            Deserializes the <see cref="T:System.Xml.XmlNode"/> from a JSON string nested in a root element specified by <paramref name="deserializeRootElementName"/>
+            and writes a Json.NET array attribute for collections.
+            </summary>
+            <param name="value">The JSON string.</param>
+            <param name="deserializeRootElementName">The name of the root element to append when deserializing.</param>
+            <param name="writeArrayAttribute">
+            A value to indicate whether to write the Json.NET array attribute.
+            This attribute helps preserve arrays when converting the written XML back to JSON.
+            </param>
+            <returns>The deserialized <see cref="T:System.Xml.XmlNode"/>.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonConvert.DeserializeXmlNode(System.String,System.String,System.Boolean,System.Boolean)">
+            <summary>
+            Deserializes the <see cref="T:System.Xml.XmlNode"/> from a JSON string nested in a root element specified by <paramref name="deserializeRootElementName"/>,
+            writes a Json.NET array attribute for collections, and encodes special characters.
+            </summary>
+            <param name="value">The JSON string.</param>
+            <param name="deserializeRootElementName">The name of the root element to append when deserializing.</param>
+            <param name="writeArrayAttribute">
+            A value to indicate whether to write the Json.NET array attribute.
+            This attribute helps preserve arrays when converting the written XML back to JSON.
+            </param>
+            <param name="encodeSpecialCharacters">
+            A value to indicate whether to encode special characters when converting JSON to XML.
+            If <c>true</c>, special characters like ':', '@', '?', '#' and '$' in JSON property names aren't used to specify
+            XML namespaces, attributes or processing directives. Instead special characters are encoded and written
+            as part of the XML element name.
+            </param>
+            <returns>The deserialized <see cref="T:System.Xml.XmlNode"/>.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonConvert.SerializeXNode(System.Xml.Linq.XObject)">
+            <summary>
+            Serializes the <see cref="T:System.Xml.Linq.XNode"/> to a JSON string.
+            </summary>
+            <param name="node">The node to convert to JSON.</param>
+            <returns>A JSON string of the <see cref="T:System.Xml.Linq.XNode"/>.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonConvert.SerializeXNode(System.Xml.Linq.XObject,LC.Newtonsoft.Json.Formatting)">
+            <summary>
+            Serializes the <see cref="T:System.Xml.Linq.XNode"/> to a JSON string using formatting.
+            </summary>
+            <param name="node">The node to convert to JSON.</param>
+            <param name="formatting">Indicates how the output should be formatted.</param>
+            <returns>A JSON string of the <see cref="T:System.Xml.Linq.XNode"/>.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonConvert.SerializeXNode(System.Xml.Linq.XObject,LC.Newtonsoft.Json.Formatting,System.Boolean)">
+            <summary>
+            Serializes the <see cref="T:System.Xml.Linq.XNode"/> to a JSON string using formatting and omits the root object if <paramref name="omitRootObject"/> is <c>true</c>.
+            </summary>
+            <param name="node">The node to serialize.</param>
+            <param name="formatting">Indicates how the output should be formatted.</param>
+            <param name="omitRootObject">Omits writing the root object.</param>
+            <returns>A JSON string of the <see cref="T:System.Xml.Linq.XNode"/>.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonConvert.DeserializeXNode(System.String)">
+            <summary>
+            Deserializes the <see cref="T:System.Xml.Linq.XNode"/> from a JSON string.
+            </summary>
+            <param name="value">The JSON string.</param>
+            <returns>The deserialized <see cref="T:System.Xml.Linq.XNode"/>.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonConvert.DeserializeXNode(System.String,System.String)">
+            <summary>
+            Deserializes the <see cref="T:System.Xml.Linq.XNode"/> from a JSON string nested in a root element specified by <paramref name="deserializeRootElementName"/>.
+            </summary>
+            <param name="value">The JSON string.</param>
+            <param name="deserializeRootElementName">The name of the root element to append when deserializing.</param>
+            <returns>The deserialized <see cref="T:System.Xml.Linq.XNode"/>.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonConvert.DeserializeXNode(System.String,System.String,System.Boolean)">
+            <summary>
+            Deserializes the <see cref="T:System.Xml.Linq.XNode"/> from a JSON string nested in a root element specified by <paramref name="deserializeRootElementName"/>
+            and writes a Json.NET array attribute for collections.
+            </summary>
+            <param name="value">The JSON string.</param>
+            <param name="deserializeRootElementName">The name of the root element to append when deserializing.</param>
+            <param name="writeArrayAttribute">
+            A value to indicate whether to write the Json.NET array attribute.
+            This attribute helps preserve arrays when converting the written XML back to JSON.
+            </param>
+            <returns>The deserialized <see cref="T:System.Xml.Linq.XNode"/>.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonConvert.DeserializeXNode(System.String,System.String,System.Boolean,System.Boolean)">
+            <summary>
+            Deserializes the <see cref="T:System.Xml.Linq.XNode"/> from a JSON string nested in a root element specified by <paramref name="deserializeRootElementName"/>,
+            writes a Json.NET array attribute for collections, and encodes special characters.
+            </summary>
+            <param name="value">The JSON string.</param>
+            <param name="deserializeRootElementName">The name of the root element to append when deserializing.</param>
+            <param name="writeArrayAttribute">
+            A value to indicate whether to write the Json.NET array attribute.
+            This attribute helps preserve arrays when converting the written XML back to JSON.
+            </param>
+            <param name="encodeSpecialCharacters">
+            A value to indicate whether to encode special characters when converting JSON to XML.
+            If <c>true</c>, special characters like ':', '@', '?', '#' and '$' in JSON property names aren't used to specify
+            XML namespaces, attributes or processing directives. Instead special characters are encoded and written
+            as part of the XML element name.
+            </param>
+            <returns>The deserialized <see cref="T:System.Xml.Linq.XNode"/>.</returns>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.JsonConverter">
+            <summary>
+            Converts an object to and from JSON.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonConverter.WriteJson(LC.Newtonsoft.Json.JsonWriter,System.Object,LC.Newtonsoft.Json.JsonSerializer)">
+            <summary>
+            Writes the JSON representation of the object.
+            </summary>
+            <param name="writer">The <see cref="T:LC.Newtonsoft.Json.JsonWriter"/> to write to.</param>
+            <param name="value">The value.</param>
+            <param name="serializer">The calling serializer.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonConverter.ReadJson(LC.Newtonsoft.Json.JsonReader,System.Type,System.Object,LC.Newtonsoft.Json.JsonSerializer)">
+            <summary>
+            Reads the JSON representation of the object.
+            </summary>
+            <param name="reader">The <see cref="T:LC.Newtonsoft.Json.JsonReader"/> to read from.</param>
+            <param name="objectType">Type of the object.</param>
+            <param name="existingValue">The existing value of object being read.</param>
+            <param name="serializer">The calling serializer.</param>
+            <returns>The object value.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonConverter.CanConvert(System.Type)">
+            <summary>
+            Determines whether this instance can convert the specified object type.
+            </summary>
+            <param name="objectType">Type of the object.</param>
+            <returns>
+            	<c>true</c> if this instance can convert the specified object type; otherwise, <c>false</c>.
+            </returns>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonConverter.CanRead">
+            <summary>
+            Gets a value indicating whether this <see cref="T:LC.Newtonsoft.Json.JsonConverter"/> can read JSON.
+            </summary>
+            <value><c>true</c> if this <see cref="T:LC.Newtonsoft.Json.JsonConverter"/> can read JSON; otherwise, <c>false</c>.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonConverter.CanWrite">
+            <summary>
+            Gets a value indicating whether this <see cref="T:LC.Newtonsoft.Json.JsonConverter"/> can write JSON.
+            </summary>
+            <value><c>true</c> if this <see cref="T:LC.Newtonsoft.Json.JsonConverter"/> can write JSON; otherwise, <c>false</c>.</value>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.JsonConverter`1">
+            <summary>
+            Converts an object to and from JSON.
+            </summary>
+            <typeparam name="T">The object type to convert.</typeparam>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonConverter`1.WriteJson(LC.Newtonsoft.Json.JsonWriter,System.Object,LC.Newtonsoft.Json.JsonSerializer)">
+            <summary>
+            Writes the JSON representation of the object.
+            </summary>
+            <param name="writer">The <see cref="T:LC.Newtonsoft.Json.JsonWriter"/> to write to.</param>
+            <param name="value">The value.</param>
+            <param name="serializer">The calling serializer.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonConverter`1.WriteJson(LC.Newtonsoft.Json.JsonWriter,`0,LC.Newtonsoft.Json.JsonSerializer)">
+            <summary>
+            Writes the JSON representation of the object.
+            </summary>
+            <param name="writer">The <see cref="T:LC.Newtonsoft.Json.JsonWriter"/> to write to.</param>
+            <param name="value">The value.</param>
+            <param name="serializer">The calling serializer.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonConverter`1.ReadJson(LC.Newtonsoft.Json.JsonReader,System.Type,System.Object,LC.Newtonsoft.Json.JsonSerializer)">
+            <summary>
+            Reads the JSON representation of the object.
+            </summary>
+            <param name="reader">The <see cref="T:LC.Newtonsoft.Json.JsonReader"/> to read from.</param>
+            <param name="objectType">Type of the object.</param>
+            <param name="existingValue">The existing value of object being read.</param>
+            <param name="serializer">The calling serializer.</param>
+            <returns>The object value.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonConverter`1.ReadJson(LC.Newtonsoft.Json.JsonReader,System.Type,`0,System.Boolean,LC.Newtonsoft.Json.JsonSerializer)">
+            <summary>
+            Reads the JSON representation of the object.
+            </summary>
+            <param name="reader">The <see cref="T:LC.Newtonsoft.Json.JsonReader"/> to read from.</param>
+            <param name="objectType">Type of the object.</param>
+            <param name="existingValue">The existing value of object being read. If there is no existing value then <c>null</c> will be used.</param>
+            <param name="hasExistingValue">The existing value has a value.</param>
+            <param name="serializer">The calling serializer.</param>
+            <returns>The object value.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonConverter`1.CanConvert(System.Type)">
+            <summary>
+            Determines whether this instance can convert the specified object type.
+            </summary>
+            <param name="objectType">Type of the object.</param>
+            <returns>
+            	<c>true</c> if this instance can convert the specified object type; otherwise, <c>false</c>.
+            </returns>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.JsonConverterAttribute">
+            <summary>
+            Instructs the <see cref="T:LC.Newtonsoft.Json.JsonSerializer"/> to use the specified <see cref="T:LC.Newtonsoft.Json.JsonConverter"/> when serializing the member or class.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonConverterAttribute.ConverterType">
+            <summary>
+            Gets the <see cref="T:System.Type"/> of the <see cref="T:LC.Newtonsoft.Json.JsonConverter"/>.
+            </summary>
+            <value>The <see cref="T:System.Type"/> of the <see cref="T:LC.Newtonsoft.Json.JsonConverter"/>.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonConverterAttribute.ConverterParameters">
+            <summary>
+            The parameter list to use when constructing the <see cref="T:LC.Newtonsoft.Json.JsonConverter"/> described by <see cref="P:LC.Newtonsoft.Json.JsonConverterAttribute.ConverterType"/>.
+            If <c>null</c>, the default constructor is used.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonConverterAttribute.#ctor(System.Type)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.JsonConverterAttribute"/> class.
+            </summary>
+            <param name="converterType">Type of the <see cref="T:LC.Newtonsoft.Json.JsonConverter"/>.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonConverterAttribute.#ctor(System.Type,System.Object[])">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.JsonConverterAttribute"/> class.
+            </summary>
+            <param name="converterType">Type of the <see cref="T:LC.Newtonsoft.Json.JsonConverter"/>.</param>
+            <param name="converterParameters">Parameter list to use when constructing the <see cref="T:LC.Newtonsoft.Json.JsonConverter"/>. Can be <c>null</c>.</param>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.JsonConverterCollection">
+            <summary>
+            Represents a collection of <see cref="T:LC.Newtonsoft.Json.JsonConverter"/>.
+            </summary>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.JsonDictionaryAttribute">
+            <summary>
+            Instructs the <see cref="T:LC.Newtonsoft.Json.JsonSerializer"/> how to serialize the collection.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonDictionaryAttribute.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.JsonDictionaryAttribute"/> class.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonDictionaryAttribute.#ctor(System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.JsonDictionaryAttribute"/> class with the specified container Id.
+            </summary>
+            <param name="id">The container Id.</param>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.JsonException">
+            <summary>
+            The exception thrown when an error occurs during JSON serialization or deserialization.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonException.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.JsonException"/> class.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonException.#ctor(System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.JsonException"/> class
+            with a specified error message.
+            </summary>
+            <param name="message">The error message that explains the reason for the exception.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonException.#ctor(System.String,System.Exception)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.JsonException"/> class
+            with a specified error message and a reference to the inner exception that is the cause of this exception.
+            </summary>
+            <param name="message">The error message that explains the reason for the exception.</param>
+            <param name="innerException">The exception that is the cause of the current exception, or <c>null</c> if no inner exception is specified.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.JsonException"/> class.
+            </summary>
+            <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object data about the exception being thrown.</param>
+            <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that contains contextual information about the source or destination.</param>
+            <exception cref="T:System.ArgumentNullException">The <paramref name="info"/> parameter is <c>null</c>.</exception>
+            <exception cref="T:System.Runtime.Serialization.SerializationException">The class name is <c>null</c> or <see cref="P:System.Exception.HResult"/> is zero (0).</exception>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.JsonExtensionDataAttribute">
+            <summary>
+            Instructs the <see cref="T:LC.Newtonsoft.Json.JsonSerializer"/> to deserialize properties with no matching class member into the specified collection
+            and write values during serialization.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonExtensionDataAttribute.WriteData">
+            <summary>
+            Gets or sets a value that indicates whether to write extension data when serializing the object.
+            </summary>
+            <value>
+            	<c>true</c> to write extension data when serializing the object; otherwise, <c>false</c>. The default is <c>true</c>.
+            </value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonExtensionDataAttribute.ReadData">
+            <summary>
+            Gets or sets a value that indicates whether to read extension data when deserializing the object.
+            </summary>
+            <value>
+            	<c>true</c> to read extension data when deserializing the object; otherwise, <c>false</c>. The default is <c>true</c>.
+            </value>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonExtensionDataAttribute.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.JsonExtensionDataAttribute"/> class.
+            </summary>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.JsonIgnoreAttribute">
+            <summary>
+            Instructs the <see cref="T:LC.Newtonsoft.Json.JsonSerializer"/> not to serialize the public field or public read/write property value.
+            </summary>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.JsonNameTable">
+            <summary>
+            Base class for a table of atomized string objects.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonNameTable.Get(System.Char[],System.Int32,System.Int32)">
+            <summary>
+            Gets a string containing the same characters as the specified range of characters in the given array.
+            </summary>
+            <param name="key">The character array containing the name to find.</param>
+            <param name="start">The zero-based index into the array specifying the first character of the name.</param>
+            <param name="length">The number of characters in the name.</param>
+            <returns>A string containing the same characters as the specified range of characters in the given array.</returns>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.JsonObjectAttribute">
+            <summary>
+            Instructs the <see cref="T:LC.Newtonsoft.Json.JsonSerializer"/> how to serialize the object.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonObjectAttribute.MemberSerialization">
+            <summary>
+            Gets or sets the member serialization.
+            </summary>
+            <value>The member serialization.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonObjectAttribute.MissingMemberHandling">
+            <summary>
+            Gets or sets the missing member handling used when deserializing this object.
+            </summary>
+            <value>The missing member handling.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonObjectAttribute.ItemNullValueHandling">
+            <summary>
+            Gets or sets how the object's properties with null values are handled during serialization and deserialization.
+            </summary>
+            <value>How the object's properties with null values are handled during serialization and deserialization.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonObjectAttribute.ItemRequired">
+            <summary>
+            Gets or sets a value that indicates whether the object's properties are required.
+            </summary>
+            <value>
+            	A value indicating whether the object's properties are required.
+            </value>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonObjectAttribute.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.JsonObjectAttribute"/> class.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonObjectAttribute.#ctor(LC.Newtonsoft.Json.MemberSerialization)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.JsonObjectAttribute"/> class with the specified member serialization.
+            </summary>
+            <param name="memberSerialization">The member serialization.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonObjectAttribute.#ctor(System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.JsonObjectAttribute"/> class with the specified container Id.
+            </summary>
+            <param name="id">The container Id.</param>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.JsonPropertyAttribute">
+            <summary>
+            Instructs the <see cref="T:LC.Newtonsoft.Json.JsonSerializer"/> to always serialize the member with the specified name.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonPropertyAttribute.ItemConverterType">
+            <summary>
+            Gets or sets the <see cref="T:LC.Newtonsoft.Json.JsonConverter"/> type used when serializing the property's collection items.
+            </summary>
+            <value>The collection's items <see cref="T:LC.Newtonsoft.Json.JsonConverter"/> type.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonPropertyAttribute.ItemConverterParameters">
+            <summary>
+            The parameter list to use when constructing the <see cref="T:LC.Newtonsoft.Json.JsonConverter"/> described by <see cref="P:LC.Newtonsoft.Json.JsonPropertyAttribute.ItemConverterType"/>.
+            If <c>null</c>, the default constructor is used.
+            When non-<c>null</c>, there must be a constructor defined in the <see cref="T:LC.Newtonsoft.Json.JsonConverter"/> that exactly matches the number,
+            order, and type of these parameters.
+            </summary>
+            <example>
+            <code>
+            [JsonProperty(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })]
+            </code>
+            </example>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonPropertyAttribute.NamingStrategyType">
+            <summary>
+            Gets or sets the <see cref="T:System.Type"/> of the <see cref="T:LC.Newtonsoft.Json.Serialization.NamingStrategy"/>.
+            </summary>
+            <value>The <see cref="T:System.Type"/> of the <see cref="T:LC.Newtonsoft.Json.Serialization.NamingStrategy"/>.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonPropertyAttribute.NamingStrategyParameters">
+            <summary>
+            The parameter list to use when constructing the <see cref="T:LC.Newtonsoft.Json.Serialization.NamingStrategy"/> described by <see cref="P:LC.Newtonsoft.Json.JsonPropertyAttribute.NamingStrategyType"/>.
+            If <c>null</c>, the default constructor is used.
+            When non-<c>null</c>, there must be a constructor defined in the <see cref="T:LC.Newtonsoft.Json.Serialization.NamingStrategy"/> that exactly matches the number,
+            order, and type of these parameters.
+            </summary>
+            <example>
+            <code>
+            [JsonProperty(NamingStrategyType = typeof(MyNamingStrategy), NamingStrategyParameters = new object[] { 123, "Four" })]
+            </code>
+            </example>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonPropertyAttribute.NullValueHandling">
+            <summary>
+            Gets or sets the null value handling used when serializing this property.
+            </summary>
+            <value>The null value handling.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonPropertyAttribute.DefaultValueHandling">
+            <summary>
+            Gets or sets the default value handling used when serializing this property.
+            </summary>
+            <value>The default value handling.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonPropertyAttribute.ReferenceLoopHandling">
+            <summary>
+            Gets or sets the reference loop handling used when serializing this property.
+            </summary>
+            <value>The reference loop handling.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonPropertyAttribute.ObjectCreationHandling">
+            <summary>
+            Gets or sets the object creation handling used when deserializing this property.
+            </summary>
+            <value>The object creation handling.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonPropertyAttribute.TypeNameHandling">
+            <summary>
+            Gets or sets the type name handling used when serializing this property.
+            </summary>
+            <value>The type name handling.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonPropertyAttribute.IsReference">
+            <summary>
+            Gets or sets whether this property's value is serialized as a reference.
+            </summary>
+            <value>Whether this property's value is serialized as a reference.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonPropertyAttribute.Order">
+            <summary>
+            Gets or sets the order of serialization of a member.
+            </summary>
+            <value>The numeric order of serialization.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonPropertyAttribute.Required">
+            <summary>
+            Gets or sets a value indicating whether this property is required.
+            </summary>
+            <value>
+            	A value indicating whether this property is required.
+            </value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonPropertyAttribute.PropertyName">
+            <summary>
+            Gets or sets the name of the property.
+            </summary>
+            <value>The name of the property.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonPropertyAttribute.ItemReferenceLoopHandling">
+            <summary>
+            Gets or sets the reference loop handling used when serializing the property's collection items.
+            </summary>
+            <value>The collection's items reference loop handling.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonPropertyAttribute.ItemTypeNameHandling">
+            <summary>
+            Gets or sets the type name handling used when serializing the property's collection items.
+            </summary>
+            <value>The collection's items type name handling.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonPropertyAttribute.ItemIsReference">
+            <summary>
+            Gets or sets whether this property's collection items are serialized as a reference.
+            </summary>
+            <value>Whether this property's collection items are serialized as a reference.</value>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonPropertyAttribute.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.JsonPropertyAttribute"/> class.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonPropertyAttribute.#ctor(System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.JsonPropertyAttribute"/> class with the specified name.
+            </summary>
+            <param name="propertyName">Name of the property.</param>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.JsonReader">
+            <summary>
+            Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonReader.ReadAsync(System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously reads the next JSON token from the source.
+            </summary>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task`1"/> that represents the asynchronous read. The <see cref="P:System.Threading.Tasks.Task`1.Result"/>
+            property returns <c>true</c> if the next token was read successfully; <c>false</c> if there are no more tokens to read.</returns>
+            <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived
+            classes can override this behaviour for true asynchronicity.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonReader.SkipAsync(System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously skips the children of the current token.
+            </summary>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived
+            classes can override this behaviour for true asynchronicity.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonReader.ReadAsBooleanAsync(System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously reads the next JSON token from the source as a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Boolean"/>.
+            </summary>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task`1"/> that represents the asynchronous read. The <see cref="P:System.Threading.Tasks.Task`1.Result"/>
+            property returns the <see cref="T:System.Nullable`1"/> of <see cref="T:System.Boolean"/>. This result will be <c>null</c> at the end of an array.</returns>
+            <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived
+            classes can override this behaviour for true asynchronicity.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonReader.ReadAsBytesAsync(System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously reads the next JSON token from the source as a <see cref="T:System.Byte"/>[].
+            </summary>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task`1"/> that represents the asynchronous read. The <see cref="P:System.Threading.Tasks.Task`1.Result"/>
+            property returns the <see cref="T:System.Byte"/>[]. This result will be <c>null</c> at the end of an array.</returns>
+            <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived
+            classes can override this behaviour for true asynchronicity.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonReader.ReadAsDateTimeAsync(System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously reads the next JSON token from the source as a <see cref="T:System.Nullable`1"/> of <see cref="T:System.DateTime"/>.
+            </summary>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task`1"/> that represents the asynchronous read. The <see cref="P:System.Threading.Tasks.Task`1.Result"/>
+            property returns the <see cref="T:System.Nullable`1"/> of <see cref="T:System.DateTime"/>. This result will be <c>null</c> at the end of an array.</returns>
+            <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived
+            classes can override this behaviour for true asynchronicity.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonReader.ReadAsDateTimeOffsetAsync(System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously reads the next JSON token from the source as a <see cref="T:System.Nullable`1"/> of <see cref="T:System.DateTimeOffset"/>.
+            </summary>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task`1"/> that represents the asynchronous read. The <see cref="P:System.Threading.Tasks.Task`1.Result"/>
+            property returns the <see cref="T:System.Nullable`1"/> of <see cref="T:System.DateTimeOffset"/>. This result will be <c>null</c> at the end of an array.</returns>
+            <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived
+            classes can override this behaviour for true asynchronicity.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonReader.ReadAsDecimalAsync(System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously reads the next JSON token from the source as a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Decimal"/>.
+            </summary>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task`1"/> that represents the asynchronous read. The <see cref="P:System.Threading.Tasks.Task`1.Result"/>
+            property returns the <see cref="T:System.Nullable`1"/> of <see cref="T:System.Decimal"/>. This result will be <c>null</c> at the end of an array.</returns>
+            <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived
+            classes can override this behaviour for true asynchronicity.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonReader.ReadAsDoubleAsync(System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously reads the next JSON token from the source as a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Double"/>.
+            </summary>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task`1"/> that represents the asynchronous read. The <see cref="P:System.Threading.Tasks.Task`1.Result"/>
+            property returns the <see cref="T:System.Nullable`1"/> of <see cref="T:System.Double"/>. This result will be <c>null</c> at the end of an array.</returns>
+            <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived
+            classes can override this behaviour for true asynchronicity.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonReader.ReadAsInt32Async(System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously reads the next JSON token from the source as a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Int32"/>.
+            </summary>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task`1"/> that represents the asynchronous read. The <see cref="P:System.Threading.Tasks.Task`1.Result"/>
+            property returns the <see cref="T:System.Nullable`1"/> of <see cref="T:System.Int32"/>. This result will be <c>null</c> at the end of an array.</returns>
+            <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived
+            classes can override this behaviour for true asynchronicity.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonReader.ReadAsStringAsync(System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously reads the next JSON token from the source as a <see cref="T:System.String"/>.
+            </summary>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task`1"/> that represents the asynchronous read. The <see cref="P:System.Threading.Tasks.Task`1.Result"/>
+            property returns the <see cref="T:System.String"/>. This result will be <c>null</c> at the end of an array.</returns>
+            <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived
+            classes can override this behaviour for true asynchronicity.</remarks>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.JsonReader.State">
+            <summary>
+            Specifies the state of the reader.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.JsonReader.State.Start">
+            <summary>
+            A <see cref="T:LC.Newtonsoft.Json.JsonReader"/> read method has not been called.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.JsonReader.State.Complete">
+            <summary>
+            The end of the file has been reached successfully.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.JsonReader.State.Property">
+            <summary>
+            Reader is at a property.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.JsonReader.State.ObjectStart">
+            <summary>
+            Reader is at the start of an object.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.JsonReader.State.Object">
+            <summary>
+            Reader is in an object.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.JsonReader.State.ArrayStart">
+            <summary>
+            Reader is at the start of an array.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.JsonReader.State.Array">
+            <summary>
+            Reader is in an array.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.JsonReader.State.Closed">
+            <summary>
+            The <see cref="M:LC.Newtonsoft.Json.JsonReader.Close"/> method has been called.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.JsonReader.State.PostValue">
+            <summary>
+            Reader has just read a value.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.JsonReader.State.ConstructorStart">
+            <summary>
+            Reader is at the start of a constructor.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.JsonReader.State.Constructor">
+            <summary>
+            Reader is in a constructor.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.JsonReader.State.Error">
+            <summary>
+            An error occurred that prevents the read operation from continuing.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.JsonReader.State.Finished">
+            <summary>
+            The end of the file has been reached successfully.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonReader.CurrentState">
+            <summary>
+            Gets the current reader state.
+            </summary>
+            <value>The current reader state.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonReader.CloseInput">
+            <summary>
+            Gets or sets a value indicating whether the source should be closed when this reader is closed.
+            </summary>
+            <value>
+            <c>true</c> to close the source when this reader is closed; otherwise <c>false</c>. The default is <c>true</c>.
+            </value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonReader.SupportMultipleContent">
+            <summary>
+            Gets or sets a value indicating whether multiple pieces of JSON content can
+            be read from a continuous stream without erroring.
+            </summary>
+            <value>
+            <c>true</c> to support reading multiple pieces of JSON content; otherwise <c>false</c>.
+            The default is <c>false</c>.
+            </value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonReader.QuoteChar">
+            <summary>
+            Gets the quotation mark character used to enclose the value of a string.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonReader.DateTimeZoneHandling">
+            <summary>
+            Gets or sets how <see cref="T:System.DateTime"/> time zones are handled when reading JSON.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonReader.DateParseHandling">
+            <summary>
+            Gets or sets how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonReader.FloatParseHandling">
+            <summary>
+            Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonReader.DateFormatString">
+            <summary>
+            Gets or sets how custom date formatted strings are parsed when reading JSON.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonReader.MaxDepth">
+            <summary>
+            Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a <see cref="T:LC.Newtonsoft.Json.JsonReaderException"/>.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonReader.TokenType">
+            <summary>
+            Gets the type of the current JSON token. 
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonReader.Value">
+            <summary>
+            Gets the text value of the current JSON token.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonReader.ValueType">
+            <summary>
+            Gets the .NET type for the current JSON token.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonReader.Depth">
+            <summary>
+            Gets the depth of the current token in the JSON document.
+            </summary>
+            <value>The depth of the current token in the JSON document.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonReader.Path">
+            <summary>
+            Gets the path of the current JSON token. 
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonReader.Culture">
+            <summary>
+            Gets or sets the culture used when reading JSON. Defaults to <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonReader.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.JsonReader"/> class.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonReader.Read">
+            <summary>
+            Reads the next JSON token from the source.
+            </summary>
+            <returns><c>true</c> if the next token was read successfully; <c>false</c> if there are no more tokens to read.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonReader.ReadAsInt32">
+            <summary>
+            Reads the next JSON token from the source as a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Int32"/>.
+            </summary>
+            <returns>A <see cref="T:System.Nullable`1"/> of <see cref="T:System.Int32"/>. This method will return <c>null</c> at the end of an array.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonReader.ReadAsString">
+            <summary>
+            Reads the next JSON token from the source as a <see cref="T:System.String"/>.
+            </summary>
+            <returns>A <see cref="T:System.String"/>. This method will return <c>null</c> at the end of an array.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonReader.ReadAsBytes">
+            <summary>
+            Reads the next JSON token from the source as a <see cref="T:System.Byte"/>[].
+            </summary>
+            <returns>A <see cref="T:System.Byte"/>[] or <c>null</c> if the next JSON token is null. This method will return <c>null</c> at the end of an array.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonReader.ReadAsDouble">
+            <summary>
+            Reads the next JSON token from the source as a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Double"/>.
+            </summary>
+            <returns>A <see cref="T:System.Nullable`1"/> of <see cref="T:System.Double"/>. This method will return <c>null</c> at the end of an array.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonReader.ReadAsBoolean">
+            <summary>
+            Reads the next JSON token from the source as a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Boolean"/>.
+            </summary>
+            <returns>A <see cref="T:System.Nullable`1"/> of <see cref="T:System.Boolean"/>. This method will return <c>null</c> at the end of an array.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonReader.ReadAsDecimal">
+            <summary>
+            Reads the next JSON token from the source as a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Decimal"/>.
+            </summary>
+            <returns>A <see cref="T:System.Nullable`1"/> of <see cref="T:System.Decimal"/>. This method will return <c>null</c> at the end of an array.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonReader.ReadAsDateTime">
+            <summary>
+            Reads the next JSON token from the source as a <see cref="T:System.Nullable`1"/> of <see cref="T:System.DateTime"/>.
+            </summary>
+            <returns>A <see cref="T:System.Nullable`1"/> of <see cref="T:System.DateTime"/>. This method will return <c>null</c> at the end of an array.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonReader.ReadAsDateTimeOffset">
+            <summary>
+            Reads the next JSON token from the source as a <see cref="T:System.Nullable`1"/> of <see cref="T:System.DateTimeOffset"/>.
+            </summary>
+            <returns>A <see cref="T:System.Nullable`1"/> of <see cref="T:System.DateTimeOffset"/>. This method will return <c>null</c> at the end of an array.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonReader.Skip">
+            <summary>
+            Skips the children of the current token.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonReader.SetToken(LC.Newtonsoft.Json.JsonToken)">
+            <summary>
+            Sets the current token.
+            </summary>
+            <param name="newToken">The new token.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonReader.SetToken(LC.Newtonsoft.Json.JsonToken,System.Object)">
+            <summary>
+            Sets the current token and value.
+            </summary>
+            <param name="newToken">The new token.</param>
+            <param name="value">The value.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonReader.SetToken(LC.Newtonsoft.Json.JsonToken,System.Object,System.Boolean)">
+            <summary>
+            Sets the current token and value.
+            </summary>
+            <param name="newToken">The new token.</param>
+            <param name="value">The value.</param>
+            <param name="updateIndex">A flag indicating whether the position index inside an array should be updated.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonReader.SetStateBasedOnCurrent">
+            <summary>
+            Sets the state based on current token type.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonReader.Dispose(System.Boolean)">
+            <summary>
+            Releases unmanaged and - optionally - managed resources.
+            </summary>
+            <param name="disposing"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonReader.Close">
+            <summary>
+            Changes the reader's state to <see cref="F:LC.Newtonsoft.Json.JsonReader.State.Closed"/>.
+            If <see cref="P:LC.Newtonsoft.Json.JsonReader.CloseInput"/> is set to <c>true</c>, the source is also closed.
+            </summary>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.JsonReaderException">
+            <summary>
+            The exception thrown when an error occurs while reading JSON text.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonReaderException.LineNumber">
+            <summary>
+            Gets the line number indicating where the error occurred.
+            </summary>
+            <value>The line number indicating where the error occurred.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonReaderException.LinePosition">
+            <summary>
+            Gets the line position indicating where the error occurred.
+            </summary>
+            <value>The line position indicating where the error occurred.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonReaderException.Path">
+            <summary>
+            Gets the path to the JSON where the error occurred.
+            </summary>
+            <value>The path to the JSON where the error occurred.</value>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonReaderException.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.JsonReaderException"/> class.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonReaderException.#ctor(System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.JsonReaderException"/> class
+            with a specified error message.
+            </summary>
+            <param name="message">The error message that explains the reason for the exception.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonReaderException.#ctor(System.String,System.Exception)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.JsonReaderException"/> class
+            with a specified error message and a reference to the inner exception that is the cause of this exception.
+            </summary>
+            <param name="message">The error message that explains the reason for the exception.</param>
+            <param name="innerException">The exception that is the cause of the current exception, or <c>null</c> if no inner exception is specified.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonReaderException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.JsonReaderException"/> class.
+            </summary>
+            <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object data about the exception being thrown.</param>
+            <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that contains contextual information about the source or destination.</param>
+            <exception cref="T:System.ArgumentNullException">The <paramref name="info"/> parameter is <c>null</c>.</exception>
+            <exception cref="T:System.Runtime.Serialization.SerializationException">The class name is <c>null</c> or <see cref="P:System.Exception.HResult"/> is zero (0).</exception>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonReaderException.#ctor(System.String,System.String,System.Int32,System.Int32,System.Exception)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.JsonReaderException"/> class
+            with a specified error message, JSON path, line number, line position, and a reference to the inner exception that is the cause of this exception.
+            </summary>
+            <param name="message">The error message that explains the reason for the exception.</param>
+            <param name="path">The path to the JSON where the error occurred.</param>
+            <param name="lineNumber">The line number indicating where the error occurred.</param>
+            <param name="linePosition">The line position indicating where the error occurred.</param>
+            <param name="innerException">The exception that is the cause of the current exception, or <c>null</c> if no inner exception is specified.</param>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.JsonRequiredAttribute">
+            <summary>
+            Instructs the <see cref="T:LC.Newtonsoft.Json.JsonSerializer"/> to always serialize the member, and to require that the member has a value.
+            </summary>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.JsonSerializationException">
+            <summary>
+            The exception thrown when an error occurs during JSON serialization or deserialization.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonSerializationException.LineNumber">
+            <summary>
+            Gets the line number indicating where the error occurred.
+            </summary>
+            <value>The line number indicating where the error occurred.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonSerializationException.LinePosition">
+            <summary>
+            Gets the line position indicating where the error occurred.
+            </summary>
+            <value>The line position indicating where the error occurred.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonSerializationException.Path">
+            <summary>
+            Gets the path to the JSON where the error occurred.
+            </summary>
+            <value>The path to the JSON where the error occurred.</value>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonSerializationException.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.JsonSerializationException"/> class.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonSerializationException.#ctor(System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.JsonSerializationException"/> class
+            with a specified error message.
+            </summary>
+            <param name="message">The error message that explains the reason for the exception.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonSerializationException.#ctor(System.String,System.Exception)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.JsonSerializationException"/> class
+            with a specified error message and a reference to the inner exception that is the cause of this exception.
+            </summary>
+            <param name="message">The error message that explains the reason for the exception.</param>
+            <param name="innerException">The exception that is the cause of the current exception, or <c>null</c> if no inner exception is specified.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonSerializationException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.JsonSerializationException"/> class.
+            </summary>
+            <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object data about the exception being thrown.</param>
+            <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that contains contextual information about the source or destination.</param>
+            <exception cref="T:System.ArgumentNullException">The <paramref name="info"/> parameter is <c>null</c>.</exception>
+            <exception cref="T:System.Runtime.Serialization.SerializationException">The class name is <c>null</c> or <see cref="P:System.Exception.HResult"/> is zero (0).</exception>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonSerializationException.#ctor(System.String,System.String,System.Int32,System.Int32,System.Exception)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.JsonSerializationException"/> class
+            with a specified error message, JSON path, line number, line position, and a reference to the inner exception that is the cause of this exception.
+            </summary>
+            <param name="message">The error message that explains the reason for the exception.</param>
+            <param name="path">The path to the JSON where the error occurred.</param>
+            <param name="lineNumber">The line number indicating where the error occurred.</param>
+            <param name="linePosition">The line position indicating where the error occurred.</param>
+            <param name="innerException">The exception that is the cause of the current exception, or <c>null</c> if no inner exception is specified.</param>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.JsonSerializer">
+            <summary>
+            Serializes and deserializes objects into and from the JSON format.
+            The <see cref="T:LC.Newtonsoft.Json.JsonSerializer"/> enables you to control how objects are encoded into JSON.
+            </summary>
+        </member>
+        <member name="E:LC.Newtonsoft.Json.JsonSerializer.Error">
+            <summary>
+            Occurs when the <see cref="T:LC.Newtonsoft.Json.JsonSerializer"/> errors during serialization and deserialization.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonSerializer.ReferenceResolver">
+            <summary>
+            Gets or sets the <see cref="T:LC.Newtonsoft.Json.Serialization.IReferenceResolver"/> used by the serializer when resolving references.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonSerializer.Binder">
+            <summary>
+            Gets or sets the <see cref="P:LC.Newtonsoft.Json.JsonSerializer.SerializationBinder"/> used by the serializer when resolving type names.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonSerializer.SerializationBinder">
+            <summary>
+            Gets or sets the <see cref="T:LC.Newtonsoft.Json.Serialization.ISerializationBinder"/> used by the serializer when resolving type names.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonSerializer.TraceWriter">
+            <summary>
+            Gets or sets the <see cref="T:LC.Newtonsoft.Json.Serialization.ITraceWriter"/> used by the serializer when writing trace messages.
+            </summary>
+            <value>The trace writer.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonSerializer.EqualityComparer">
+            <summary>
+            Gets or sets the equality comparer used by the serializer when comparing references.
+            </summary>
+            <value>The equality comparer.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonSerializer.TypeNameHandling">
+            <summary>
+            Gets or sets how type name writing and reading is handled by the serializer.
+            The default value is <see cref="F:LC.Newtonsoft.Json.TypeNameHandling.None" />.
+            </summary>
+            <remarks>
+            <see cref="P:LC.Newtonsoft.Json.JsonSerializer.TypeNameHandling"/> should be used with caution when your application deserializes JSON from an external source.
+            Incoming types should be validated with a custom <see cref="P:LC.Newtonsoft.Json.JsonSerializer.SerializationBinder"/>
+            when deserializing with a value other than <see cref="F:LC.Newtonsoft.Json.TypeNameHandling.None"/>.
+            </remarks>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonSerializer.TypeNameAssemblyFormat">
+            <summary>
+            Gets or sets how a type name assembly is written and resolved by the serializer.
+            The default value is <see cref="F:System.Runtime.Serialization.Formatters.FormatterAssemblyStyle.Simple" />.
+            </summary>
+            <value>The type name assembly format.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonSerializer.TypeNameAssemblyFormatHandling">
+            <summary>
+            Gets or sets how a type name assembly is written and resolved by the serializer.
+            The default value is <see cref="F:LC.Newtonsoft.Json.TypeNameAssemblyFormatHandling.Simple" />.
+            </summary>
+            <value>The type name assembly format.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonSerializer.PreserveReferencesHandling">
+            <summary>
+            Gets or sets how object references are preserved by the serializer.
+            The default value is <see cref="F:LC.Newtonsoft.Json.PreserveReferencesHandling.None" />.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonSerializer.ReferenceLoopHandling">
+            <summary>
+            Gets or sets how reference loops (e.g. a class referencing itself) is handled.
+            The default value is <see cref="F:LC.Newtonsoft.Json.ReferenceLoopHandling.Error" />.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonSerializer.MissingMemberHandling">
+            <summary>
+            Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization.
+            The default value is <see cref="F:LC.Newtonsoft.Json.MissingMemberHandling.Ignore" />.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonSerializer.NullValueHandling">
+            <summary>
+            Gets or sets how null values are handled during serialization and deserialization.
+            The default value is <see cref="F:LC.Newtonsoft.Json.NullValueHandling.Include" />.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonSerializer.DefaultValueHandling">
+            <summary>
+            Gets or sets how default values are handled during serialization and deserialization.
+            The default value is <see cref="F:LC.Newtonsoft.Json.DefaultValueHandling.Include" />.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonSerializer.ObjectCreationHandling">
+            <summary>
+            Gets or sets how objects are created during deserialization.
+            The default value is <see cref="F:LC.Newtonsoft.Json.ObjectCreationHandling.Auto" />.
+            </summary>
+            <value>The object creation handling.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonSerializer.ConstructorHandling">
+            <summary>
+            Gets or sets how constructors are used during deserialization.
+            The default value is <see cref="F:LC.Newtonsoft.Json.ConstructorHandling.Default" />.
+            </summary>
+            <value>The constructor handling.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonSerializer.MetadataPropertyHandling">
+            <summary>
+            Gets or sets how metadata properties are used during deserialization.
+            The default value is <see cref="F:LC.Newtonsoft.Json.MetadataPropertyHandling.Default" />.
+            </summary>
+            <value>The metadata properties handling.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonSerializer.Converters">
+            <summary>
+            Gets a collection <see cref="T:LC.Newtonsoft.Json.JsonConverter"/> that will be used during serialization.
+            </summary>
+            <value>Collection <see cref="T:LC.Newtonsoft.Json.JsonConverter"/> that will be used during serialization.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonSerializer.ContractResolver">
+            <summary>
+            Gets or sets the contract resolver used by the serializer when
+            serializing .NET objects to JSON and vice versa.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonSerializer.Context">
+            <summary>
+            Gets or sets the <see cref="T:System.Runtime.Serialization.StreamingContext"/> used by the serializer when invoking serialization callback methods.
+            </summary>
+            <value>The context.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonSerializer.Formatting">
+            <summary>
+            Indicates how JSON text output is formatted.
+            The default value is <see cref="F:LC.Newtonsoft.Json.Formatting.None" />.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonSerializer.DateFormatHandling">
+            <summary>
+            Gets or sets how dates are written to JSON text.
+            The default value is <see cref="F:LC.Newtonsoft.Json.DateFormatHandling.IsoDateFormat" />.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonSerializer.DateTimeZoneHandling">
+            <summary>
+            Gets or sets how <see cref="T:System.DateTime"/> time zones are handled during serialization and deserialization.
+            The default value is <see cref="F:LC.Newtonsoft.Json.DateTimeZoneHandling.RoundtripKind" />.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonSerializer.DateParseHandling">
+            <summary>
+            Gets or sets how date formatted strings, e.g. <c>"\/Date(1198908717056)\/"</c> and <c>"2012-03-21T05:40Z"</c>, are parsed when reading JSON.
+            The default value is <see cref="F:LC.Newtonsoft.Json.DateParseHandling.DateTime" />.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonSerializer.FloatParseHandling">
+            <summary>
+            Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text.
+            The default value is <see cref="F:LC.Newtonsoft.Json.FloatParseHandling.Double" />.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonSerializer.FloatFormatHandling">
+            <summary>
+            Gets or sets how special floating point numbers, e.g. <see cref="F:System.Double.NaN"/>,
+            <see cref="F:System.Double.PositiveInfinity"/> and <see cref="F:System.Double.NegativeInfinity"/>,
+            are written as JSON text.
+            The default value is <see cref="F:LC.Newtonsoft.Json.FloatFormatHandling.String" />.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonSerializer.StringEscapeHandling">
+            <summary>
+            Gets or sets how strings are escaped when writing JSON text.
+            The default value is <see cref="F:LC.Newtonsoft.Json.StringEscapeHandling.Default" />.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonSerializer.DateFormatString">
+            <summary>
+            Gets or sets how <see cref="T:System.DateTime"/> and <see cref="T:System.DateTimeOffset"/> values are formatted when writing JSON text,
+            and the expected date format when reading JSON text.
+            The default value is <c>"yyyy'-'MM'-'dd'T'HH':'mm':'ss.FFFFFFFK"</c>.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonSerializer.Culture">
+            <summary>
+            Gets or sets the culture used when reading JSON.
+            The default value is <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonSerializer.MaxDepth">
+            <summary>
+            Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a <see cref="T:LC.Newtonsoft.Json.JsonReaderException"/>.
+            A null value means there is no maximum.
+            The default value is <c>null</c>.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonSerializer.CheckAdditionalContent">
+            <summary>
+            Gets a value indicating whether there will be a check for additional JSON content after deserializing an object.
+            The default value is <c>false</c>.
+            </summary>
+            <value>
+            	<c>true</c> if there will be a check for additional JSON content after deserializing an object; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonSerializer.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.JsonSerializer"/> class.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonSerializer.Create">
+            <summary>
+            Creates a new <see cref="T:LC.Newtonsoft.Json.JsonSerializer"/> instance.
+            The <see cref="T:LC.Newtonsoft.Json.JsonSerializer"/> will not use default settings 
+            from <see cref="P:LC.Newtonsoft.Json.JsonConvert.DefaultSettings"/>.
+            </summary>
+            <returns>
+            A new <see cref="T:LC.Newtonsoft.Json.JsonSerializer"/> instance.
+            The <see cref="T:LC.Newtonsoft.Json.JsonSerializer"/> will not use default settings 
+            from <see cref="P:LC.Newtonsoft.Json.JsonConvert.DefaultSettings"/>.
+            </returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonSerializer.Create(LC.Newtonsoft.Json.JsonSerializerSettings)">
+            <summary>
+            Creates a new <see cref="T:LC.Newtonsoft.Json.JsonSerializer"/> instance using the specified <see cref="T:LC.Newtonsoft.Json.JsonSerializerSettings"/>.
+            The <see cref="T:LC.Newtonsoft.Json.JsonSerializer"/> will not use default settings 
+            from <see cref="P:LC.Newtonsoft.Json.JsonConvert.DefaultSettings"/>.
+            </summary>
+            <param name="settings">The settings to be applied to the <see cref="T:LC.Newtonsoft.Json.JsonSerializer"/>.</param>
+            <returns>
+            A new <see cref="T:LC.Newtonsoft.Json.JsonSerializer"/> instance using the specified <see cref="T:LC.Newtonsoft.Json.JsonSerializerSettings"/>.
+            The <see cref="T:LC.Newtonsoft.Json.JsonSerializer"/> will not use default settings 
+            from <see cref="P:LC.Newtonsoft.Json.JsonConvert.DefaultSettings"/>.
+            </returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonSerializer.CreateDefault">
+            <summary>
+            Creates a new <see cref="T:LC.Newtonsoft.Json.JsonSerializer"/> instance.
+            The <see cref="T:LC.Newtonsoft.Json.JsonSerializer"/> will use default settings 
+            from <see cref="P:LC.Newtonsoft.Json.JsonConvert.DefaultSettings"/>.
+            </summary>
+            <returns>
+            A new <see cref="T:LC.Newtonsoft.Json.JsonSerializer"/> instance.
+            The <see cref="T:LC.Newtonsoft.Json.JsonSerializer"/> will use default settings 
+            from <see cref="P:LC.Newtonsoft.Json.JsonConvert.DefaultSettings"/>.
+            </returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonSerializer.CreateDefault(LC.Newtonsoft.Json.JsonSerializerSettings)">
+            <summary>
+            Creates a new <see cref="T:LC.Newtonsoft.Json.JsonSerializer"/> instance using the specified <see cref="T:LC.Newtonsoft.Json.JsonSerializerSettings"/>.
+            The <see cref="T:LC.Newtonsoft.Json.JsonSerializer"/> will use default settings 
+            from <see cref="P:LC.Newtonsoft.Json.JsonConvert.DefaultSettings"/> as well as the specified <see cref="T:LC.Newtonsoft.Json.JsonSerializerSettings"/>.
+            </summary>
+            <param name="settings">The settings to be applied to the <see cref="T:LC.Newtonsoft.Json.JsonSerializer"/>.</param>
+            <returns>
+            A new <see cref="T:LC.Newtonsoft.Json.JsonSerializer"/> instance using the specified <see cref="T:LC.Newtonsoft.Json.JsonSerializerSettings"/>.
+            The <see cref="T:LC.Newtonsoft.Json.JsonSerializer"/> will use default settings 
+            from <see cref="P:LC.Newtonsoft.Json.JsonConvert.DefaultSettings"/> as well as the specified <see cref="T:LC.Newtonsoft.Json.JsonSerializerSettings"/>.
+            </returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonSerializer.Populate(System.IO.TextReader,System.Object)">
+            <summary>
+            Populates the JSON values onto the target object.
+            </summary>
+            <param name="reader">The <see cref="T:System.IO.TextReader"/> that contains the JSON structure to read values from.</param>
+            <param name="target">The target object to populate values onto.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonSerializer.Populate(LC.Newtonsoft.Json.JsonReader,System.Object)">
+            <summary>
+            Populates the JSON values onto the target object.
+            </summary>
+            <param name="reader">The <see cref="T:LC.Newtonsoft.Json.JsonReader"/> that contains the JSON structure to read values from.</param>
+            <param name="target">The target object to populate values onto.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonSerializer.Deserialize(LC.Newtonsoft.Json.JsonReader)">
+            <summary>
+            Deserializes the JSON structure contained by the specified <see cref="T:LC.Newtonsoft.Json.JsonReader"/>.
+            </summary>
+            <param name="reader">The <see cref="T:LC.Newtonsoft.Json.JsonReader"/> that contains the JSON structure to deserialize.</param>
+            <returns>The <see cref="T:System.Object"/> being deserialized.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonSerializer.Deserialize(System.IO.TextReader,System.Type)">
+            <summary>
+            Deserializes the JSON structure contained by the specified <see cref="T:System.IO.TextReader"/>
+            into an instance of the specified type.
+            </summary>
+            <param name="reader">The <see cref="T:System.IO.TextReader"/> containing the object.</param>
+            <param name="objectType">The <see cref="T:System.Type"/> of object being deserialized.</param>
+            <returns>The instance of <paramref name="objectType"/> being deserialized.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonSerializer.Deserialize``1(LC.Newtonsoft.Json.JsonReader)">
+            <summary>
+            Deserializes the JSON structure contained by the specified <see cref="T:LC.Newtonsoft.Json.JsonReader"/>
+            into an instance of the specified type.
+            </summary>
+            <param name="reader">The <see cref="T:LC.Newtonsoft.Json.JsonReader"/> containing the object.</param>
+            <typeparam name="T">The type of the object to deserialize.</typeparam>
+            <returns>The instance of <typeparamref name="T"/> being deserialized.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonSerializer.Deserialize(LC.Newtonsoft.Json.JsonReader,System.Type)">
+            <summary>
+            Deserializes the JSON structure contained by the specified <see cref="T:LC.Newtonsoft.Json.JsonReader"/>
+            into an instance of the specified type.
+            </summary>
+            <param name="reader">The <see cref="T:LC.Newtonsoft.Json.JsonReader"/> containing the object.</param>
+            <param name="objectType">The <see cref="T:System.Type"/> of object being deserialized.</param>
+            <returns>The instance of <paramref name="objectType"/> being deserialized.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonSerializer.Serialize(System.IO.TextWriter,System.Object)">
+            <summary>
+            Serializes the specified <see cref="T:System.Object"/> and writes the JSON structure
+            using the specified <see cref="T:System.IO.TextWriter"/>.
+            </summary>
+            <param name="textWriter">The <see cref="T:System.IO.TextWriter"/> used to write the JSON structure.</param>
+            <param name="value">The <see cref="T:System.Object"/> to serialize.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonSerializer.Serialize(LC.Newtonsoft.Json.JsonWriter,System.Object,System.Type)">
+            <summary>
+            Serializes the specified <see cref="T:System.Object"/> and writes the JSON structure
+            using the specified <see cref="T:LC.Newtonsoft.Json.JsonWriter"/>.
+            </summary>
+            <param name="jsonWriter">The <see cref="T:LC.Newtonsoft.Json.JsonWriter"/> used to write the JSON structure.</param>
+            <param name="value">The <see cref="T:System.Object"/> to serialize.</param>
+            <param name="objectType">
+            The type of the value being serialized.
+            This parameter is used when <see cref="P:LC.Newtonsoft.Json.JsonSerializer.TypeNameHandling"/> is <see cref="F:LC.Newtonsoft.Json.TypeNameHandling.Auto"/> to write out the type name if the type of the value does not match.
+            Specifying the type is optional.
+            </param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonSerializer.Serialize(System.IO.TextWriter,System.Object,System.Type)">
+            <summary>
+            Serializes the specified <see cref="T:System.Object"/> and writes the JSON structure
+            using the specified <see cref="T:System.IO.TextWriter"/>.
+            </summary>
+            <param name="textWriter">The <see cref="T:System.IO.TextWriter"/> used to write the JSON structure.</param>
+            <param name="value">The <see cref="T:System.Object"/> to serialize.</param>
+            <param name="objectType">
+            The type of the value being serialized.
+            This parameter is used when <see cref="P:LC.Newtonsoft.Json.JsonSerializer.TypeNameHandling"/> is Auto to write out the type name if the type of the value does not match.
+            Specifying the type is optional.
+            </param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonSerializer.Serialize(LC.Newtonsoft.Json.JsonWriter,System.Object)">
+            <summary>
+            Serializes the specified <see cref="T:System.Object"/> and writes the JSON structure
+            using the specified <see cref="T:LC.Newtonsoft.Json.JsonWriter"/>.
+            </summary>
+            <param name="jsonWriter">The <see cref="T:LC.Newtonsoft.Json.JsonWriter"/> used to write the JSON structure.</param>
+            <param name="value">The <see cref="T:System.Object"/> to serialize.</param>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.JsonSerializerSettings">
+            <summary>
+            Specifies the settings on a <see cref="T:LC.Newtonsoft.Json.JsonSerializer"/> object.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonSerializerSettings.ReferenceLoopHandling">
+            <summary>
+            Gets or sets how reference loops (e.g. a class referencing itself) are handled.
+            The default value is <see cref="F:LC.Newtonsoft.Json.ReferenceLoopHandling.Error" />.
+            </summary>
+            <value>Reference loop handling.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonSerializerSettings.MissingMemberHandling">
+            <summary>
+            Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization.
+            The default value is <see cref="F:LC.Newtonsoft.Json.MissingMemberHandling.Ignore" />.
+            </summary>
+            <value>Missing member handling.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonSerializerSettings.ObjectCreationHandling">
+            <summary>
+            Gets or sets how objects are created during deserialization.
+            The default value is <see cref="F:LC.Newtonsoft.Json.ObjectCreationHandling.Auto" />.
+            </summary>
+            <value>The object creation handling.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonSerializerSettings.NullValueHandling">
+            <summary>
+            Gets or sets how null values are handled during serialization and deserialization.
+            The default value is <see cref="F:LC.Newtonsoft.Json.NullValueHandling.Include" />.
+            </summary>
+            <value>Null value handling.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonSerializerSettings.DefaultValueHandling">
+            <summary>
+            Gets or sets how default values are handled during serialization and deserialization.
+            The default value is <see cref="F:LC.Newtonsoft.Json.DefaultValueHandling.Include" />.
+            </summary>
+            <value>The default value handling.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonSerializerSettings.Converters">
+            <summary>
+            Gets or sets a <see cref="T:LC.Newtonsoft.Json.JsonConverter"/> collection that will be used during serialization.
+            </summary>
+            <value>The converters.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonSerializerSettings.PreserveReferencesHandling">
+            <summary>
+            Gets or sets how object references are preserved by the serializer.
+            The default value is <see cref="F:LC.Newtonsoft.Json.PreserveReferencesHandling.None" />.
+            </summary>
+            <value>The preserve references handling.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonSerializerSettings.TypeNameHandling">
+            <summary>
+            Gets or sets how type name writing and reading is handled by the serializer.
+            The default value is <see cref="F:LC.Newtonsoft.Json.TypeNameHandling.None" />.
+            </summary>
+            <remarks>
+            <see cref="P:LC.Newtonsoft.Json.JsonSerializerSettings.TypeNameHandling"/> should be used with caution when your application deserializes JSON from an external source.
+            Incoming types should be validated with a custom <see cref="P:LC.Newtonsoft.Json.JsonSerializerSettings.SerializationBinder"/>
+            when deserializing with a value other than <see cref="F:LC.Newtonsoft.Json.TypeNameHandling.None"/>.
+            </remarks>
+            <value>The type name handling.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonSerializerSettings.MetadataPropertyHandling">
+            <summary>
+            Gets or sets how metadata properties are used during deserialization.
+            The default value is <see cref="F:LC.Newtonsoft.Json.MetadataPropertyHandling.Default" />.
+            </summary>
+            <value>The metadata properties handling.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonSerializerSettings.TypeNameAssemblyFormat">
+            <summary>
+            Gets or sets how a type name assembly is written and resolved by the serializer.
+            The default value is <see cref="F:System.Runtime.Serialization.Formatters.FormatterAssemblyStyle.Simple" />.
+            </summary>
+            <value>The type name assembly format.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonSerializerSettings.TypeNameAssemblyFormatHandling">
+            <summary>
+            Gets or sets how a type name assembly is written and resolved by the serializer.
+            The default value is <see cref="F:LC.Newtonsoft.Json.TypeNameAssemblyFormatHandling.Simple" />.
+            </summary>
+            <value>The type name assembly format.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonSerializerSettings.ConstructorHandling">
+            <summary>
+            Gets or sets how constructors are used during deserialization.
+            The default value is <see cref="F:LC.Newtonsoft.Json.ConstructorHandling.Default" />.
+            </summary>
+            <value>The constructor handling.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonSerializerSettings.ContractResolver">
+            <summary>
+            Gets or sets the contract resolver used by the serializer when
+            serializing .NET objects to JSON and vice versa.
+            </summary>
+            <value>The contract resolver.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonSerializerSettings.EqualityComparer">
+            <summary>
+            Gets or sets the equality comparer used by the serializer when comparing references.
+            </summary>
+            <value>The equality comparer.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonSerializerSettings.ReferenceResolver">
+            <summary>
+            Gets or sets the <see cref="T:LC.Newtonsoft.Json.Serialization.IReferenceResolver"/> used by the serializer when resolving references.
+            </summary>
+            <value>The reference resolver.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonSerializerSettings.ReferenceResolverProvider">
+            <summary>
+            Gets or sets a function that creates the <see cref="T:LC.Newtonsoft.Json.Serialization.IReferenceResolver"/> used by the serializer when resolving references.
+            </summary>
+            <value>A function that creates the <see cref="T:LC.Newtonsoft.Json.Serialization.IReferenceResolver"/> used by the serializer when resolving references.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonSerializerSettings.TraceWriter">
+            <summary>
+            Gets or sets the <see cref="T:LC.Newtonsoft.Json.Serialization.ITraceWriter"/> used by the serializer when writing trace messages.
+            </summary>
+            <value>The trace writer.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonSerializerSettings.Binder">
+            <summary>
+            Gets or sets the <see cref="P:LC.Newtonsoft.Json.JsonSerializerSettings.SerializationBinder"/> used by the serializer when resolving type names.
+            </summary>
+            <value>The binder.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonSerializerSettings.SerializationBinder">
+            <summary>
+            Gets or sets the <see cref="T:LC.Newtonsoft.Json.Serialization.ISerializationBinder"/> used by the serializer when resolving type names.
+            </summary>
+            <value>The binder.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonSerializerSettings.Error">
+            <summary>
+            Gets or sets the error handler called during serialization and deserialization.
+            </summary>
+            <value>The error handler called during serialization and deserialization.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonSerializerSettings.Context">
+            <summary>
+            Gets or sets the <see cref="T:System.Runtime.Serialization.StreamingContext"/> used by the serializer when invoking serialization callback methods.
+            </summary>
+            <value>The context.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonSerializerSettings.DateFormatString">
+            <summary>
+            Gets or sets how <see cref="T:System.DateTime"/> and <see cref="T:System.DateTimeOffset"/> values are formatted when writing JSON text,
+            and the expected date format when reading JSON text.
+            The default value is <c>"yyyy'-'MM'-'dd'T'HH':'mm':'ss.FFFFFFFK"</c>.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonSerializerSettings.MaxDepth">
+            <summary>
+            Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a <see cref="T:LC.Newtonsoft.Json.JsonReaderException"/>.
+            A null value means there is no maximum.
+            The default value is <c>null</c>.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonSerializerSettings.Formatting">
+            <summary>
+            Indicates how JSON text output is formatted.
+            The default value is <see cref="F:LC.Newtonsoft.Json.Formatting.None" />.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonSerializerSettings.DateFormatHandling">
+            <summary>
+            Gets or sets how dates are written to JSON text.
+            The default value is <see cref="F:LC.Newtonsoft.Json.DateFormatHandling.IsoDateFormat" />.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonSerializerSettings.DateTimeZoneHandling">
+            <summary>
+            Gets or sets how <see cref="T:System.DateTime"/> time zones are handled during serialization and deserialization.
+            The default value is <see cref="F:LC.Newtonsoft.Json.DateTimeZoneHandling.RoundtripKind" />.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonSerializerSettings.DateParseHandling">
+            <summary>
+            Gets or sets how date formatted strings, e.g. <c>"\/Date(1198908717056)\/"</c> and <c>"2012-03-21T05:40Z"</c>, are parsed when reading JSON.
+            The default value is <see cref="F:LC.Newtonsoft.Json.DateParseHandling.DateTime" />.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonSerializerSettings.FloatFormatHandling">
+            <summary>
+            Gets or sets how special floating point numbers, e.g. <see cref="F:System.Double.NaN"/>,
+            <see cref="F:System.Double.PositiveInfinity"/> and <see cref="F:System.Double.NegativeInfinity"/>,
+            are written as JSON.
+            The default value is <see cref="F:LC.Newtonsoft.Json.FloatFormatHandling.String" />.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonSerializerSettings.FloatParseHandling">
+            <summary>
+            Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text.
+            The default value is <see cref="F:LC.Newtonsoft.Json.FloatParseHandling.Double" />.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonSerializerSettings.StringEscapeHandling">
+            <summary>
+            Gets or sets how strings are escaped when writing JSON text.
+            The default value is <see cref="F:LC.Newtonsoft.Json.StringEscapeHandling.Default" />.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonSerializerSettings.Culture">
+            <summary>
+            Gets or sets the culture used when reading JSON.
+            The default value is <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonSerializerSettings.CheckAdditionalContent">
+            <summary>
+            Gets a value indicating whether there will be a check for additional content after deserializing an object.
+            The default value is <c>false</c>.
+            </summary>
+            <value>
+            	<c>true</c> if there will be a check for additional content after deserializing an object; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonSerializerSettings.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.JsonSerializerSettings"/> class.
+            </summary>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.JsonTextReader">
+            <summary>
+            Represents a reader that provides fast, non-cached, forward-only access to JSON text data.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextReader.ReadAsync(System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously reads the next JSON token from the source.
+            </summary>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task`1"/> that represents the asynchronous read. The <see cref="P:System.Threading.Tasks.Task`1.Result"/>
+            property returns <c>true</c> if the next token was read successfully; <c>false</c> if there are no more tokens to read.</returns>
+            <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+            execute synchronously, returning an already-completed task.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextReader.ReadAsBooleanAsync(System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously reads the next JSON token from the source as a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Boolean"/>.
+            </summary>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task`1"/> that represents the asynchronous read. The <see cref="P:System.Threading.Tasks.Task`1.Result"/>
+            property returns the <see cref="T:System.Nullable`1"/> of <see cref="T:System.Boolean"/>. This result will be <c>null</c> at the end of an array.</returns>
+            <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+            execute synchronously, returning an already-completed task.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextReader.ReadAsBytesAsync(System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously reads the next JSON token from the source as a <see cref="T:System.Byte"/>[].
+            </summary>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task`1"/> that represents the asynchronous read. The <see cref="P:System.Threading.Tasks.Task`1.Result"/>
+            property returns the <see cref="T:System.Byte"/>[]. This result will be <c>null</c> at the end of an array.</returns>
+            <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+            execute synchronously, returning an already-completed task.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextReader.ReadAsDateTimeAsync(System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously reads the next JSON token from the source as a <see cref="T:System.Nullable`1"/> of <see cref="T:System.DateTime"/>.
+            </summary>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task`1"/> that represents the asynchronous read. The <see cref="P:System.Threading.Tasks.Task`1.Result"/>
+            property returns the <see cref="T:System.Nullable`1"/> of <see cref="T:System.DateTime"/>. This result will be <c>null</c> at the end of an array.</returns>
+            <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+            execute synchronously, returning an already-completed task.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextReader.ReadAsDateTimeOffsetAsync(System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously reads the next JSON token from the source as a <see cref="T:System.Nullable`1"/> of <see cref="T:System.DateTimeOffset"/>.
+            </summary>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task`1"/> that represents the asynchronous read. The <see cref="P:System.Threading.Tasks.Task`1.Result"/>
+            property returns the <see cref="T:System.Nullable`1"/> of <see cref="T:System.DateTimeOffset"/>. This result will be <c>null</c> at the end of an array.</returns>
+            <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+            execute synchronously, returning an already-completed task.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextReader.ReadAsDecimalAsync(System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously reads the next JSON token from the source as a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Decimal"/>.
+            </summary>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task`1"/> that represents the asynchronous read. The <see cref="P:System.Threading.Tasks.Task`1.Result"/>
+            property returns the <see cref="T:System.Nullable`1"/> of <see cref="T:System.Decimal"/>. This result will be <c>null</c> at the end of an array.</returns>
+            <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+            execute synchronously, returning an already-completed task.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextReader.ReadAsDoubleAsync(System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously reads the next JSON token from the source as a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Double"/>.
+            </summary>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task`1"/> that represents the asynchronous read. The <see cref="P:System.Threading.Tasks.Task`1.Result"/>
+            property returns the <see cref="T:System.Nullable`1"/> of <see cref="T:System.Double"/>. This result will be <c>null</c> at the end of an array.</returns>
+            <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+            execute synchronously, returning an already-completed task.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextReader.ReadAsInt32Async(System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously reads the next JSON token from the source as a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Int32"/>.
+            </summary>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task`1"/> that represents the asynchronous read. The <see cref="P:System.Threading.Tasks.Task`1.Result"/>
+            property returns the <see cref="T:System.Nullable`1"/> of <see cref="T:System.Int32"/>. This result will be <c>null</c> at the end of an array.</returns>
+            <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+            execute synchronously, returning an already-completed task.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextReader.ReadAsStringAsync(System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously reads the next JSON token from the source as a <see cref="T:System.String"/>.
+            </summary>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task`1"/> that represents the asynchronous read. The <see cref="P:System.Threading.Tasks.Task`1.Result"/>
+            property returns the <see cref="T:System.String"/>. This result will be <c>null</c> at the end of an array.</returns>
+            <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+            execute synchronously, returning an already-completed task.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextReader.#ctor(System.IO.TextReader)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.JsonTextReader"/> class with the specified <see cref="T:System.IO.TextReader"/>.
+            </summary>
+            <param name="reader">The <see cref="T:System.IO.TextReader"/> containing the JSON data to read.</param>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonTextReader.PropertyNameTable">
+            <summary>
+            Gets or sets the reader's property name table.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonTextReader.ArrayPool">
+            <summary>
+            Gets or sets the reader's character buffer pool.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextReader.Read">
+            <summary>
+            Reads the next JSON token from the underlying <see cref="T:System.IO.TextReader"/>.
+            </summary>
+            <returns>
+            <c>true</c> if the next token was read successfully; <c>false</c> if there are no more tokens to read.
+            </returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextReader.ReadAsInt32">
+            <summary>
+            Reads the next JSON token from the underlying <see cref="T:System.IO.TextReader"/> as a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Int32"/>.
+            </summary>
+            <returns>A <see cref="T:System.Nullable`1"/> of <see cref="T:System.Int32"/>. This method will return <c>null</c> at the end of an array.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextReader.ReadAsDateTime">
+            <summary>
+            Reads the next JSON token from the underlying <see cref="T:System.IO.TextReader"/> as a <see cref="T:System.Nullable`1"/> of <see cref="T:System.DateTime"/>.
+            </summary>
+            <returns>A <see cref="T:System.Nullable`1"/> of <see cref="T:System.DateTime"/>. This method will return <c>null</c> at the end of an array.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextReader.ReadAsString">
+            <summary>
+            Reads the next JSON token from the underlying <see cref="T:System.IO.TextReader"/> as a <see cref="T:System.String"/>.
+            </summary>
+            <returns>A <see cref="T:System.String"/>. This method will return <c>null</c> at the end of an array.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextReader.ReadAsBytes">
+            <summary>
+            Reads the next JSON token from the underlying <see cref="T:System.IO.TextReader"/> as a <see cref="T:System.Byte"/>[].
+            </summary>
+            <returns>A <see cref="T:System.Byte"/>[] or <c>null</c> if the next JSON token is null. This method will return <c>null</c> at the end of an array.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextReader.ReadAsBoolean">
+            <summary>
+            Reads the next JSON token from the underlying <see cref="T:System.IO.TextReader"/> as a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Boolean"/>.
+            </summary>
+            <returns>A <see cref="T:System.Nullable`1"/> of <see cref="T:System.Boolean"/>. This method will return <c>null</c> at the end of an array.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextReader.ReadAsDateTimeOffset">
+            <summary>
+            Reads the next JSON token from the underlying <see cref="T:System.IO.TextReader"/> as a <see cref="T:System.Nullable`1"/> of <see cref="T:System.DateTimeOffset"/>.
+            </summary>
+            <returns>A <see cref="T:System.Nullable`1"/> of <see cref="T:System.DateTimeOffset"/>. This method will return <c>null</c> at the end of an array.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextReader.ReadAsDecimal">
+            <summary>
+            Reads the next JSON token from the underlying <see cref="T:System.IO.TextReader"/> as a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Decimal"/>.
+            </summary>
+            <returns>A <see cref="T:System.Nullable`1"/> of <see cref="T:System.Decimal"/>. This method will return <c>null</c> at the end of an array.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextReader.ReadAsDouble">
+            <summary>
+            Reads the next JSON token from the underlying <see cref="T:System.IO.TextReader"/> as a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Double"/>.
+            </summary>
+            <returns>A <see cref="T:System.Nullable`1"/> of <see cref="T:System.Double"/>. This method will return <c>null</c> at the end of an array.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextReader.Close">
+            <summary>
+            Changes the reader's state to <see cref="F:LC.Newtonsoft.Json.JsonReader.State.Closed"/>.
+            If <see cref="P:LC.Newtonsoft.Json.JsonReader.CloseInput"/> is set to <c>true</c>, the underlying <see cref="T:System.IO.TextReader"/> is also closed.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextReader.HasLineInfo">
+            <summary>
+            Gets a value indicating whether the class can return line information.
+            </summary>
+            <returns>
+            	<c>true</c> if <see cref="P:LC.Newtonsoft.Json.JsonTextReader.LineNumber"/> and <see cref="P:LC.Newtonsoft.Json.JsonTextReader.LinePosition"/> can be provided; otherwise, <c>false</c>.
+            </returns>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonTextReader.LineNumber">
+            <summary>
+            Gets the current line number.
+            </summary>
+            <value>
+            The current line number or 0 if no line information is available (for example, <see cref="M:LC.Newtonsoft.Json.JsonTextReader.HasLineInfo"/> returns <c>false</c>).
+            </value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonTextReader.LinePosition">
+            <summary>
+            Gets the current line position.
+            </summary>
+            <value>
+            The current line position or 0 if no line information is available (for example, <see cref="M:LC.Newtonsoft.Json.JsonTextReader.HasLineInfo"/> returns <c>false</c>).
+            </value>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.JsonTextWriter">
+            <summary>
+            Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.FlushAsync(System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously flushes whatever is in the buffer to the destination and also flushes the destination.
+            </summary>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+            execute synchronously, returning an already-completed task.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteValueDelimiterAsync(System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes the JSON value delimiter.
+            </summary>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+            execute synchronously, returning an already-completed task.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteEndAsync(LC.Newtonsoft.Json.JsonToken,System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes the specified end token.
+            </summary>
+            <param name="token">The end token to write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+            execute synchronously, returning an already-completed task.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.CloseAsync(System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously closes this writer.
+            If <see cref="P:LC.Newtonsoft.Json.JsonWriter.CloseOutput"/> is set to <c>true</c>, the destination is also closed.
+            </summary>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+            execute synchronously, returning an already-completed task.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteEndAsync(System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes the end of the current JSON object or array.
+            </summary>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+            execute synchronously, returning an already-completed task.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteIndentAsync(System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes indent characters.
+            </summary>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+            execute synchronously, returning an already-completed task.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteIndentSpaceAsync(System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes an indent space.
+            </summary>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+            execute synchronously, returning an already-completed task.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteRawAsync(System.String,System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes raw JSON without changing the writer's state.
+            </summary>
+            <param name="json">The raw JSON to write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+            execute synchronously, returning an already-completed task.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteNullAsync(System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes a null value.
+            </summary>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+            execute synchronously, returning an already-completed task.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WritePropertyNameAsync(System.String,System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes the property name of a name/value pair of a JSON object.
+            </summary>
+            <param name="name">The name of the property.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+            execute synchronously, returning an already-completed task.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WritePropertyNameAsync(System.String,System.Boolean,System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes the property name of a name/value pair of a JSON object.
+            </summary>
+            <param name="name">The name of the property.</param>
+            <param name="escape">A flag to indicate whether the text should be escaped when it is written as a JSON property name.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+            execute synchronously, returning an already-completed task.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteStartArrayAsync(System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes the beginning of a JSON array.
+            </summary>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+            execute synchronously, returning an already-completed task.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteStartObjectAsync(System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes the beginning of a JSON object.
+            </summary>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+            execute synchronously, returning an already-completed task.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteStartConstructorAsync(System.String,System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes the start of a constructor with the given name.
+            </summary>
+            <param name="name">The name of the constructor.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+            execute synchronously, returning an already-completed task.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteUndefinedAsync(System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes an undefined value.
+            </summary>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+            execute synchronously, returning an already-completed task.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteWhitespaceAsync(System.String,System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes the given white space.
+            </summary>
+            <param name="ws">The string of white space characters.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+            execute synchronously, returning an already-completed task.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteValueAsync(System.Boolean,System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Boolean"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.Boolean"/> value to write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+            execute synchronously, returning an already-completed task.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteValueAsync(System.Nullable{System.Boolean},System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes a <see cref="T:System.Boolean"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Boolean"/> value to write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+            execute synchronously, returning an already-completed task.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteValueAsync(System.Byte,System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes a <see cref="T:System.Byte"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Byte"/> value to write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+            execute synchronously, returning an already-completed task.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteValueAsync(System.Nullable{System.Byte},System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Byte"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.Byte"/> value to write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+            execute synchronously, returning an already-completed task.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteValueAsync(System.Byte[],System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes a <see cref="T:System.Byte"/>[] value.
+            </summary>
+            <param name="value">The <see cref="T:System.Byte"/>[] value to write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+            execute synchronously, returning an already-completed task.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteValueAsync(System.Char,System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes a <see cref="T:System.Char"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Char"/> value to write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+            execute synchronously, returning an already-completed task.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteValueAsync(System.Nullable{System.Char},System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Char"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.Char"/> value to write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+            execute synchronously, returning an already-completed task.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteValueAsync(System.DateTime,System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes a <see cref="T:System.DateTime"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.DateTime"/> value to write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+            execute synchronously, returning an already-completed task.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteValueAsync(System.Nullable{System.DateTime},System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.DateTime"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.DateTime"/> value to write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+            execute synchronously, returning an already-completed task.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteValueAsync(System.DateTimeOffset,System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes a <see cref="T:System.DateTimeOffset"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.DateTimeOffset"/> value to write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+            execute synchronously, returning an already-completed task.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteValueAsync(System.Nullable{System.DateTimeOffset},System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.DateTimeOffset"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.DateTimeOffset"/> value to write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+            execute synchronously, returning an already-completed task.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteValueAsync(System.Decimal,System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes a <see cref="T:System.Decimal"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Decimal"/> value to write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+            execute synchronously, returning an already-completed task.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteValueAsync(System.Nullable{System.Decimal},System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Decimal"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.Decimal"/> value to write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+            execute synchronously, returning an already-completed task.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteValueAsync(System.Double,System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes a <see cref="T:System.Double"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Double"/> value to write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+            execute synchronously, returning an already-completed task.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteValueAsync(System.Nullable{System.Double},System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Double"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.Double"/> value to write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+            execute synchronously, returning an already-completed task.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteValueAsync(System.Single,System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes a <see cref="T:System.Single"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Single"/> value to write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+            execute synchronously, returning an already-completed task.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteValueAsync(System.Nullable{System.Single},System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Single"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.Single"/> value to write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+            execute synchronously, returning an already-completed task.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteValueAsync(System.Guid,System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes a <see cref="T:System.Guid"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Guid"/> value to write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+            execute synchronously, returning an already-completed task.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteValueAsync(System.Nullable{System.Guid},System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Guid"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.Guid"/> value to write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+            execute synchronously, returning an already-completed task.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteValueAsync(System.Int32,System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes a <see cref="T:System.Int32"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Int32"/> value to write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+            execute synchronously, returning an already-completed task.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteValueAsync(System.Nullable{System.Int32},System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Int32"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.Int32"/> value to write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+            execute synchronously, returning an already-completed task.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteValueAsync(System.Int64,System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes a <see cref="T:System.Int64"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Int64"/> value to write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+            execute synchronously, returning an already-completed task.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteValueAsync(System.Nullable{System.Int64},System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Int64"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.Int64"/> value to write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+            execute synchronously, returning an already-completed task.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteValueAsync(System.Object,System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes a <see cref="T:System.Object"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Object"/> value to write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+            execute synchronously, returning an already-completed task.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteValueAsync(System.SByte,System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes a <see cref="T:System.SByte"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.SByte"/> value to write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+            execute synchronously, returning an already-completed task.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteValueAsync(System.Nullable{System.SByte},System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.SByte"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.SByte"/> value to write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+            execute synchronously, returning an already-completed task.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteValueAsync(System.Int16,System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes a <see cref="T:System.Int16"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Int16"/> value to write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+            execute synchronously, returning an already-completed task.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteValueAsync(System.Nullable{System.Int16},System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Int16"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.Int16"/> value to write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+            execute synchronously, returning an already-completed task.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteValueAsync(System.String,System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes a <see cref="T:System.String"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.String"/> value to write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+            execute synchronously, returning an already-completed task.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteValueAsync(System.TimeSpan,System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes a <see cref="T:System.TimeSpan"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.TimeSpan"/> value to write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+            execute synchronously, returning an already-completed task.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteValueAsync(System.Nullable{System.TimeSpan},System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.TimeSpan"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.TimeSpan"/> value to write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+            execute synchronously, returning an already-completed task.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteValueAsync(System.UInt32,System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes a <see cref="T:System.UInt32"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.UInt32"/> value to write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+            execute synchronously, returning an already-completed task.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteValueAsync(System.Nullable{System.UInt32},System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.UInt32"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.UInt32"/> value to write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+            execute synchronously, returning an already-completed task.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteValueAsync(System.UInt64,System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes a <see cref="T:System.UInt64"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.UInt64"/> value to write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+            execute synchronously, returning an already-completed task.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteValueAsync(System.Nullable{System.UInt64},System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.UInt64"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.UInt64"/> value to write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+            execute synchronously, returning an already-completed task.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteValueAsync(System.Uri,System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes a <see cref="T:System.Uri"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Uri"/> value to write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+            execute synchronously, returning an already-completed task.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteValueAsync(System.UInt16,System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes a <see cref="T:System.UInt16"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.UInt16"/> value to write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+            execute synchronously, returning an already-completed task.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteValueAsync(System.Nullable{System.UInt16},System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.UInt16"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.UInt16"/> value to write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+            execute synchronously, returning an already-completed task.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteCommentAsync(System.String,System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes a comment <c>/*...*/</c> containing the specified text.
+            </summary>
+            <param name="text">Text to place inside the comment.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+            execute synchronously, returning an already-completed task.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteEndArrayAsync(System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes the end of an array.
+            </summary>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+            execute synchronously, returning an already-completed task.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteEndConstructorAsync(System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes the end of a constructor.
+            </summary>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+            execute synchronously, returning an already-completed task.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteEndObjectAsync(System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes the end of a JSON object.
+            </summary>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+            execute synchronously, returning an already-completed task.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteRawValueAsync(System.String,System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes raw JSON where a value is expected and updates the writer's state.
+            </summary>
+            <param name="json">The raw JSON to write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+            execute synchronously, returning an already-completed task.</remarks>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonTextWriter.ArrayPool">
+            <summary>
+            Gets or sets the writer's character array pool.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonTextWriter.Indentation">
+            <summary>
+            Gets or sets how many <see cref="P:LC.Newtonsoft.Json.JsonTextWriter.IndentChar"/>s to write for each level in the hierarchy when <see cref="P:LC.Newtonsoft.Json.JsonWriter.Formatting"/> is set to <see cref="F:LC.Newtonsoft.Json.Formatting.Indented"/>.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonTextWriter.QuoteChar">
+            <summary>
+            Gets or sets which character to use to quote attribute values.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonTextWriter.IndentChar">
+            <summary>
+            Gets or sets which character to use for indenting when <see cref="P:LC.Newtonsoft.Json.JsonWriter.Formatting"/> is set to <see cref="F:LC.Newtonsoft.Json.Formatting.Indented"/>.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonTextWriter.QuoteName">
+            <summary>
+            Gets or sets a value indicating whether object names will be surrounded with quotes.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.#ctor(System.IO.TextWriter)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.JsonTextWriter"/> class using the specified <see cref="T:System.IO.TextWriter"/>.
+            </summary>
+            <param name="textWriter">The <see cref="T:System.IO.TextWriter"/> to write to.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.Flush">
+            <summary>
+            Flushes whatever is in the buffer to the underlying <see cref="T:System.IO.TextWriter"/> and also flushes the underlying <see cref="T:System.IO.TextWriter"/>.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.Close">
+            <summary>
+            Closes this writer.
+            If <see cref="P:LC.Newtonsoft.Json.JsonWriter.CloseOutput"/> is set to <c>true</c>, the underlying <see cref="T:System.IO.TextWriter"/> is also closed.
+            If <see cref="P:LC.Newtonsoft.Json.JsonWriter.AutoCompleteOnClose"/> is set to <c>true</c>, the JSON is auto-completed.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteStartObject">
+            <summary>
+            Writes the beginning of a JSON object.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteStartArray">
+            <summary>
+            Writes the beginning of a JSON array.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteStartConstructor(System.String)">
+            <summary>
+            Writes the start of a constructor with the given name.
+            </summary>
+            <param name="name">The name of the constructor.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteEnd(LC.Newtonsoft.Json.JsonToken)">
+            <summary>
+            Writes the specified end token.
+            </summary>
+            <param name="token">The end token to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WritePropertyName(System.String)">
+            <summary>
+            Writes the property name of a name/value pair on a JSON object.
+            </summary>
+            <param name="name">The name of the property.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WritePropertyName(System.String,System.Boolean)">
+            <summary>
+            Writes the property name of a name/value pair on a JSON object.
+            </summary>
+            <param name="name">The name of the property.</param>
+            <param name="escape">A flag to indicate whether the text should be escaped when it is written as a JSON property name.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteIndent">
+            <summary>
+            Writes indent characters.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteValueDelimiter">
+            <summary>
+            Writes the JSON value delimiter.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteIndentSpace">
+            <summary>
+            Writes an indent space.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteValue(System.Object)">
+            <summary>
+            Writes a <see cref="T:System.Object"/> value.
+            An error will raised if the value cannot be written as a single JSON token.
+            </summary>
+            <param name="value">The <see cref="T:System.Object"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteNull">
+            <summary>
+            Writes a null value.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteUndefined">
+            <summary>
+            Writes an undefined value.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteRaw(System.String)">
+            <summary>
+            Writes raw JSON.
+            </summary>
+            <param name="json">The raw JSON to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteValue(System.String)">
+            <summary>
+            Writes a <see cref="T:System.String"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.String"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteValue(System.Int32)">
+            <summary>
+            Writes a <see cref="T:System.Int32"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Int32"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteValue(System.UInt32)">
+            <summary>
+            Writes a <see cref="T:System.UInt32"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.UInt32"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteValue(System.Int64)">
+            <summary>
+            Writes a <see cref="T:System.Int64"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Int64"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteValue(System.UInt64)">
+            <summary>
+            Writes a <see cref="T:System.UInt64"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.UInt64"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteValue(System.Single)">
+            <summary>
+            Writes a <see cref="T:System.Single"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Single"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteValue(System.Nullable{System.Single})">
+            <summary>
+            Writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Single"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.Single"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteValue(System.Double)">
+            <summary>
+            Writes a <see cref="T:System.Double"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Double"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteValue(System.Nullable{System.Double})">
+            <summary>
+            Writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Double"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.Double"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteValue(System.Boolean)">
+            <summary>
+            Writes a <see cref="T:System.Boolean"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Boolean"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteValue(System.Int16)">
+            <summary>
+            Writes a <see cref="T:System.Int16"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Int16"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteValue(System.UInt16)">
+            <summary>
+            Writes a <see cref="T:System.UInt16"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.UInt16"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteValue(System.Char)">
+            <summary>
+            Writes a <see cref="T:System.Char"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Char"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteValue(System.Byte)">
+            <summary>
+            Writes a <see cref="T:System.Byte"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Byte"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteValue(System.SByte)">
+            <summary>
+            Writes a <see cref="T:System.SByte"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.SByte"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteValue(System.Decimal)">
+            <summary>
+            Writes a <see cref="T:System.Decimal"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Decimal"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteValue(System.DateTime)">
+            <summary>
+            Writes a <see cref="T:System.DateTime"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.DateTime"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteValue(System.Byte[])">
+            <summary>
+            Writes a <see cref="T:System.Byte"/>[] value.
+            </summary>
+            <param name="value">The <see cref="T:System.Byte"/>[] value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteValue(System.DateTimeOffset)">
+            <summary>
+            Writes a <see cref="T:System.DateTimeOffset"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.DateTimeOffset"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteValue(System.Guid)">
+            <summary>
+            Writes a <see cref="T:System.Guid"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Guid"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteValue(System.TimeSpan)">
+            <summary>
+            Writes a <see cref="T:System.TimeSpan"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.TimeSpan"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteValue(System.Uri)">
+            <summary>
+            Writes a <see cref="T:System.Uri"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Uri"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteComment(System.String)">
+            <summary>
+            Writes a comment <c>/*...*/</c> containing the specified text. 
+            </summary>
+            <param name="text">Text to place inside the comment.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonTextWriter.WriteWhitespace(System.String)">
+            <summary>
+            Writes the given white space.
+            </summary>
+            <param name="ws">The string of white space characters.</param>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.JsonToken">
+            <summary>
+            Specifies the type of JSON token.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.JsonToken.None">
+            <summary>
+            This is returned by the <see cref="T:LC.Newtonsoft.Json.JsonReader"/> if a read method has not been called.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.JsonToken.StartObject">
+            <summary>
+            An object start token.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.JsonToken.StartArray">
+            <summary>
+            An array start token.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.JsonToken.StartConstructor">
+            <summary>
+            A constructor start token.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.JsonToken.PropertyName">
+            <summary>
+            An object property name.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.JsonToken.Comment">
+            <summary>
+            A comment.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.JsonToken.Raw">
+            <summary>
+            Raw JSON.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.JsonToken.Integer">
+            <summary>
+            An integer.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.JsonToken.Float">
+            <summary>
+            A float.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.JsonToken.String">
+            <summary>
+            A string.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.JsonToken.Boolean">
+            <summary>
+            A boolean.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.JsonToken.Null">
+            <summary>
+            A null token.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.JsonToken.Undefined">
+            <summary>
+            An undefined token.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.JsonToken.EndObject">
+            <summary>
+            An object end token.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.JsonToken.EndArray">
+            <summary>
+            An array end token.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.JsonToken.EndConstructor">
+            <summary>
+            A constructor end token.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.JsonToken.Date">
+            <summary>
+            A Date.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.JsonToken.Bytes">
+            <summary>
+            Byte data.
+            </summary>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.JsonValidatingReader">
+            <summary>
+            <para>
+            Represents a reader that provides <see cref="T:LC.Newtonsoft.Json.Schema.JsonSchema"/> validation.
+            </para>
+            <note type="caution">
+            JSON Schema validation has been moved to its own package. See <see href="https://www.newtonsoft.com/jsonschema">https://www.newtonsoft.com/jsonschema</see> for more details.
+            </note>
+            </summary>
+        </member>
+        <member name="E:LC.Newtonsoft.Json.JsonValidatingReader.ValidationEventHandler">
+            <summary>
+            Sets an event handler for receiving schema validation errors.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonValidatingReader.Value">
+            <summary>
+            Gets the text value of the current JSON token.
+            </summary>
+            <value></value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonValidatingReader.Depth">
+            <summary>
+            Gets the depth of the current token in the JSON document.
+            </summary>
+            <value>The depth of the current token in the JSON document.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonValidatingReader.Path">
+            <summary>
+            Gets the path of the current JSON token. 
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonValidatingReader.QuoteChar">
+            <summary>
+            Gets the quotation mark character used to enclose the value of a string.
+            </summary>
+            <value></value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonValidatingReader.TokenType">
+            <summary>
+            Gets the type of the current JSON token.
+            </summary>
+            <value></value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonValidatingReader.ValueType">
+            <summary>
+            Gets the .NET type for the current JSON token.
+            </summary>
+            <value></value>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonValidatingReader.#ctor(LC.Newtonsoft.Json.JsonReader)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.JsonValidatingReader"/> class that
+            validates the content returned from the given <see cref="T:LC.Newtonsoft.Json.JsonReader"/>.
+            </summary>
+            <param name="reader">The <see cref="T:LC.Newtonsoft.Json.JsonReader"/> to read from while validating.</param>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonValidatingReader.Schema">
+            <summary>
+            Gets or sets the schema.
+            </summary>
+            <value>The schema.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonValidatingReader.Reader">
+            <summary>
+            Gets the <see cref="T:LC.Newtonsoft.Json.JsonReader"/> used to construct this <see cref="T:LC.Newtonsoft.Json.JsonValidatingReader"/>.
+            </summary>
+            <value>The <see cref="T:LC.Newtonsoft.Json.JsonReader"/> specified in the constructor.</value>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonValidatingReader.Close">
+            <summary>
+            Changes the reader's state to <see cref="F:LC.Newtonsoft.Json.JsonReader.State.Closed"/>.
+            If <see cref="P:LC.Newtonsoft.Json.JsonReader.CloseInput"/> is set to <c>true</c>, the underlying <see cref="T:LC.Newtonsoft.Json.JsonReader"/> is also closed.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonValidatingReader.ReadAsInt32">
+            <summary>
+            Reads the next JSON token from the underlying <see cref="T:LC.Newtonsoft.Json.JsonReader"/> as a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Int32"/>.
+            </summary>
+            <returns>A <see cref="T:System.Nullable`1"/> of <see cref="T:System.Int32"/>.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonValidatingReader.ReadAsBytes">
+            <summary>
+            Reads the next JSON token from the underlying <see cref="T:LC.Newtonsoft.Json.JsonReader"/> as a <see cref="T:System.Byte"/>[].
+            </summary>
+            <returns>
+            A <see cref="T:System.Byte"/>[] or <c>null</c> if the next JSON token is null.
+            </returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonValidatingReader.ReadAsDecimal">
+            <summary>
+            Reads the next JSON token from the underlying <see cref="T:LC.Newtonsoft.Json.JsonReader"/> as a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Decimal"/>.
+            </summary>
+            <returns>A <see cref="T:System.Nullable`1"/> of <see cref="T:System.Decimal"/>.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonValidatingReader.ReadAsDouble">
+            <summary>
+            Reads the next JSON token from the underlying <see cref="T:LC.Newtonsoft.Json.JsonReader"/> as a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Double"/>.
+            </summary>
+            <returns>A <see cref="T:System.Nullable`1"/> of <see cref="T:System.Double"/>.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonValidatingReader.ReadAsBoolean">
+            <summary>
+            Reads the next JSON token from the underlying <see cref="T:LC.Newtonsoft.Json.JsonReader"/> as a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Boolean"/>.
+            </summary>
+            <returns>A <see cref="T:System.Nullable`1"/> of <see cref="T:System.Boolean"/>.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonValidatingReader.ReadAsString">
+            <summary>
+            Reads the next JSON token from the underlying <see cref="T:LC.Newtonsoft.Json.JsonReader"/> as a <see cref="T:System.String"/>.
+            </summary>
+            <returns>A <see cref="T:System.String"/>. This method will return <c>null</c> at the end of an array.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonValidatingReader.ReadAsDateTime">
+            <summary>
+            Reads the next JSON token from the underlying <see cref="T:LC.Newtonsoft.Json.JsonReader"/> as a <see cref="T:System.Nullable`1"/> of <see cref="T:System.DateTime"/>.
+            </summary>
+            <returns>A <see cref="T:System.Nullable`1"/> of <see cref="T:System.DateTime"/>. This method will return <c>null</c> at the end of an array.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonValidatingReader.ReadAsDateTimeOffset">
+            <summary>
+            Reads the next JSON token from the underlying <see cref="T:LC.Newtonsoft.Json.JsonReader"/> as a <see cref="T:System.Nullable`1"/> of <see cref="T:System.DateTimeOffset"/>.
+            </summary>
+            <returns>A <see cref="T:System.Nullable`1"/> of <see cref="T:System.DateTimeOffset"/>.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonValidatingReader.Read">
+            <summary>
+            Reads the next JSON token from the underlying <see cref="T:LC.Newtonsoft.Json.JsonReader"/>.
+            </summary>
+            <returns>
+            <c>true</c> if the next token was read successfully; <c>false</c> if there are no more tokens to read.
+            </returns>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.JsonWriter">
+            <summary>
+            Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.CloseAsync(System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously closes this writer.
+            If <see cref="P:LC.Newtonsoft.Json.JsonWriter.CloseOutput"/> is set to <c>true</c>, the destination is also closed.
+            </summary>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived
+            classes can override this behaviour for true asynchronicity.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.FlushAsync(System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously flushes whatever is in the buffer to the destination and also flushes the destination.
+            </summary>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived
+            classes can override this behaviour for true asynchronicity.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteEndAsync(LC.Newtonsoft.Json.JsonToken,System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes the specified end token.
+            </summary>
+            <param name="token">The end token to write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived
+            classes can override this behaviour for true asynchronicity.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteIndentAsync(System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes indent characters.
+            </summary>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived
+            classes can override this behaviour for true asynchronicity.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteValueDelimiterAsync(System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes the JSON value delimiter.
+            </summary>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived
+            classes can override this behaviour for true asynchronicity.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteIndentSpaceAsync(System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes an indent space.
+            </summary>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived
+            classes can override this behaviour for true asynchronicity.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteRawAsync(System.String,System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes raw JSON without changing the writer's state.
+            </summary>
+            <param name="json">The raw JSON to write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived
+            classes can override this behaviour for true asynchronicity.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteEndAsync(System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes the end of the current JSON object or array.
+            </summary>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived
+            classes can override this behaviour for true asynchronicity.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteEndArrayAsync(System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes the end of an array.
+            </summary>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived
+            classes can override this behaviour for true asynchronicity.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteEndConstructorAsync(System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes the end of a constructor.
+            </summary>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived
+            classes can override this behaviour for true asynchronicity.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteEndObjectAsync(System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes the end of a JSON object.
+            </summary>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived
+            classes can override this behaviour for true asynchronicity.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteNullAsync(System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes a null value.
+            </summary>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived
+            classes can override this behaviour for true asynchronicity.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WritePropertyNameAsync(System.String,System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes the property name of a name/value pair of a JSON object.
+            </summary>
+            <param name="name">The name of the property.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived
+            classes can override this behaviour for true asynchronicity.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WritePropertyNameAsync(System.String,System.Boolean,System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes the property name of a name/value pair of a JSON object.
+            </summary>
+            <param name="name">The name of the property.</param>
+            <param name="escape">A flag to indicate whether the text should be escaped when it is written as a JSON property name.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived
+            classes can override this behaviour for true asynchronicity.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteStartArrayAsync(System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes the beginning of a JSON array.
+            </summary>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived
+            classes can override this behaviour for true asynchronicity.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteCommentAsync(System.String,System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes a comment <c>/*...*/</c> containing the specified text.
+            </summary>
+            <param name="text">Text to place inside the comment.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived
+            classes can override this behaviour for true asynchronicity.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteRawValueAsync(System.String,System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes raw JSON where a value is expected and updates the writer's state.
+            </summary>
+            <param name="json">The raw JSON to write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived
+            classes can override this behaviour for true asynchronicity.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteStartConstructorAsync(System.String,System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes the start of a constructor with the given name.
+            </summary>
+            <param name="name">The name of the constructor.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived
+            classes can override this behaviour for true asynchronicity.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteStartObjectAsync(System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes the beginning of a JSON object.
+            </summary>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived
+            classes can override this behaviour for true asynchronicity.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteTokenAsync(LC.Newtonsoft.Json.JsonReader,System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes the current <see cref="T:LC.Newtonsoft.Json.JsonReader"/> token.
+            </summary>
+            <param name="reader">The <see cref="T:LC.Newtonsoft.Json.JsonReader"/> to read the token from.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived
+            classes can override this behaviour for true asynchronicity.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteTokenAsync(LC.Newtonsoft.Json.JsonReader,System.Boolean,System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes the current <see cref="T:LC.Newtonsoft.Json.JsonReader"/> token.
+            </summary>
+            <param name="reader">The <see cref="T:LC.Newtonsoft.Json.JsonReader"/> to read the token from.</param>
+            <param name="writeChildren">A flag indicating whether the current token's children should be written.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived
+            classes can override this behaviour for true asynchronicity.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteTokenAsync(LC.Newtonsoft.Json.JsonToken,System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes the <see cref="T:LC.Newtonsoft.Json.JsonToken"/> token and its value.
+            </summary>
+            <param name="token">The <see cref="T:LC.Newtonsoft.Json.JsonToken"/> to write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived
+            classes can override this behaviour for true asynchronicity.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteTokenAsync(LC.Newtonsoft.Json.JsonToken,System.Object,System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes the <see cref="T:LC.Newtonsoft.Json.JsonToken"/> token and its value.
+            </summary>
+            <param name="token">The <see cref="T:LC.Newtonsoft.Json.JsonToken"/> to write.</param>
+            <param name="value">
+            The value to write.
+            A value is only required for tokens that have an associated value, e.g. the <see cref="T:System.String"/> property name for <see cref="F:LC.Newtonsoft.Json.JsonToken.PropertyName"/>.
+            <c>null</c> can be passed to the method for tokens that don't have a value, e.g. <see cref="F:LC.Newtonsoft.Json.JsonToken.StartObject"/>.
+            </param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived
+            classes can override this behaviour for true asynchronicity.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteValueAsync(System.Boolean,System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Boolean"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.Boolean"/> value to write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived
+            classes can override this behaviour for true asynchronicity.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteValueAsync(System.Nullable{System.Boolean},System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes a <see cref="T:System.Boolean"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Boolean"/> value to write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived
+            classes can override this behaviour for true asynchronicity.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteValueAsync(System.Byte,System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes a <see cref="T:System.Byte"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Byte"/> value to write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived
+            classes can override this behaviour for true asynchronicity.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteValueAsync(System.Nullable{System.Byte},System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Byte"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.Byte"/> value to write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived
+            classes can override this behaviour for true asynchronicity.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteValueAsync(System.Byte[],System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes a <see cref="T:System.Byte"/>[] value.
+            </summary>
+            <param name="value">The <see cref="T:System.Byte"/>[] value to write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived
+            classes can override this behaviour for true asynchronicity.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteValueAsync(System.Char,System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes a <see cref="T:System.Char"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Char"/> value to write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived
+            classes can override this behaviour for true asynchronicity.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteValueAsync(System.Nullable{System.Char},System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Char"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.Char"/> value to write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived
+            classes can override this behaviour for true asynchronicity.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteValueAsync(System.DateTime,System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes a <see cref="T:System.DateTime"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.DateTime"/> value to write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived
+            classes can override this behaviour for true asynchronicity.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteValueAsync(System.Nullable{System.DateTime},System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.DateTime"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.DateTime"/> value to write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived
+            classes can override this behaviour for true asynchronicity.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteValueAsync(System.DateTimeOffset,System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes a <see cref="T:System.DateTimeOffset"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.DateTimeOffset"/> value to write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived
+            classes can override this behaviour for true asynchronicity.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteValueAsync(System.Nullable{System.DateTimeOffset},System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.DateTimeOffset"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.DateTimeOffset"/> value to write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived
+            classes can override this behaviour for true asynchronicity.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteValueAsync(System.Decimal,System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes a <see cref="T:System.Decimal"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Decimal"/> value to write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived
+            classes can override this behaviour for true asynchronicity.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteValueAsync(System.Nullable{System.Decimal},System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Decimal"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.Decimal"/> value to write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived
+            classes can override this behaviour for true asynchronicity.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteValueAsync(System.Double,System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes a <see cref="T:System.Double"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Double"/> value to write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived
+            classes can override this behaviour for true asynchronicity.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteValueAsync(System.Nullable{System.Double},System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Double"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.Double"/> value to write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived
+            classes can override this behaviour for true asynchronicity.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteValueAsync(System.Single,System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes a <see cref="T:System.Single"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Single"/> value to write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived
+            classes can override this behaviour for true asynchronicity.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteValueAsync(System.Nullable{System.Single},System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Single"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.Single"/> value to write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived
+            classes can override this behaviour for true asynchronicity.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteValueAsync(System.Guid,System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes a <see cref="T:System.Guid"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Guid"/> value to write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived
+            classes can override this behaviour for true asynchronicity.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteValueAsync(System.Nullable{System.Guid},System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Guid"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.Guid"/> value to write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived
+            classes can override this behaviour for true asynchronicity.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteValueAsync(System.Int32,System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes a <see cref="T:System.Int32"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Int32"/> value to write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived
+            classes can override this behaviour for true asynchronicity.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteValueAsync(System.Nullable{System.Int32},System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Int32"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.Int32"/> value to write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived
+            classes can override this behaviour for true asynchronicity.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteValueAsync(System.Int64,System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes a <see cref="T:System.Int64"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Int64"/> value to write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived
+            classes can override this behaviour for true asynchronicity.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteValueAsync(System.Nullable{System.Int64},System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Int64"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.Int64"/> value to write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived
+            classes can override this behaviour for true asynchronicity.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteValueAsync(System.Object,System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes a <see cref="T:System.Object"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Object"/> value to write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived
+            classes can override this behaviour for true asynchronicity.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteValueAsync(System.SByte,System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes a <see cref="T:System.SByte"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.SByte"/> value to write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived
+            classes can override this behaviour for true asynchronicity.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteValueAsync(System.Nullable{System.SByte},System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.SByte"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.SByte"/> value to write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived
+            classes can override this behaviour for true asynchronicity.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteValueAsync(System.Int16,System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes a <see cref="T:System.Int16"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Int16"/> value to write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived
+            classes can override this behaviour for true asynchronicity.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteValueAsync(System.Nullable{System.Int16},System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Int16"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.Int16"/> value to write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived
+            classes can override this behaviour for true asynchronicity.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteValueAsync(System.String,System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes a <see cref="T:System.String"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.String"/> value to write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived
+            classes can override this behaviour for true asynchronicity.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteValueAsync(System.TimeSpan,System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes a <see cref="T:System.TimeSpan"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.TimeSpan"/> value to write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived
+            classes can override this behaviour for true asynchronicity.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteValueAsync(System.Nullable{System.TimeSpan},System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.TimeSpan"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.TimeSpan"/> value to write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived
+            classes can override this behaviour for true asynchronicity.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteValueAsync(System.UInt32,System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes a <see cref="T:System.UInt32"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.UInt32"/> value to write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived
+            classes can override this behaviour for true asynchronicity.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteValueAsync(System.Nullable{System.UInt32},System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.UInt32"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.UInt32"/> value to write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived
+            classes can override this behaviour for true asynchronicity.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteValueAsync(System.UInt64,System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes a <see cref="T:System.UInt64"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.UInt64"/> value to write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived
+            classes can override this behaviour for true asynchronicity.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteValueAsync(System.Nullable{System.UInt64},System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.UInt64"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.UInt64"/> value to write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived
+            classes can override this behaviour for true asynchronicity.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteValueAsync(System.Uri,System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes a <see cref="T:System.Uri"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Uri"/> value to write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived
+            classes can override this behaviour for true asynchronicity.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteValueAsync(System.UInt16,System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes a <see cref="T:System.UInt16"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.UInt16"/> value to write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived
+            classes can override this behaviour for true asynchronicity.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteValueAsync(System.Nullable{System.UInt16},System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.UInt16"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.UInt16"/> value to write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived
+            classes can override this behaviour for true asynchronicity.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteUndefinedAsync(System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes an undefined value.
+            </summary>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived
+            classes can override this behaviour for true asynchronicity.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteWhitespaceAsync(System.String,System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously writes the given white space.
+            </summary>
+            <param name="ws">The string of white space characters.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived
+            classes can override this behaviour for true asynchronicity.</remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.SetWriteStateAsync(LC.Newtonsoft.Json.JsonToken,System.Object,System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously ets the state of the <see cref="T:LC.Newtonsoft.Json.JsonWriter"/>.
+            </summary>
+            <param name="token">The <see cref="T:LC.Newtonsoft.Json.JsonToken"/> being written.</param>
+            <param name="value">The value being written.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+            <remarks>The default behaviour is to execute synchronously, returning an already-completed task. Derived
+            classes can override this behaviour for true asynchronicity.</remarks>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonWriter.CloseOutput">
+            <summary>
+            Gets or sets a value indicating whether the destination should be closed when this writer is closed.
+            </summary>
+            <value>
+            <c>true</c> to close the destination when this writer is closed; otherwise <c>false</c>. The default is <c>true</c>.
+            </value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonWriter.AutoCompleteOnClose">
+            <summary>
+            Gets or sets a value indicating whether the JSON should be auto-completed when this writer is closed.
+            </summary>
+            <value>
+            <c>true</c> to auto-complete the JSON when this writer is closed; otherwise <c>false</c>. The default is <c>true</c>.
+            </value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonWriter.Top">
+            <summary>
+            Gets the top.
+            </summary>
+            <value>The top.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonWriter.WriteState">
+            <summary>
+            Gets the state of the writer.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonWriter.Path">
+            <summary>
+            Gets the path of the writer. 
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonWriter.Formatting">
+            <summary>
+            Gets or sets a value indicating how JSON text output should be formatted.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonWriter.DateFormatHandling">
+            <summary>
+            Gets or sets how dates are written to JSON text.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonWriter.DateTimeZoneHandling">
+            <summary>
+            Gets or sets how <see cref="T:System.DateTime"/> time zones are handled when writing JSON text.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonWriter.StringEscapeHandling">
+            <summary>
+            Gets or sets how strings are escaped when writing JSON text.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonWriter.FloatFormatHandling">
+            <summary>
+            Gets or sets how special floating point numbers, e.g. <see cref="F:System.Double.NaN"/>,
+            <see cref="F:System.Double.PositiveInfinity"/> and <see cref="F:System.Double.NegativeInfinity"/>,
+            are written to JSON text.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonWriter.DateFormatString">
+            <summary>
+            Gets or sets how <see cref="T:System.DateTime"/> and <see cref="T:System.DateTimeOffset"/> values are formatted when writing JSON text.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonWriter.Culture">
+            <summary>
+            Gets or sets the culture used when writing JSON. Defaults to <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.JsonWriter"/> class.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.Flush">
+            <summary>
+            Flushes whatever is in the buffer to the destination and also flushes the destination.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.Close">
+            <summary>
+            Closes this writer.
+            If <see cref="P:LC.Newtonsoft.Json.JsonWriter.CloseOutput"/> is set to <c>true</c>, the destination is also closed.
+            If <see cref="P:LC.Newtonsoft.Json.JsonWriter.AutoCompleteOnClose"/> is set to <c>true</c>, the JSON is auto-completed.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteStartObject">
+            <summary>
+            Writes the beginning of a JSON object.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteEndObject">
+            <summary>
+            Writes the end of a JSON object.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteStartArray">
+            <summary>
+            Writes the beginning of a JSON array.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteEndArray">
+            <summary>
+            Writes the end of an array.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteStartConstructor(System.String)">
+            <summary>
+            Writes the start of a constructor with the given name.
+            </summary>
+            <param name="name">The name of the constructor.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteEndConstructor">
+            <summary>
+            Writes the end constructor.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WritePropertyName(System.String)">
+            <summary>
+            Writes the property name of a name/value pair of a JSON object.
+            </summary>
+            <param name="name">The name of the property.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WritePropertyName(System.String,System.Boolean)">
+            <summary>
+            Writes the property name of a name/value pair of a JSON object.
+            </summary>
+            <param name="name">The name of the property.</param>
+            <param name="escape">A flag to indicate whether the text should be escaped when it is written as a JSON property name.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteEnd">
+            <summary>
+            Writes the end of the current JSON object or array.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteToken(LC.Newtonsoft.Json.JsonReader)">
+            <summary>
+            Writes the current <see cref="T:LC.Newtonsoft.Json.JsonReader"/> token and its children.
+            </summary>
+            <param name="reader">The <see cref="T:LC.Newtonsoft.Json.JsonReader"/> to read the token from.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteToken(LC.Newtonsoft.Json.JsonReader,System.Boolean)">
+            <summary>
+            Writes the current <see cref="T:LC.Newtonsoft.Json.JsonReader"/> token.
+            </summary>
+            <param name="reader">The <see cref="T:LC.Newtonsoft.Json.JsonReader"/> to read the token from.</param>
+            <param name="writeChildren">A flag indicating whether the current token's children should be written.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteToken(LC.Newtonsoft.Json.JsonToken,System.Object)">
+            <summary>
+            Writes the <see cref="T:LC.Newtonsoft.Json.JsonToken"/> token and its value.
+            </summary>
+            <param name="token">The <see cref="T:LC.Newtonsoft.Json.JsonToken"/> to write.</param>
+            <param name="value">
+            The value to write.
+            A value is only required for tokens that have an associated value, e.g. the <see cref="T:System.String"/> property name for <see cref="F:LC.Newtonsoft.Json.JsonToken.PropertyName"/>.
+            <c>null</c> can be passed to the method for tokens that don't have a value, e.g. <see cref="F:LC.Newtonsoft.Json.JsonToken.StartObject"/>.
+            </param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteToken(LC.Newtonsoft.Json.JsonToken)">
+            <summary>
+            Writes the <see cref="T:LC.Newtonsoft.Json.JsonToken"/> token.
+            </summary>
+            <param name="token">The <see cref="T:LC.Newtonsoft.Json.JsonToken"/> to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteEnd(LC.Newtonsoft.Json.JsonToken)">
+            <summary>
+            Writes the specified end token.
+            </summary>
+            <param name="token">The end token to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteIndent">
+            <summary>
+            Writes indent characters.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteValueDelimiter">
+            <summary>
+            Writes the JSON value delimiter.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteIndentSpace">
+            <summary>
+            Writes an indent space.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteNull">
+            <summary>
+            Writes a null value.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteUndefined">
+            <summary>
+            Writes an undefined value.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteRaw(System.String)">
+            <summary>
+            Writes raw JSON without changing the writer's state.
+            </summary>
+            <param name="json">The raw JSON to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteRawValue(System.String)">
+            <summary>
+            Writes raw JSON where a value is expected and updates the writer's state.
+            </summary>
+            <param name="json">The raw JSON to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteValue(System.String)">
+            <summary>
+            Writes a <see cref="T:System.String"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.String"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteValue(System.Int32)">
+            <summary>
+            Writes a <see cref="T:System.Int32"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Int32"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteValue(System.UInt32)">
+            <summary>
+            Writes a <see cref="T:System.UInt32"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.UInt32"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteValue(System.Int64)">
+            <summary>
+            Writes a <see cref="T:System.Int64"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Int64"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteValue(System.UInt64)">
+            <summary>
+            Writes a <see cref="T:System.UInt64"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.UInt64"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteValue(System.Single)">
+            <summary>
+            Writes a <see cref="T:System.Single"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Single"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteValue(System.Double)">
+            <summary>
+            Writes a <see cref="T:System.Double"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Double"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteValue(System.Boolean)">
+            <summary>
+            Writes a <see cref="T:System.Boolean"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Boolean"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteValue(System.Int16)">
+            <summary>
+            Writes a <see cref="T:System.Int16"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Int16"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteValue(System.UInt16)">
+            <summary>
+            Writes a <see cref="T:System.UInt16"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.UInt16"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteValue(System.Char)">
+            <summary>
+            Writes a <see cref="T:System.Char"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Char"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteValue(System.Byte)">
+            <summary>
+            Writes a <see cref="T:System.Byte"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Byte"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteValue(System.SByte)">
+            <summary>
+            Writes a <see cref="T:System.SByte"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.SByte"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteValue(System.Decimal)">
+            <summary>
+            Writes a <see cref="T:System.Decimal"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Decimal"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteValue(System.DateTime)">
+            <summary>
+            Writes a <see cref="T:System.DateTime"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.DateTime"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteValue(System.DateTimeOffset)">
+            <summary>
+            Writes a <see cref="T:System.DateTimeOffset"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.DateTimeOffset"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteValue(System.Guid)">
+            <summary>
+            Writes a <see cref="T:System.Guid"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Guid"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteValue(System.TimeSpan)">
+            <summary>
+            Writes a <see cref="T:System.TimeSpan"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.TimeSpan"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteValue(System.Nullable{System.Int32})">
+            <summary>
+            Writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Int32"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.Int32"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteValue(System.Nullable{System.UInt32})">
+            <summary>
+            Writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.UInt32"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.UInt32"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteValue(System.Nullable{System.Int64})">
+            <summary>
+            Writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Int64"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.Int64"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteValue(System.Nullable{System.UInt64})">
+            <summary>
+            Writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.UInt64"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.UInt64"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteValue(System.Nullable{System.Single})">
+            <summary>
+            Writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Single"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.Single"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteValue(System.Nullable{System.Double})">
+            <summary>
+            Writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Double"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.Double"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteValue(System.Nullable{System.Boolean})">
+            <summary>
+            Writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Boolean"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.Boolean"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteValue(System.Nullable{System.Int16})">
+            <summary>
+            Writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Int16"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.Int16"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteValue(System.Nullable{System.UInt16})">
+            <summary>
+            Writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.UInt16"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.UInt16"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteValue(System.Nullable{System.Char})">
+            <summary>
+            Writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Char"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.Char"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteValue(System.Nullable{System.Byte})">
+            <summary>
+            Writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Byte"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.Byte"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteValue(System.Nullable{System.SByte})">
+            <summary>
+            Writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.SByte"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.SByte"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteValue(System.Nullable{System.Decimal})">
+            <summary>
+            Writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Decimal"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.Decimal"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteValue(System.Nullable{System.DateTime})">
+            <summary>
+            Writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.DateTime"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.DateTime"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteValue(System.Nullable{System.DateTimeOffset})">
+            <summary>
+            Writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.DateTimeOffset"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.DateTimeOffset"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteValue(System.Nullable{System.Guid})">
+            <summary>
+            Writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.Guid"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.Guid"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteValue(System.Nullable{System.TimeSpan})">
+            <summary>
+            Writes a <see cref="T:System.Nullable`1"/> of <see cref="T:System.TimeSpan"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Nullable`1"/> of <see cref="T:System.TimeSpan"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteValue(System.Byte[])">
+            <summary>
+            Writes a <see cref="T:System.Byte"/>[] value.
+            </summary>
+            <param name="value">The <see cref="T:System.Byte"/>[] value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteValue(System.Uri)">
+            <summary>
+            Writes a <see cref="T:System.Uri"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Uri"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteValue(System.Object)">
+            <summary>
+            Writes a <see cref="T:System.Object"/> value.
+            An error will raised if the value cannot be written as a single JSON token.
+            </summary>
+            <param name="value">The <see cref="T:System.Object"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteComment(System.String)">
+            <summary>
+            Writes a comment <c>/*...*/</c> containing the specified text.
+            </summary>
+            <param name="text">Text to place inside the comment.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.WriteWhitespace(System.String)">
+            <summary>
+            Writes the given white space.
+            </summary>
+            <param name="ws">The string of white space characters.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.Dispose(System.Boolean)">
+            <summary>
+            Releases unmanaged and - optionally - managed resources.
+            </summary>
+            <param name="disposing"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriter.SetWriteState(LC.Newtonsoft.Json.JsonToken,System.Object)">
+            <summary>
+            Sets the state of the <see cref="T:LC.Newtonsoft.Json.JsonWriter"/>.
+            </summary>
+            <param name="token">The <see cref="T:LC.Newtonsoft.Json.JsonToken"/> being written.</param>
+            <param name="value">The value being written.</param>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.JsonWriterException">
+            <summary>
+            The exception thrown when an error occurs while writing JSON text.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.JsonWriterException.Path">
+            <summary>
+            Gets the path to the JSON where the error occurred.
+            </summary>
+            <value>The path to the JSON where the error occurred.</value>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriterException.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.JsonWriterException"/> class.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriterException.#ctor(System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.JsonWriterException"/> class
+            with a specified error message.
+            </summary>
+            <param name="message">The error message that explains the reason for the exception.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriterException.#ctor(System.String,System.Exception)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.JsonWriterException"/> class
+            with a specified error message and a reference to the inner exception that is the cause of this exception.
+            </summary>
+            <param name="message">The error message that explains the reason for the exception.</param>
+            <param name="innerException">The exception that is the cause of the current exception, or <c>null</c> if no inner exception is specified.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriterException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.JsonWriterException"/> class.
+            </summary>
+            <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object data about the exception being thrown.</param>
+            <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that contains contextual information about the source or destination.</param>
+            <exception cref="T:System.ArgumentNullException">The <paramref name="info"/> parameter is <c>null</c>.</exception>
+            <exception cref="T:System.Runtime.Serialization.SerializationException">The class name is <c>null</c> or <see cref="P:System.Exception.HResult"/> is zero (0).</exception>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.JsonWriterException.#ctor(System.String,System.String,System.Exception)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.JsonWriterException"/> class
+            with a specified error message, JSON path and a reference to the inner exception that is the cause of this exception.
+            </summary>
+            <param name="message">The error message that explains the reason for the exception.</param>
+            <param name="path">The path to the JSON where the error occurred.</param>
+            <param name="innerException">The exception that is the cause of the current exception, or <c>null</c> if no inner exception is specified.</param>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Linq.CommentHandling">
+            <summary>
+            Specifies how JSON comments are handled when loading JSON.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.Linq.CommentHandling.Ignore">
+            <summary>
+            Ignore comments.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.Linq.CommentHandling.Load">
+            <summary>
+            Load comments as a <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> with type <see cref="F:LC.Newtonsoft.Json.Linq.JTokenType.Comment"/>.
+            </summary>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Linq.DuplicatePropertyNameHandling">
+            <summary>
+            Specifies how duplicate property names are handled when loading JSON.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.Linq.DuplicatePropertyNameHandling.Replace">
+            <summary>
+            Replace the existing value when there is a duplicate property. The value of the last property in the JSON object will be used.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.Linq.DuplicatePropertyNameHandling.Ignore">
+            <summary>
+            Ignore the new value when there is a duplicate property. The value of the first property in the JSON object will be used.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.Linq.DuplicatePropertyNameHandling.Error">
+            <summary>
+            Throw a <see cref="T:LC.Newtonsoft.Json.JsonReaderException"/> when a duplicate property is encountered.
+            </summary>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Linq.Extensions">
+            <summary>
+            Contains the LINQ to JSON extension methods.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.Extensions.Ancestors``1(System.Collections.Generic.IEnumerable{``0})">
+            <summary>
+            Returns a collection of tokens that contains the ancestors of every token in the source collection.
+            </summary>
+            <typeparam name="T">The type of the objects in source, constrained to <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.</typeparam>
+            <param name="source">An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> that contains the source collection.</param>
+            <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> that contains the ancestors of every token in the source collection.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.Extensions.AncestorsAndSelf``1(System.Collections.Generic.IEnumerable{``0})">
+            <summary>
+            Returns a collection of tokens that contains every token in the source collection, and the ancestors of every token in the source collection.
+            </summary>
+            <typeparam name="T">The type of the objects in source, constrained to <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.</typeparam>
+            <param name="source">An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> that contains the source collection.</param>
+            <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> that contains every token in the source collection, the ancestors of every token in the source collection.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.Extensions.Descendants``1(System.Collections.Generic.IEnumerable{``0})">
+            <summary>
+            Returns a collection of tokens that contains the descendants of every token in the source collection.
+            </summary>
+            <typeparam name="T">The type of the objects in source, constrained to <see cref="T:LC.Newtonsoft.Json.Linq.JContainer"/>.</typeparam>
+            <param name="source">An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> that contains the source collection.</param>
+            <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> that contains the descendants of every token in the source collection.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.Extensions.DescendantsAndSelf``1(System.Collections.Generic.IEnumerable{``0})">
+            <summary>
+            Returns a collection of tokens that contains every token in the source collection, and the descendants of every token in the source collection.
+            </summary>
+            <typeparam name="T">The type of the objects in source, constrained to <see cref="T:LC.Newtonsoft.Json.Linq.JContainer"/>.</typeparam>
+            <param name="source">An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> that contains the source collection.</param>
+            <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> that contains every token in the source collection, and the descendants of every token in the source collection.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.Extensions.Properties(System.Collections.Generic.IEnumerable{LC.Newtonsoft.Json.Linq.JObject})">
+            <summary>
+            Returns a collection of child properties of every object in the source collection.
+            </summary>
+            <param name="source">An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:LC.Newtonsoft.Json.Linq.JObject"/> that contains the source collection.</param>
+            <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:LC.Newtonsoft.Json.Linq.JProperty"/> that contains the properties of every object in the source collection.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.Extensions.Values(System.Collections.Generic.IEnumerable{LC.Newtonsoft.Json.Linq.JToken},System.Object)">
+            <summary>
+            Returns a collection of child values of every object in the source collection with the given key.
+            </summary>
+            <param name="source">An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> that contains the source collection.</param>
+            <param name="key">The token key.</param>
+            <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> that contains the values of every token in the source collection with the given key.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.Extensions.Values(System.Collections.Generic.IEnumerable{LC.Newtonsoft.Json.Linq.JToken})">
+            <summary>
+            Returns a collection of child values of every object in the source collection.
+            </summary>
+            <param name="source">An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> that contains the source collection.</param>
+            <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> that contains the values of every token in the source collection.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.Extensions.Values``1(System.Collections.Generic.IEnumerable{LC.Newtonsoft.Json.Linq.JToken},System.Object)">
+            <summary>
+            Returns a collection of converted child values of every object in the source collection with the given key.
+            </summary>
+            <typeparam name="U">The type to convert the values to.</typeparam>
+            <param name="source">An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> that contains the source collection.</param>
+            <param name="key">The token key.</param>
+            <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> that contains the converted values of every token in the source collection with the given key.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.Extensions.Values``1(System.Collections.Generic.IEnumerable{LC.Newtonsoft.Json.Linq.JToken})">
+            <summary>
+            Returns a collection of converted child values of every object in the source collection.
+            </summary>
+            <typeparam name="U">The type to convert the values to.</typeparam>
+            <param name="source">An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> that contains the source collection.</param>
+            <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> that contains the converted values of every token in the source collection.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.Extensions.Value``1(System.Collections.Generic.IEnumerable{LC.Newtonsoft.Json.Linq.JToken})">
+            <summary>
+            Converts the value.
+            </summary>
+            <typeparam name="U">The type to convert the value to.</typeparam>
+            <param name="value">A <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> cast as a <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.</param>
+            <returns>A converted value.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.Extensions.Value``2(System.Collections.Generic.IEnumerable{``0})">
+            <summary>
+            Converts the value.
+            </summary>
+            <typeparam name="T">The source collection type.</typeparam>
+            <typeparam name="U">The type to convert the value to.</typeparam>
+            <param name="value">A <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> cast as a <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.</param>
+            <returns>A converted value.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.Extensions.Children``1(System.Collections.Generic.IEnumerable{``0})">
+            <summary>
+            Returns a collection of child tokens of every array in the source collection.
+            </summary>
+            <typeparam name="T">The source collection type.</typeparam>
+            <param name="source">An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> that contains the source collection.</param>
+            <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> that contains the values of every token in the source collection.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.Extensions.Children``2(System.Collections.Generic.IEnumerable{``0})">
+            <summary>
+            Returns a collection of converted child tokens of every array in the source collection.
+            </summary>
+            <param name="source">An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> that contains the source collection.</param>
+            <typeparam name="U">The type to convert the values to.</typeparam>
+            <typeparam name="T">The source collection type.</typeparam>
+            <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> that contains the converted values of every token in the source collection.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.Extensions.AsJEnumerable(System.Collections.Generic.IEnumerable{LC.Newtonsoft.Json.Linq.JToken})">
+            <summary>
+            Returns the input typed as <see cref="T:LC.Newtonsoft.Json.Linq.IJEnumerable`1"/>.
+            </summary>
+            <param name="source">An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> that contains the source collection.</param>
+            <returns>The input typed as <see cref="T:LC.Newtonsoft.Json.Linq.IJEnumerable`1"/>.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.Extensions.AsJEnumerable``1(System.Collections.Generic.IEnumerable{``0})">
+            <summary>
+            Returns the input typed as <see cref="T:LC.Newtonsoft.Json.Linq.IJEnumerable`1"/>.
+            </summary>
+            <typeparam name="T">The source collection type.</typeparam>
+            <param name="source">An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> that contains the source collection.</param>
+            <returns>The input typed as <see cref="T:LC.Newtonsoft.Json.Linq.IJEnumerable`1"/>.</returns>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Linq.IJEnumerable`1">
+            <summary>
+            Represents a collection of <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> objects.
+            </summary>
+            <typeparam name="T">The type of token.</typeparam>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Linq.IJEnumerable`1.Item(System.Object)">
+            <summary>
+            Gets the <see cref="T:LC.Newtonsoft.Json.Linq.IJEnumerable`1"/> of <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> with the specified key.
+            </summary>
+            <value></value>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Linq.JArray">
+            <summary>
+            Represents a JSON array.
+            </summary>
+            <example>
+              <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\LinqToJsonTests.cs" region="LinqToJsonCreateParseArray" title="Parsing a JSON Array from Text" />
+            </example>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JArray.WriteToAsync(LC.Newtonsoft.Json.JsonWriter,System.Threading.CancellationToken,LC.Newtonsoft.Json.JsonConverter[])">
+            <summary>
+            Writes this token to a <see cref="T:LC.Newtonsoft.Json.JsonWriter"/> asynchronously.
+            </summary>
+            <param name="writer">A <see cref="T:LC.Newtonsoft.Json.JsonWriter"/> into which this method will write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests.</param>
+            <param name="converters">A collection of <see cref="T:LC.Newtonsoft.Json.JsonConverter"/> which will be used when writing the token.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous write operation.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JArray.LoadAsync(LC.Newtonsoft.Json.JsonReader,System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously loads a <see cref="T:LC.Newtonsoft.Json.Linq.JArray"/> from a <see cref="T:LC.Newtonsoft.Json.JsonReader"/>. 
+            </summary>
+            <param name="reader">A <see cref="T:LC.Newtonsoft.Json.JsonReader"/> that will be read for the content of the <see cref="T:LC.Newtonsoft.Json.Linq.JArray"/>.
+            If this is <c>null</c>, default load settings will be used.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task`1"/> representing the asynchronous load. The <see cref="P:System.Threading.Tasks.Task`1.Result"/> property contains the JSON that was read from the specified <see cref="T:LC.Newtonsoft.Json.JsonReader"/>.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JArray.LoadAsync(LC.Newtonsoft.Json.JsonReader,LC.Newtonsoft.Json.Linq.JsonLoadSettings,System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously loads a <see cref="T:LC.Newtonsoft.Json.Linq.JArray"/> from a <see cref="T:LC.Newtonsoft.Json.JsonReader"/>. 
+            </summary>
+            <param name="reader">A <see cref="T:LC.Newtonsoft.Json.JsonReader"/> that will be read for the content of the <see cref="T:LC.Newtonsoft.Json.Linq.JArray"/>.</param>
+            <param name="settings">The <see cref="T:LC.Newtonsoft.Json.Linq.JsonLoadSettings"/> used to load the JSON.
+            If this is <c>null</c>, default load settings will be used.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task`1"/> representing the asynchronous load. The <see cref="P:System.Threading.Tasks.Task`1.Result"/> property contains the JSON that was read from the specified <see cref="T:LC.Newtonsoft.Json.JsonReader"/>.</returns>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Linq.JArray.ChildrenTokens">
+            <summary>
+            Gets the container's children tokens.
+            </summary>
+            <value>The container's children tokens.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Linq.JArray.Type">
+            <summary>
+            Gets the node type for this <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.
+            </summary>
+            <value>The type.</value>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JArray.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Linq.JArray"/> class.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JArray.#ctor(LC.Newtonsoft.Json.Linq.JArray)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Linq.JArray"/> class from another <see cref="T:LC.Newtonsoft.Json.Linq.JArray"/> object.
+            </summary>
+            <param name="other">A <see cref="T:LC.Newtonsoft.Json.Linq.JArray"/> object to copy from.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JArray.#ctor(System.Object[])">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Linq.JArray"/> class with the specified content.
+            </summary>
+            <param name="content">The contents of the array.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JArray.#ctor(System.Object)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Linq.JArray"/> class with the specified content.
+            </summary>
+            <param name="content">The contents of the array.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JArray.Load(LC.Newtonsoft.Json.JsonReader)">
+            <summary>
+            Loads an <see cref="T:LC.Newtonsoft.Json.Linq.JArray"/> from a <see cref="T:LC.Newtonsoft.Json.JsonReader"/>. 
+            </summary>
+            <param name="reader">A <see cref="T:LC.Newtonsoft.Json.JsonReader"/> that will be read for the content of the <see cref="T:LC.Newtonsoft.Json.Linq.JArray"/>.</param>
+            <returns>A <see cref="T:LC.Newtonsoft.Json.Linq.JArray"/> that contains the JSON that was read from the specified <see cref="T:LC.Newtonsoft.Json.JsonReader"/>.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JArray.Load(LC.Newtonsoft.Json.JsonReader,LC.Newtonsoft.Json.Linq.JsonLoadSettings)">
+            <summary>
+            Loads an <see cref="T:LC.Newtonsoft.Json.Linq.JArray"/> from a <see cref="T:LC.Newtonsoft.Json.JsonReader"/>. 
+            </summary>
+            <param name="reader">A <see cref="T:LC.Newtonsoft.Json.JsonReader"/> that will be read for the content of the <see cref="T:LC.Newtonsoft.Json.Linq.JArray"/>.</param>
+            <param name="settings">The <see cref="T:LC.Newtonsoft.Json.Linq.JsonLoadSettings"/> used to load the JSON.
+            If this is <c>null</c>, default load settings will be used.</param>
+            <returns>A <see cref="T:LC.Newtonsoft.Json.Linq.JArray"/> that contains the JSON that was read from the specified <see cref="T:LC.Newtonsoft.Json.JsonReader"/>.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JArray.Parse(System.String)">
+            <summary>
+            Load a <see cref="T:LC.Newtonsoft.Json.Linq.JArray"/> from a string that contains JSON.
+            </summary>
+            <param name="json">A <see cref="T:System.String"/> that contains JSON.</param>
+            <returns>A <see cref="T:LC.Newtonsoft.Json.Linq.JArray"/> populated from the string that contains JSON.</returns>
+            <example>
+              <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\LinqToJsonTests.cs" region="LinqToJsonCreateParseArray" title="Parsing a JSON Array from Text" />
+            </example>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JArray.Parse(System.String,LC.Newtonsoft.Json.Linq.JsonLoadSettings)">
+            <summary>
+            Load a <see cref="T:LC.Newtonsoft.Json.Linq.JArray"/> from a string that contains JSON.
+            </summary>
+            <param name="json">A <see cref="T:System.String"/> that contains JSON.</param>
+            <param name="settings">The <see cref="T:LC.Newtonsoft.Json.Linq.JsonLoadSettings"/> used to load the JSON.
+            If this is <c>null</c>, default load settings will be used.</param>
+            <returns>A <see cref="T:LC.Newtonsoft.Json.Linq.JArray"/> populated from the string that contains JSON.</returns>
+            <example>
+              <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\LinqToJsonTests.cs" region="LinqToJsonCreateParseArray" title="Parsing a JSON Array from Text" />
+            </example>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JArray.FromObject(System.Object)">
+            <summary>
+            Creates a <see cref="T:LC.Newtonsoft.Json.Linq.JArray"/> from an object.
+            </summary>
+            <param name="o">The object that will be used to create <see cref="T:LC.Newtonsoft.Json.Linq.JArray"/>.</param>
+            <returns>A <see cref="T:LC.Newtonsoft.Json.Linq.JArray"/> with the values of the specified object.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JArray.FromObject(System.Object,LC.Newtonsoft.Json.JsonSerializer)">
+            <summary>
+            Creates a <see cref="T:LC.Newtonsoft.Json.Linq.JArray"/> from an object.
+            </summary>
+            <param name="o">The object that will be used to create <see cref="T:LC.Newtonsoft.Json.Linq.JArray"/>.</param>
+            <param name="jsonSerializer">The <see cref="T:LC.Newtonsoft.Json.JsonSerializer"/> that will be used to read the object.</param>
+            <returns>A <see cref="T:LC.Newtonsoft.Json.Linq.JArray"/> with the values of the specified object.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JArray.WriteTo(LC.Newtonsoft.Json.JsonWriter,LC.Newtonsoft.Json.JsonConverter[])">
+            <summary>
+            Writes this token to a <see cref="T:LC.Newtonsoft.Json.JsonWriter"/>.
+            </summary>
+            <param name="writer">A <see cref="T:LC.Newtonsoft.Json.JsonWriter"/> into which this method will write.</param>
+            <param name="converters">A collection of <see cref="T:LC.Newtonsoft.Json.JsonConverter"/> which will be used when writing the token.</param>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Linq.JArray.Item(System.Object)">
+            <summary>
+            Gets the <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> with the specified key.
+            </summary>
+            <value>The <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> with the specified key.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Linq.JArray.Item(System.Int32)">
+            <summary>
+            Gets or sets the <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> at the specified index.
+            </summary>
+            <value></value>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JArray.IndexOf(LC.Newtonsoft.Json.Linq.JToken)">
+            <summary>
+            Determines the index of a specific item in the <see cref="T:LC.Newtonsoft.Json.Linq.JArray"/>.
+            </summary>
+            <param name="item">The object to locate in the <see cref="T:LC.Newtonsoft.Json.Linq.JArray"/>.</param>
+            <returns>
+            The index of <paramref name="item"/> if found in the list; otherwise, -1.
+            </returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JArray.Insert(System.Int32,LC.Newtonsoft.Json.Linq.JToken)">
+            <summary>
+            Inserts an item to the <see cref="T:LC.Newtonsoft.Json.Linq.JArray"/> at the specified index.
+            </summary>
+            <param name="index">The zero-based index at which <paramref name="item"/> should be inserted.</param>
+            <param name="item">The object to insert into the <see cref="T:LC.Newtonsoft.Json.Linq.JArray"/>.</param>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            <paramref name="index"/> is not a valid index in the <see cref="T:LC.Newtonsoft.Json.Linq.JArray"/>.
+            </exception>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JArray.RemoveAt(System.Int32)">
+            <summary>
+            Removes the <see cref="T:LC.Newtonsoft.Json.Linq.JArray"/> item at the specified index.
+            </summary>
+            <param name="index">The zero-based index of the item to remove.</param>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            <paramref name="index"/> is not a valid index in the <see cref="T:LC.Newtonsoft.Json.Linq.JArray"/>.
+            </exception>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JArray.GetEnumerator">
+            <summary>
+            Returns an enumerator that iterates through the collection.
+            </summary>
+            <returns>
+            A <see cref="T:System.Collections.Generic.IEnumerator`1"/> of <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> that can be used to iterate through the collection.
+            </returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JArray.Add(LC.Newtonsoft.Json.Linq.JToken)">
+            <summary>
+            Adds an item to the <see cref="T:LC.Newtonsoft.Json.Linq.JArray"/>.
+            </summary>
+            <param name="item">The object to add to the <see cref="T:LC.Newtonsoft.Json.Linq.JArray"/>.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JArray.Clear">
+            <summary>
+            Removes all items from the <see cref="T:LC.Newtonsoft.Json.Linq.JArray"/>.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JArray.Contains(LC.Newtonsoft.Json.Linq.JToken)">
+            <summary>
+            Determines whether the <see cref="T:LC.Newtonsoft.Json.Linq.JArray"/> contains a specific value.
+            </summary>
+            <param name="item">The object to locate in the <see cref="T:LC.Newtonsoft.Json.Linq.JArray"/>.</param>
+            <returns>
+            <c>true</c> if <paramref name="item"/> is found in the <see cref="T:LC.Newtonsoft.Json.Linq.JArray"/>; otherwise, <c>false</c>.
+            </returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JArray.CopyTo(LC.Newtonsoft.Json.Linq.JToken[],System.Int32)">
+            <summary>
+            Copies the elements of the <see cref="T:LC.Newtonsoft.Json.Linq.JArray"/> to an array, starting at a particular array index.
+            </summary>
+            <param name="array">The array.</param>
+            <param name="arrayIndex">Index of the array.</param>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Linq.JArray.IsReadOnly">
+            <summary>
+            Gets a value indicating whether the <see cref="T:LC.Newtonsoft.Json.Linq.JArray"/> is read-only.
+            </summary>
+            <returns><c>true</c> if the <see cref="T:LC.Newtonsoft.Json.Linq.JArray"/> is read-only; otherwise, <c>false</c>.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JArray.Remove(LC.Newtonsoft.Json.Linq.JToken)">
+            <summary>
+            Removes the first occurrence of a specific object from the <see cref="T:LC.Newtonsoft.Json.Linq.JArray"/>.
+            </summary>
+            <param name="item">The object to remove from the <see cref="T:LC.Newtonsoft.Json.Linq.JArray"/>.</param>
+            <returns>
+            <c>true</c> if <paramref name="item"/> was successfully removed from the <see cref="T:LC.Newtonsoft.Json.Linq.JArray"/>; otherwise, <c>false</c>. This method also returns <c>false</c> if <paramref name="item"/> is not found in the original <see cref="T:LC.Newtonsoft.Json.Linq.JArray"/>.
+            </returns>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Linq.JConstructor">
+            <summary>
+            Represents a JSON constructor.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JConstructor.WriteToAsync(LC.Newtonsoft.Json.JsonWriter,System.Threading.CancellationToken,LC.Newtonsoft.Json.JsonConverter[])">
+            <summary>
+            Writes this token to a <see cref="T:LC.Newtonsoft.Json.JsonWriter"/> asynchronously.
+            </summary>
+            <param name="writer">A <see cref="T:LC.Newtonsoft.Json.JsonWriter"/> into which this method will write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests.</param>
+            <param name="converters">A collection of <see cref="T:LC.Newtonsoft.Json.JsonConverter"/> which will be used when writing the token.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous write operation.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JConstructor.LoadAsync(LC.Newtonsoft.Json.JsonReader,System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously loads a <see cref="T:LC.Newtonsoft.Json.Linq.JConstructor"/> from a <see cref="T:LC.Newtonsoft.Json.JsonReader"/>.
+            </summary>
+            <param name="reader">A <see cref="T:LC.Newtonsoft.Json.JsonReader"/> that will be read for the content of the <see cref="T:LC.Newtonsoft.Json.Linq.JConstructor"/>.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>
+            A <see cref="T:System.Threading.Tasks.Task`1"/> that represents the asynchronous load. The <see cref="P:System.Threading.Tasks.Task`1.Result"/>
+            property returns a <see cref="T:LC.Newtonsoft.Json.Linq.JConstructor"/> that contains the JSON that was read from the specified <see cref="T:LC.Newtonsoft.Json.JsonReader"/>.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JConstructor.LoadAsync(LC.Newtonsoft.Json.JsonReader,LC.Newtonsoft.Json.Linq.JsonLoadSettings,System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously loads a <see cref="T:LC.Newtonsoft.Json.Linq.JConstructor"/> from a <see cref="T:LC.Newtonsoft.Json.JsonReader"/>.
+            </summary>
+            <param name="reader">A <see cref="T:LC.Newtonsoft.Json.JsonReader"/> that will be read for the content of the <see cref="T:LC.Newtonsoft.Json.Linq.JConstructor"/>.</param>
+            <param name="settings">The <see cref="T:LC.Newtonsoft.Json.Linq.JsonLoadSettings"/> used to load the JSON.
+            If this is <c>null</c>, default load settings will be used.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>
+            A <see cref="T:System.Threading.Tasks.Task`1"/> that represents the asynchronous load. The <see cref="P:System.Threading.Tasks.Task`1.Result"/>
+            property returns a <see cref="T:LC.Newtonsoft.Json.Linq.JConstructor"/> that contains the JSON that was read from the specified <see cref="T:LC.Newtonsoft.Json.JsonReader"/>.</returns>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Linq.JConstructor.ChildrenTokens">
+            <summary>
+            Gets the container's children tokens.
+            </summary>
+            <value>The container's children tokens.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Linq.JConstructor.Name">
+            <summary>
+            Gets or sets the name of this constructor.
+            </summary>
+            <value>The constructor name.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Linq.JConstructor.Type">
+            <summary>
+            Gets the node type for this <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.
+            </summary>
+            <value>The type.</value>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JConstructor.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Linq.JConstructor"/> class.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JConstructor.#ctor(LC.Newtonsoft.Json.Linq.JConstructor)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Linq.JConstructor"/> class from another <see cref="T:LC.Newtonsoft.Json.Linq.JConstructor"/> object.
+            </summary>
+            <param name="other">A <see cref="T:LC.Newtonsoft.Json.Linq.JConstructor"/> object to copy from.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JConstructor.#ctor(System.String,System.Object[])">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Linq.JConstructor"/> class with the specified name and content.
+            </summary>
+            <param name="name">The constructor name.</param>
+            <param name="content">The contents of the constructor.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JConstructor.#ctor(System.String,System.Object)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Linq.JConstructor"/> class with the specified name and content.
+            </summary>
+            <param name="name">The constructor name.</param>
+            <param name="content">The contents of the constructor.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JConstructor.#ctor(System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Linq.JConstructor"/> class with the specified name.
+            </summary>
+            <param name="name">The constructor name.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JConstructor.WriteTo(LC.Newtonsoft.Json.JsonWriter,LC.Newtonsoft.Json.JsonConverter[])">
+            <summary>
+            Writes this token to a <see cref="T:LC.Newtonsoft.Json.JsonWriter"/>.
+            </summary>
+            <param name="writer">A <see cref="T:LC.Newtonsoft.Json.JsonWriter"/> into which this method will write.</param>
+            <param name="converters">A collection of <see cref="T:LC.Newtonsoft.Json.JsonConverter"/> which will be used when writing the token.</param>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Linq.JConstructor.Item(System.Object)">
+            <summary>
+            Gets the <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> with the specified key.
+            </summary>
+            <value>The <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> with the specified key.</value>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JConstructor.Load(LC.Newtonsoft.Json.JsonReader)">
+            <summary>
+            Loads a <see cref="T:LC.Newtonsoft.Json.Linq.JConstructor"/> from a <see cref="T:LC.Newtonsoft.Json.JsonReader"/>.
+            </summary>
+            <param name="reader">A <see cref="T:LC.Newtonsoft.Json.JsonReader"/> that will be read for the content of the <see cref="T:LC.Newtonsoft.Json.Linq.JConstructor"/>.</param>
+            <returns>A <see cref="T:LC.Newtonsoft.Json.Linq.JConstructor"/> that contains the JSON that was read from the specified <see cref="T:LC.Newtonsoft.Json.JsonReader"/>.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JConstructor.Load(LC.Newtonsoft.Json.JsonReader,LC.Newtonsoft.Json.Linq.JsonLoadSettings)">
+            <summary>
+            Loads a <see cref="T:LC.Newtonsoft.Json.Linq.JConstructor"/> from a <see cref="T:LC.Newtonsoft.Json.JsonReader"/>.
+            </summary>
+            <param name="reader">A <see cref="T:LC.Newtonsoft.Json.JsonReader"/> that will be read for the content of the <see cref="T:LC.Newtonsoft.Json.Linq.JConstructor"/>.</param>
+            <param name="settings">The <see cref="T:LC.Newtonsoft.Json.Linq.JsonLoadSettings"/> used to load the JSON.
+            If this is <c>null</c>, default load settings will be used.</param>
+            <returns>A <see cref="T:LC.Newtonsoft.Json.Linq.JConstructor"/> that contains the JSON that was read from the specified <see cref="T:LC.Newtonsoft.Json.JsonReader"/>.</returns>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Linq.JContainer">
+            <summary>
+            Represents a token that can contain other tokens.
+            </summary>
+        </member>
+        <member name="E:LC.Newtonsoft.Json.Linq.JContainer.ListChanged">
+            <summary>
+            Occurs when the list changes or an item in the list changes.
+            </summary>
+        </member>
+        <member name="E:LC.Newtonsoft.Json.Linq.JContainer.AddingNew">
+            <summary>
+            Occurs before an item is added to the collection.
+            </summary>
+        </member>
+        <member name="E:LC.Newtonsoft.Json.Linq.JContainer.CollectionChanged">
+            <summary>
+            Occurs when the items list of the collection has changed, or the collection is reset.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Linq.JContainer.ChildrenTokens">
+            <summary>
+            Gets the container's children tokens.
+            </summary>
+            <value>The container's children tokens.</value>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JContainer.OnAddingNew(System.ComponentModel.AddingNewEventArgs)">
+            <summary>
+            Raises the <see cref="E:LC.Newtonsoft.Json.Linq.JContainer.AddingNew"/> event.
+            </summary>
+            <param name="e">The <see cref="T:System.ComponentModel.AddingNewEventArgs"/> instance containing the event data.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JContainer.OnListChanged(System.ComponentModel.ListChangedEventArgs)">
+            <summary>
+            Raises the <see cref="E:LC.Newtonsoft.Json.Linq.JContainer.ListChanged"/> event.
+            </summary>
+            <param name="e">The <see cref="T:System.ComponentModel.ListChangedEventArgs"/> instance containing the event data.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JContainer.OnCollectionChanged(System.Collections.Specialized.NotifyCollectionChangedEventArgs)">
+            <summary>
+            Raises the <see cref="E:LC.Newtonsoft.Json.Linq.JContainer.CollectionChanged"/> event.
+            </summary>
+            <param name="e">The <see cref="T:System.Collections.Specialized.NotifyCollectionChangedEventArgs"/> instance containing the event data.</param>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Linq.JContainer.HasValues">
+            <summary>
+            Gets a value indicating whether this token has child tokens.
+            </summary>
+            <value>
+            	<c>true</c> if this token has child values; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Linq.JContainer.First">
+            <summary>
+            Get the first child token of this token.
+            </summary>
+            <value>
+            A <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> containing the first child token of the <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.
+            </value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Linq.JContainer.Last">
+            <summary>
+            Get the last child token of this token.
+            </summary>
+            <value>
+            A <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> containing the last child token of the <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.
+            </value>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JContainer.Children">
+            <summary>
+            Returns a collection of the child tokens of this token, in document order.
+            </summary>
+            <returns>
+            An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> containing the child tokens of this <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>, in document order.
+            </returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JContainer.Values``1">
+            <summary>
+            Returns a collection of the child values of this token, in document order.
+            </summary>
+            <typeparam name="T">The type to convert the values to.</typeparam>
+            <returns>
+            A <see cref="T:System.Collections.Generic.IEnumerable`1"/> containing the child values of this <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>, in document order.
+            </returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JContainer.Descendants">
+            <summary>
+            Returns a collection of the descendant tokens for this token in document order.
+            </summary>
+            <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> containing the descendant tokens of the <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JContainer.DescendantsAndSelf">
+            <summary>
+            Returns a collection of the tokens that contain this token, and all descendant tokens of this token, in document order.
+            </summary>
+            <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> containing this token, and all the descendant tokens of the <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JContainer.Add(System.Object)">
+            <summary>
+            Adds the specified content as children of this <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.
+            </summary>
+            <param name="content">The content to be added.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JContainer.AddFirst(System.Object)">
+            <summary>
+            Adds the specified content as the first children of this <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.
+            </summary>
+            <param name="content">The content to be added.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JContainer.CreateWriter">
+            <summary>
+            Creates a <see cref="T:LC.Newtonsoft.Json.JsonWriter"/> that can be used to add tokens to the <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.
+            </summary>
+            <returns>A <see cref="T:LC.Newtonsoft.Json.JsonWriter"/> that is ready to have content written to it.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JContainer.ReplaceAll(System.Object)">
+            <summary>
+            Replaces the child nodes of this token with the specified content.
+            </summary>
+            <param name="content">The content.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JContainer.RemoveAll">
+            <summary>
+            Removes the child nodes from this token.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JContainer.Merge(System.Object)">
+            <summary>
+            Merge the specified content into this <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.
+            </summary>
+            <param name="content">The content to be merged.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JContainer.Merge(System.Object,LC.Newtonsoft.Json.Linq.JsonMergeSettings)">
+            <summary>
+            Merge the specified content into this <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> using <see cref="T:LC.Newtonsoft.Json.Linq.JsonMergeSettings"/>.
+            </summary>
+            <param name="content">The content to be merged.</param>
+            <param name="settings">The <see cref="T:LC.Newtonsoft.Json.Linq.JsonMergeSettings"/> used to merge the content.</param>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Linq.JContainer.Count">
+            <summary>
+            Gets the count of child JSON tokens.
+            </summary>
+            <value>The count of child JSON tokens.</value>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Linq.JEnumerable`1">
+            <summary>
+            Represents a collection of <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> objects.
+            </summary>
+            <typeparam name="T">The type of token.</typeparam>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.Linq.JEnumerable`1.Empty">
+            <summary>
+            An empty collection of <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> objects.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JEnumerable`1.#ctor(System.Collections.Generic.IEnumerable{`0})">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Linq.JEnumerable`1"/> struct.
+            </summary>
+            <param name="enumerable">The enumerable.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JEnumerable`1.GetEnumerator">
+            <summary>
+            Returns an enumerator that can be used to iterate through the collection.
+            </summary>
+            <returns>
+            A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.
+            </returns>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Linq.JEnumerable`1.Item(System.Object)">
+            <summary>
+            Gets the <see cref="T:LC.Newtonsoft.Json.Linq.IJEnumerable`1"/> of <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> with the specified key.
+            </summary>
+            <value></value>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JEnumerable`1.Equals(LC.Newtonsoft.Json.Linq.JEnumerable{`0})">
+            <summary>
+            Determines whether the specified <see cref="T:LC.Newtonsoft.Json.Linq.JEnumerable`1"/> is equal to this instance.
+            </summary>
+            <param name="other">The <see cref="T:LC.Newtonsoft.Json.Linq.JEnumerable`1"/> to compare with this instance.</param>
+            <returns>
+            	<c>true</c> if the specified <see cref="T:LC.Newtonsoft.Json.Linq.JEnumerable`1"/> is equal to this instance; otherwise, <c>false</c>.
+            </returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JEnumerable`1.Equals(System.Object)">
+            <summary>
+            Determines whether the specified <see cref="T:System.Object"/> is equal to this instance.
+            </summary>
+            <param name="obj">The <see cref="T:System.Object"/> to compare with this instance.</param>
+            <returns>
+            	<c>true</c> if the specified <see cref="T:System.Object"/> is equal to this instance; otherwise, <c>false</c>.
+            </returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JEnumerable`1.GetHashCode">
+            <summary>
+            Returns a hash code for this instance.
+            </summary>
+            <returns>
+            A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. 
+            </returns>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Linq.JObject">
+            <summary>
+            Represents a JSON object.
+            </summary>
+            <example>
+              <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\LinqToJsonTests.cs" region="LinqToJsonCreateParse" title="Parsing a JSON Object from Text" />
+            </example>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JObject.WriteToAsync(LC.Newtonsoft.Json.JsonWriter,System.Threading.CancellationToken,LC.Newtonsoft.Json.JsonConverter[])">
+            <summary>
+            Writes this token to a <see cref="T:LC.Newtonsoft.Json.JsonWriter"/> asynchronously.
+            </summary>
+            <param name="writer">A <see cref="T:LC.Newtonsoft.Json.JsonWriter"/> into which this method will write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests.</param>
+            <param name="converters">A collection of <see cref="T:LC.Newtonsoft.Json.JsonConverter"/> which will be used when writing the token.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous write operation.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JObject.LoadAsync(LC.Newtonsoft.Json.JsonReader,System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously loads a <see cref="T:LC.Newtonsoft.Json.Linq.JObject"/> from a <see cref="T:LC.Newtonsoft.Json.JsonReader"/>.
+            </summary>
+            <param name="reader">A <see cref="T:LC.Newtonsoft.Json.JsonReader"/> that will be read for the content of the <see cref="T:LC.Newtonsoft.Json.Linq.JObject"/>.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>
+            A <see cref="T:System.Threading.Tasks.Task`1"/> that represents the asynchronous load. The <see cref="P:System.Threading.Tasks.Task`1.Result"/>
+            property returns a <see cref="T:LC.Newtonsoft.Json.Linq.JObject"/> that contains the JSON that was read from the specified <see cref="T:LC.Newtonsoft.Json.JsonReader"/>.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JObject.LoadAsync(LC.Newtonsoft.Json.JsonReader,LC.Newtonsoft.Json.Linq.JsonLoadSettings,System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously loads a <see cref="T:LC.Newtonsoft.Json.Linq.JObject"/> from a <see cref="T:LC.Newtonsoft.Json.JsonReader"/>.
+            </summary>
+            <param name="reader">A <see cref="T:LC.Newtonsoft.Json.JsonReader"/> that will be read for the content of the <see cref="T:LC.Newtonsoft.Json.Linq.JObject"/>.</param>
+            <param name="settings">The <see cref="T:LC.Newtonsoft.Json.Linq.JsonLoadSettings"/> used to load the JSON.
+            If this is <c>null</c>, default load settings will be used.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>
+            A <see cref="T:System.Threading.Tasks.Task`1"/> that represents the asynchronous load. The <see cref="P:System.Threading.Tasks.Task`1.Result"/>
+            property returns a <see cref="T:LC.Newtonsoft.Json.Linq.JObject"/> that contains the JSON that was read from the specified <see cref="T:LC.Newtonsoft.Json.JsonReader"/>.</returns>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Linq.JObject.ChildrenTokens">
+            <summary>
+            Gets the container's children tokens.
+            </summary>
+            <value>The container's children tokens.</value>
+        </member>
+        <member name="E:LC.Newtonsoft.Json.Linq.JObject.PropertyChanged">
+            <summary>
+            Occurs when a property value changes.
+            </summary>
+        </member>
+        <member name="E:LC.Newtonsoft.Json.Linq.JObject.PropertyChanging">
+            <summary>
+            Occurs when a property value is changing.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JObject.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Linq.JObject"/> class.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JObject.#ctor(LC.Newtonsoft.Json.Linq.JObject)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Linq.JObject"/> class from another <see cref="T:LC.Newtonsoft.Json.Linq.JObject"/> object.
+            </summary>
+            <param name="other">A <see cref="T:LC.Newtonsoft.Json.Linq.JObject"/> object to copy from.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JObject.#ctor(System.Object[])">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Linq.JObject"/> class with the specified content.
+            </summary>
+            <param name="content">The contents of the object.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JObject.#ctor(System.Object)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Linq.JObject"/> class with the specified content.
+            </summary>
+            <param name="content">The contents of the object.</param>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Linq.JObject.Type">
+            <summary>
+            Gets the node type for this <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.
+            </summary>
+            <value>The type.</value>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JObject.Properties">
+            <summary>
+            Gets an <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:LC.Newtonsoft.Json.Linq.JProperty"/> of this object's properties.
+            </summary>
+            <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:LC.Newtonsoft.Json.Linq.JProperty"/> of this object's properties.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JObject.Property(System.String)">
+            <summary>
+            Gets a <see cref="T:LC.Newtonsoft.Json.Linq.JProperty"/> with the specified name.
+            </summary>
+            <param name="name">The property name.</param>
+            <returns>A <see cref="T:LC.Newtonsoft.Json.Linq.JProperty"/> with the specified name or <c>null</c>.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JObject.Property(System.String,System.StringComparison)">
+            <summary>
+            Gets the <see cref="T:LC.Newtonsoft.Json.Linq.JProperty"/> with the specified name.
+            The exact name will be searched for first and if no matching property is found then
+            the <see cref="T:System.StringComparison"/> will be used to match a property.
+            </summary>
+            <param name="name">The property name.</param>
+            <param name="comparison">One of the enumeration values that specifies how the strings will be compared.</param>
+            <returns>A <see cref="T:LC.Newtonsoft.Json.Linq.JProperty"/> matched with the specified name or <c>null</c>.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JObject.PropertyValues">
+            <summary>
+            Gets a <see cref="T:LC.Newtonsoft.Json.Linq.JEnumerable`1"/> of <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> of this object's property values.
+            </summary>
+            <returns>A <see cref="T:LC.Newtonsoft.Json.Linq.JEnumerable`1"/> of <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> of this object's property values.</returns>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Linq.JObject.Item(System.Object)">
+            <summary>
+            Gets the <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> with the specified key.
+            </summary>
+            <value>The <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> with the specified key.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Linq.JObject.Item(System.String)">
+            <summary>
+            Gets or sets the <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> with the specified property name.
+            </summary>
+            <value></value>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JObject.Load(LC.Newtonsoft.Json.JsonReader)">
+            <summary>
+            Loads a <see cref="T:LC.Newtonsoft.Json.Linq.JObject"/> from a <see cref="T:LC.Newtonsoft.Json.JsonReader"/>.
+            </summary>
+            <param name="reader">A <see cref="T:LC.Newtonsoft.Json.JsonReader"/> that will be read for the content of the <see cref="T:LC.Newtonsoft.Json.Linq.JObject"/>.</param>
+            <returns>A <see cref="T:LC.Newtonsoft.Json.Linq.JObject"/> that contains the JSON that was read from the specified <see cref="T:LC.Newtonsoft.Json.JsonReader"/>.</returns>
+            <exception cref="T:LC.Newtonsoft.Json.JsonReaderException">
+                <paramref name="reader"/> is not valid JSON.
+            </exception>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JObject.Load(LC.Newtonsoft.Json.JsonReader,LC.Newtonsoft.Json.Linq.JsonLoadSettings)">
+            <summary>
+            Loads a <see cref="T:LC.Newtonsoft.Json.Linq.JObject"/> from a <see cref="T:LC.Newtonsoft.Json.JsonReader"/>.
+            </summary>
+            <param name="reader">A <see cref="T:LC.Newtonsoft.Json.JsonReader"/> that will be read for the content of the <see cref="T:LC.Newtonsoft.Json.Linq.JObject"/>.</param>
+            <param name="settings">The <see cref="T:LC.Newtonsoft.Json.Linq.JsonLoadSettings"/> used to load the JSON.
+            If this is <c>null</c>, default load settings will be used.</param>
+            <returns>A <see cref="T:LC.Newtonsoft.Json.Linq.JObject"/> that contains the JSON that was read from the specified <see cref="T:LC.Newtonsoft.Json.JsonReader"/>.</returns>
+            <exception cref="T:LC.Newtonsoft.Json.JsonReaderException">
+                <paramref name="reader"/> is not valid JSON.
+            </exception>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JObject.Parse(System.String)">
+            <summary>
+            Load a <see cref="T:LC.Newtonsoft.Json.Linq.JObject"/> from a string that contains JSON.
+            </summary>
+            <param name="json">A <see cref="T:System.String"/> that contains JSON.</param>
+            <returns>A <see cref="T:LC.Newtonsoft.Json.Linq.JObject"/> populated from the string that contains JSON.</returns>
+            <exception cref="T:LC.Newtonsoft.Json.JsonReaderException">
+                <paramref name="json"/> is not valid JSON.
+            </exception>
+            <example>
+              <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\LinqToJsonTests.cs" region="LinqToJsonCreateParse" title="Parsing a JSON Object from Text" />
+            </example>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JObject.Parse(System.String,LC.Newtonsoft.Json.Linq.JsonLoadSettings)">
+            <summary>
+            Load a <see cref="T:LC.Newtonsoft.Json.Linq.JObject"/> from a string that contains JSON.
+            </summary>
+            <param name="json">A <see cref="T:System.String"/> that contains JSON.</param>
+            <param name="settings">The <see cref="T:LC.Newtonsoft.Json.Linq.JsonLoadSettings"/> used to load the JSON.
+            If this is <c>null</c>, default load settings will be used.</param>
+            <returns>A <see cref="T:LC.Newtonsoft.Json.Linq.JObject"/> populated from the string that contains JSON.</returns>
+            <exception cref="T:LC.Newtonsoft.Json.JsonReaderException">
+                <paramref name="json"/> is not valid JSON.
+            </exception>
+            <example>
+              <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\LinqToJsonTests.cs" region="LinqToJsonCreateParse" title="Parsing a JSON Object from Text" />
+            </example>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JObject.FromObject(System.Object)">
+            <summary>
+            Creates a <see cref="T:LC.Newtonsoft.Json.Linq.JObject"/> from an object.
+            </summary>
+            <param name="o">The object that will be used to create <see cref="T:LC.Newtonsoft.Json.Linq.JObject"/>.</param>
+            <returns>A <see cref="T:LC.Newtonsoft.Json.Linq.JObject"/> with the values of the specified object.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JObject.FromObject(System.Object,LC.Newtonsoft.Json.JsonSerializer)">
+            <summary>
+            Creates a <see cref="T:LC.Newtonsoft.Json.Linq.JObject"/> from an object.
+            </summary>
+            <param name="o">The object that will be used to create <see cref="T:LC.Newtonsoft.Json.Linq.JObject"/>.</param>
+            <param name="jsonSerializer">The <see cref="T:LC.Newtonsoft.Json.JsonSerializer"/> that will be used to read the object.</param>
+            <returns>A <see cref="T:LC.Newtonsoft.Json.Linq.JObject"/> with the values of the specified object.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JObject.WriteTo(LC.Newtonsoft.Json.JsonWriter,LC.Newtonsoft.Json.JsonConverter[])">
+            <summary>
+            Writes this token to a <see cref="T:LC.Newtonsoft.Json.JsonWriter"/>.
+            </summary>
+            <param name="writer">A <see cref="T:LC.Newtonsoft.Json.JsonWriter"/> into which this method will write.</param>
+            <param name="converters">A collection of <see cref="T:LC.Newtonsoft.Json.JsonConverter"/> which will be used when writing the token.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JObject.GetValue(System.String)">
+            <summary>
+            Gets the <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> with the specified property name.
+            </summary>
+            <param name="propertyName">Name of the property.</param>
+            <returns>The <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> with the specified property name.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JObject.GetValue(System.String,System.StringComparison)">
+            <summary>
+            Gets the <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> with the specified property name.
+            The exact property name will be searched for first and if no matching property is found then
+            the <see cref="T:System.StringComparison"/> will be used to match a property.
+            </summary>
+            <param name="propertyName">Name of the property.</param>
+            <param name="comparison">One of the enumeration values that specifies how the strings will be compared.</param>
+            <returns>The <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> with the specified property name.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JObject.TryGetValue(System.String,System.StringComparison,LC.Newtonsoft.Json.Linq.JToken@)">
+            <summary>
+            Tries to get the <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> with the specified property name.
+            The exact property name will be searched for first and if no matching property is found then
+            the <see cref="T:System.StringComparison"/> will be used to match a property.
+            </summary>
+            <param name="propertyName">Name of the property.</param>
+            <param name="value">The value.</param>
+            <param name="comparison">One of the enumeration values that specifies how the strings will be compared.</param>
+            <returns><c>true</c> if a value was successfully retrieved; otherwise, <c>false</c>.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JObject.Add(System.String,LC.Newtonsoft.Json.Linq.JToken)">
+            <summary>
+            Adds the specified property name.
+            </summary>
+            <param name="propertyName">Name of the property.</param>
+            <param name="value">The value.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JObject.ContainsKey(System.String)">
+            <summary>
+            Determines whether the JSON object has the specified property name.
+            </summary>
+            <param name="propertyName">Name of the property.</param>
+            <returns><c>true</c> if the JSON object has the specified property name; otherwise, <c>false</c>.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JObject.Remove(System.String)">
+            <summary>
+            Removes the property with the specified name.
+            </summary>
+            <param name="propertyName">Name of the property.</param>
+            <returns><c>true</c> if item was successfully removed; otherwise, <c>false</c>.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JObject.TryGetValue(System.String,LC.Newtonsoft.Json.Linq.JToken@)">
+            <summary>
+            Tries to get the <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> with the specified property name.
+            </summary>
+            <param name="propertyName">Name of the property.</param>
+            <param name="value">The value.</param>
+            <returns><c>true</c> if a value was successfully retrieved; otherwise, <c>false</c>.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JObject.GetEnumerator">
+            <summary>
+            Returns an enumerator that can be used to iterate through the collection.
+            </summary>
+            <returns>
+            A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.
+            </returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JObject.OnPropertyChanged(System.String)">
+            <summary>
+            Raises the <see cref="E:LC.Newtonsoft.Json.Linq.JObject.PropertyChanged"/> event with the provided arguments.
+            </summary>
+            <param name="propertyName">Name of the property.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JObject.OnPropertyChanging(System.String)">
+            <summary>
+            Raises the <see cref="E:LC.Newtonsoft.Json.Linq.JObject.PropertyChanging"/> event with the provided arguments.
+            </summary>
+            <param name="propertyName">Name of the property.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JObject.GetMetaObject(System.Linq.Expressions.Expression)">
+            <summary>
+            Returns the <see cref="T:System.Dynamic.DynamicMetaObject"/> responsible for binding operations performed on this object.
+            </summary>
+            <param name="parameter">The expression tree representation of the runtime value.</param>
+            <returns>
+            The <see cref="T:System.Dynamic.DynamicMetaObject"/> to bind this object.
+            </returns>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Linq.JProperty">
+            <summary>
+            Represents a JSON property.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JProperty.WriteToAsync(LC.Newtonsoft.Json.JsonWriter,System.Threading.CancellationToken,LC.Newtonsoft.Json.JsonConverter[])">
+            <summary>
+            Writes this token to a <see cref="T:LC.Newtonsoft.Json.JsonWriter"/> asynchronously.
+            </summary>
+            <param name="writer">A <see cref="T:LC.Newtonsoft.Json.JsonWriter"/> into which this method will write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests.</param>
+            <param name="converters">A collection of <see cref="T:LC.Newtonsoft.Json.JsonConverter"/> which will be used when writing the token.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous write operation.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JProperty.LoadAsync(LC.Newtonsoft.Json.JsonReader,System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously loads a <see cref="T:LC.Newtonsoft.Json.Linq.JProperty"/> from a <see cref="T:LC.Newtonsoft.Json.JsonReader"/>.
+            </summary>
+            <param name="reader">A <see cref="T:LC.Newtonsoft.Json.JsonReader"/> that will be read for the content of the <see cref="T:LC.Newtonsoft.Json.Linq.JProperty"/>.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task`1"/> representing the asynchronous creation. The <see cref="P:System.Threading.Tasks.Task`1.Result"/>
+            property returns a <see cref="T:LC.Newtonsoft.Json.Linq.JProperty"/> that contains the JSON that was read from the specified <see cref="T:LC.Newtonsoft.Json.JsonReader"/>.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JProperty.LoadAsync(LC.Newtonsoft.Json.JsonReader,LC.Newtonsoft.Json.Linq.JsonLoadSettings,System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously loads a <see cref="T:LC.Newtonsoft.Json.Linq.JProperty"/> from a <see cref="T:LC.Newtonsoft.Json.JsonReader"/>.
+            </summary>
+            <param name="reader">A <see cref="T:LC.Newtonsoft.Json.JsonReader"/> that will be read for the content of the <see cref="T:LC.Newtonsoft.Json.Linq.JProperty"/>.</param>
+            <param name="settings">The <see cref="T:LC.Newtonsoft.Json.Linq.JsonLoadSettings"/> used to load the JSON.
+            If this is <c>null</c>, default load settings will be used.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task`1"/> representing the asynchronous creation. The <see cref="P:System.Threading.Tasks.Task`1.Result"/>
+            property returns a <see cref="T:LC.Newtonsoft.Json.Linq.JProperty"/> that contains the JSON that was read from the specified <see cref="T:LC.Newtonsoft.Json.JsonReader"/>.</returns>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Linq.JProperty.ChildrenTokens">
+            <summary>
+            Gets the container's children tokens.
+            </summary>
+            <value>The container's children tokens.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Linq.JProperty.Name">
+            <summary>
+            Gets the property name.
+            </summary>
+            <value>The property name.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Linq.JProperty.Value">
+            <summary>
+            Gets or sets the property value.
+            </summary>
+            <value>The property value.</value>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JProperty.#ctor(LC.Newtonsoft.Json.Linq.JProperty)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Linq.JProperty"/> class from another <see cref="T:LC.Newtonsoft.Json.Linq.JProperty"/> object.
+            </summary>
+            <param name="other">A <see cref="T:LC.Newtonsoft.Json.Linq.JProperty"/> object to copy from.</param>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Linq.JProperty.Type">
+            <summary>
+            Gets the node type for this <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.
+            </summary>
+            <value>The type.</value>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JProperty.#ctor(System.String,System.Object[])">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Linq.JProperty"/> class.
+            </summary>
+            <param name="name">The property name.</param>
+            <param name="content">The property content.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JProperty.#ctor(System.String,System.Object)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Linq.JProperty"/> class.
+            </summary>
+            <param name="name">The property name.</param>
+            <param name="content">The property content.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JProperty.WriteTo(LC.Newtonsoft.Json.JsonWriter,LC.Newtonsoft.Json.JsonConverter[])">
+            <summary>
+            Writes this token to a <see cref="T:LC.Newtonsoft.Json.JsonWriter"/>.
+            </summary>
+            <param name="writer">A <see cref="T:LC.Newtonsoft.Json.JsonWriter"/> into which this method will write.</param>
+            <param name="converters">A collection of <see cref="T:LC.Newtonsoft.Json.JsonConverter"/> which will be used when writing the token.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JProperty.Load(LC.Newtonsoft.Json.JsonReader)">
+            <summary>
+            Loads a <see cref="T:LC.Newtonsoft.Json.Linq.JProperty"/> from a <see cref="T:LC.Newtonsoft.Json.JsonReader"/>.
+            </summary>
+            <param name="reader">A <see cref="T:LC.Newtonsoft.Json.JsonReader"/> that will be read for the content of the <see cref="T:LC.Newtonsoft.Json.Linq.JProperty"/>.</param>
+            <returns>A <see cref="T:LC.Newtonsoft.Json.Linq.JProperty"/> that contains the JSON that was read from the specified <see cref="T:LC.Newtonsoft.Json.JsonReader"/>.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JProperty.Load(LC.Newtonsoft.Json.JsonReader,LC.Newtonsoft.Json.Linq.JsonLoadSettings)">
+            <summary>
+            Loads a <see cref="T:LC.Newtonsoft.Json.Linq.JProperty"/> from a <see cref="T:LC.Newtonsoft.Json.JsonReader"/>.
+            </summary>
+            <param name="reader">A <see cref="T:LC.Newtonsoft.Json.JsonReader"/> that will be read for the content of the <see cref="T:LC.Newtonsoft.Json.Linq.JProperty"/>.</param>
+            <param name="settings">The <see cref="T:LC.Newtonsoft.Json.Linq.JsonLoadSettings"/> used to load the JSON.
+            If this is <c>null</c>, default load settings will be used.</param>
+            <returns>A <see cref="T:LC.Newtonsoft.Json.Linq.JProperty"/> that contains the JSON that was read from the specified <see cref="T:LC.Newtonsoft.Json.JsonReader"/>.</returns>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Linq.JPropertyDescriptor">
+            <summary>
+            Represents a view of a <see cref="T:LC.Newtonsoft.Json.Linq.JProperty"/>.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JPropertyDescriptor.#ctor(System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Linq.JPropertyDescriptor"/> class.
+            </summary>
+            <param name="name">The name.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JPropertyDescriptor.CanResetValue(System.Object)">
+            <summary>
+            When overridden in a derived class, returns whether resetting an object changes its value.
+            </summary>
+            <returns>
+            <c>true</c> if resetting the component changes its value; otherwise, <c>false</c>.
+            </returns>
+            <param name="component">The component to test for reset capability.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JPropertyDescriptor.GetValue(System.Object)">
+            <summary>
+            When overridden in a derived class, gets the current value of the property on a component.
+            </summary>
+            <returns>
+            The value of a property for a given component.
+            </returns>
+            <param name="component">The component with the property for which to retrieve the value.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JPropertyDescriptor.ResetValue(System.Object)">
+            <summary>
+            When overridden in a derived class, resets the value for this property of the component to the default value.
+            </summary>
+            <param name="component">The component with the property value that is to be reset to the default value.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JPropertyDescriptor.SetValue(System.Object,System.Object)">
+            <summary>
+            When overridden in a derived class, sets the value of the component to a different value.
+            </summary>
+            <param name="component">The component with the property value that is to be set.</param>
+            <param name="value">The new value.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JPropertyDescriptor.ShouldSerializeValue(System.Object)">
+            <summary>
+            When overridden in a derived class, determines a value indicating whether the value of this property needs to be persisted.
+            </summary>
+            <returns>
+            <c>true</c> if the property should be persisted; otherwise, <c>false</c>.
+            </returns>
+            <param name="component">The component with the property to be examined for persistence.</param>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Linq.JPropertyDescriptor.ComponentType">
+            <summary>
+            When overridden in a derived class, gets the type of the component this property is bound to.
+            </summary>
+            <returns>
+            A <see cref="T:System.Type"/> that represents the type of component this property is bound to.
+            When the <see cref="M:System.ComponentModel.PropertyDescriptor.GetValue(System.Object)"/> or
+            <see cref="M:System.ComponentModel.PropertyDescriptor.SetValue(System.Object,System.Object)"/>
+            methods are invoked, the object specified might be an instance of this type.
+            </returns>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Linq.JPropertyDescriptor.IsReadOnly">
+            <summary>
+            When overridden in a derived class, gets a value indicating whether this property is read-only.
+            </summary>
+            <returns>
+            <c>true</c> if the property is read-only; otherwise, <c>false</c>.
+            </returns>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Linq.JPropertyDescriptor.PropertyType">
+            <summary>
+            When overridden in a derived class, gets the type of the property.
+            </summary>
+            <returns>
+            A <see cref="T:System.Type"/> that represents the type of the property.
+            </returns>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Linq.JPropertyDescriptor.NameHashCode">
+            <summary>
+            Gets the hash code for the name of the member.
+            </summary>
+            <value></value>
+            <returns>
+            The hash code for the name of the member.
+            </returns>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Linq.JRaw">
+            <summary>
+            Represents a raw JSON string.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JRaw.CreateAsync(LC.Newtonsoft.Json.JsonReader,System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously creates an instance of <see cref="T:LC.Newtonsoft.Json.Linq.JRaw"/> with the content of the reader's current token.
+            </summary>
+            <param name="reader">The reader.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task`1"/> representing the asynchronous creation. The <see cref="P:System.Threading.Tasks.Task`1.Result"/>
+            property returns an instance of <see cref="T:LC.Newtonsoft.Json.Linq.JRaw"/> with the content of the reader's current token.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JRaw.#ctor(LC.Newtonsoft.Json.Linq.JRaw)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Linq.JRaw"/> class from another <see cref="T:LC.Newtonsoft.Json.Linq.JRaw"/> object.
+            </summary>
+            <param name="other">A <see cref="T:LC.Newtonsoft.Json.Linq.JRaw"/> object to copy from.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JRaw.#ctor(System.Object)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Linq.JRaw"/> class.
+            </summary>
+            <param name="rawJson">The raw json.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JRaw.Create(LC.Newtonsoft.Json.JsonReader)">
+            <summary>
+            Creates an instance of <see cref="T:LC.Newtonsoft.Json.Linq.JRaw"/> with the content of the reader's current token.
+            </summary>
+            <param name="reader">The reader.</param>
+            <returns>An instance of <see cref="T:LC.Newtonsoft.Json.Linq.JRaw"/> with the content of the reader's current token.</returns>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Linq.JsonLoadSettings">
+            <summary>
+            Specifies the settings used when loading JSON.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JsonLoadSettings.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Linq.JsonLoadSettings"/> class.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Linq.JsonLoadSettings.CommentHandling">
+            <summary>
+            Gets or sets how JSON comments are handled when loading JSON.
+            The default value is <see cref="F:LC.Newtonsoft.Json.Linq.CommentHandling.Ignore" />.
+            </summary>
+            <value>The JSON comment handling.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Linq.JsonLoadSettings.LineInfoHandling">
+            <summary>
+            Gets or sets how JSON line info is handled when loading JSON.
+            The default value is <see cref="F:LC.Newtonsoft.Json.Linq.LineInfoHandling.Load" />.
+            </summary>
+            <value>The JSON line info handling.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Linq.JsonLoadSettings.DuplicatePropertyNameHandling">
+            <summary>
+            Gets or sets how duplicate property names in JSON objects are handled when loading JSON.
+            The default value is <see cref="F:LC.Newtonsoft.Json.Linq.DuplicatePropertyNameHandling.Replace" />.
+            </summary>
+            <value>The JSON duplicate property name handling.</value>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Linq.JsonMergeSettings">
+            <summary>
+            Specifies the settings used when merging JSON.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JsonMergeSettings.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Linq.JsonMergeSettings"/> class.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Linq.JsonMergeSettings.MergeArrayHandling">
+            <summary>
+            Gets or sets the method used when merging JSON arrays.
+            </summary>
+            <value>The method used when merging JSON arrays.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Linq.JsonMergeSettings.MergeNullValueHandling">
+            <summary>
+            Gets or sets how null value properties are merged.
+            </summary>
+            <value>How null value properties are merged.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Linq.JsonMergeSettings.PropertyNameComparison">
+            <summary>
+            Gets or sets the comparison used to match property names while merging.
+            The exact property name will be searched for first and if no matching property is found then
+            the <see cref="T:System.StringComparison"/> will be used to match a property.
+            </summary>
+            <value>The comparison used to match property names while merging.</value>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Linq.JToken">
+            <summary>
+            Represents an abstract JSON token.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.WriteToAsync(LC.Newtonsoft.Json.JsonWriter,System.Threading.CancellationToken,LC.Newtonsoft.Json.JsonConverter[])">
+            <summary>
+            Writes this token to a <see cref="T:LC.Newtonsoft.Json.JsonWriter"/> asynchronously.
+            </summary>
+            <param name="writer">A <see cref="T:LC.Newtonsoft.Json.JsonWriter"/> into which this method will write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests.</param>
+            <param name="converters">A collection of <see cref="T:LC.Newtonsoft.Json.JsonConverter"/> which will be used when writing the token.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous write operation.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.WriteToAsync(LC.Newtonsoft.Json.JsonWriter,LC.Newtonsoft.Json.JsonConverter[])">
+            <summary>
+            Writes this token to a <see cref="T:LC.Newtonsoft.Json.JsonWriter"/> asynchronously.
+            </summary>
+            <param name="writer">A <see cref="T:LC.Newtonsoft.Json.JsonWriter"/> into which this method will write.</param>
+            <param name="converters">A collection of <see cref="T:LC.Newtonsoft.Json.JsonConverter"/> which will be used when writing the token.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous write operation.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.ReadFromAsync(LC.Newtonsoft.Json.JsonReader,System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously creates a <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> from a <see cref="T:LC.Newtonsoft.Json.JsonReader"/>.
+            </summary>
+            <param name="reader">An <see cref="T:LC.Newtonsoft.Json.JsonReader"/> positioned at the token to read into this <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>
+            A <see cref="T:System.Threading.Tasks.Task`1"/> that represents the asynchronous creation. The
+            <see cref="P:System.Threading.Tasks.Task`1.Result"/> property returns a <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> that contains 
+            the token and its descendant tokens
+            that were read from the reader. The runtime type of the token is determined
+            by the token type of the first token encountered in the reader.
+            </returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.ReadFromAsync(LC.Newtonsoft.Json.JsonReader,LC.Newtonsoft.Json.Linq.JsonLoadSettings,System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously creates a <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> from a <see cref="T:LC.Newtonsoft.Json.JsonReader"/>.
+            </summary>
+            <param name="reader">An <see cref="T:LC.Newtonsoft.Json.JsonReader"/> positioned at the token to read into this <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.</param>
+            <param name="settings">The <see cref="T:LC.Newtonsoft.Json.Linq.JsonLoadSettings"/> used to load the JSON.
+            If this is <c>null</c>, default load settings will be used.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>
+            A <see cref="T:System.Threading.Tasks.Task`1"/> that represents the asynchronous creation. The
+            <see cref="P:System.Threading.Tasks.Task`1.Result"/> property returns a <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> that contains 
+            the token and its descendant tokens
+            that were read from the reader. The runtime type of the token is determined
+            by the token type of the first token encountered in the reader.
+            </returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.LoadAsync(LC.Newtonsoft.Json.JsonReader,System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously creates a <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> from a <see cref="T:LC.Newtonsoft.Json.JsonReader"/>.
+            </summary>
+            <param name="reader">A <see cref="T:LC.Newtonsoft.Json.JsonReader"/> positioned at the token to read into this <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>
+            A <see cref="T:System.Threading.Tasks.Task`1"/> that represents the asynchronous creation. The <see cref="P:System.Threading.Tasks.Task`1.Result"/>
+            property returns a <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> that contains the token and its descendant tokens
+            that were read from the reader. The runtime type of the token is determined
+            by the token type of the first token encountered in the reader.
+            </returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.LoadAsync(LC.Newtonsoft.Json.JsonReader,LC.Newtonsoft.Json.Linq.JsonLoadSettings,System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously creates a <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> from a <see cref="T:LC.Newtonsoft.Json.JsonReader"/>.
+            </summary>
+            <param name="reader">A <see cref="T:LC.Newtonsoft.Json.JsonReader"/> positioned at the token to read into this <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.</param>
+            <param name="settings">The <see cref="T:LC.Newtonsoft.Json.Linq.JsonLoadSettings"/> used to load the JSON.
+            If this is <c>null</c>, default load settings will be used.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"/>.</param>
+            <returns>
+            A <see cref="T:System.Threading.Tasks.Task`1"/> that represents the asynchronous creation. The <see cref="P:System.Threading.Tasks.Task`1.Result"/>
+            property returns a <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> that contains the token and its descendant tokens
+            that were read from the reader. The runtime type of the token is determined
+            by the token type of the first token encountered in the reader.
+            </returns>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Linq.JToken.EqualityComparer">
+            <summary>
+            Gets a comparer that can compare two tokens for value equality.
+            </summary>
+            <value>A <see cref="T:LC.Newtonsoft.Json.Linq.JTokenEqualityComparer"/> that can compare two nodes for value equality.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Linq.JToken.Parent">
+            <summary>
+            Gets or sets the parent.
+            </summary>
+            <value>The parent.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Linq.JToken.Root">
+            <summary>
+            Gets the root <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> of this <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.
+            </summary>
+            <value>The root <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> of this <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Linq.JToken.Type">
+            <summary>
+            Gets the node type for this <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.
+            </summary>
+            <value>The type.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Linq.JToken.HasValues">
+            <summary>
+            Gets a value indicating whether this token has child tokens.
+            </summary>
+            <value>
+            	<c>true</c> if this token has child values; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.DeepEquals(LC.Newtonsoft.Json.Linq.JToken,LC.Newtonsoft.Json.Linq.JToken)">
+            <summary>
+            Compares the values of two tokens, including the values of all descendant tokens.
+            </summary>
+            <param name="t1">The first <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> to compare.</param>
+            <param name="t2">The second <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> to compare.</param>
+            <returns><c>true</c> if the tokens are equal; otherwise <c>false</c>.</returns>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Linq.JToken.Next">
+            <summary>
+            Gets the next sibling token of this node.
+            </summary>
+            <value>The <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> that contains the next sibling token.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Linq.JToken.Previous">
+            <summary>
+            Gets the previous sibling token of this node.
+            </summary>
+            <value>The <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> that contains the previous sibling token.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Linq.JToken.Path">
+            <summary>
+            Gets the path of the JSON token. 
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.AddAfterSelf(System.Object)">
+            <summary>
+            Adds the specified content immediately after this token.
+            </summary>
+            <param name="content">A content object that contains simple content or a collection of content objects to be added after this token.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.AddBeforeSelf(System.Object)">
+            <summary>
+            Adds the specified content immediately before this token.
+            </summary>
+            <param name="content">A content object that contains simple content or a collection of content objects to be added before this token.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.Ancestors">
+            <summary>
+            Returns a collection of the ancestor tokens of this token.
+            </summary>
+            <returns>A collection of the ancestor tokens of this token.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.AncestorsAndSelf">
+            <summary>
+            Returns a collection of tokens that contain this token, and the ancestors of this token.
+            </summary>
+            <returns>A collection of tokens that contain this token, and the ancestors of this token.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.AfterSelf">
+            <summary>
+            Returns a collection of the sibling tokens after this token, in document order.
+            </summary>
+            <returns>A collection of the sibling tokens after this tokens, in document order.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.BeforeSelf">
+            <summary>
+            Returns a collection of the sibling tokens before this token, in document order.
+            </summary>
+            <returns>A collection of the sibling tokens before this token, in document order.</returns>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Linq.JToken.Item(System.Object)">
+            <summary>
+            Gets the <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> with the specified key.
+            </summary>
+            <value>The <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> with the specified key.</value>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.Value``1(System.Object)">
+            <summary>
+            Gets the <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> with the specified key converted to the specified type.
+            </summary>
+            <typeparam name="T">The type to convert the token to.</typeparam>
+            <param name="key">The token key.</param>
+            <returns>The converted token value.</returns>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Linq.JToken.First">
+            <summary>
+            Get the first child token of this token.
+            </summary>
+            <value>A <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> containing the first child token of the <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Linq.JToken.Last">
+            <summary>
+            Get the last child token of this token.
+            </summary>
+            <value>A <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> containing the last child token of the <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.</value>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.Children">
+            <summary>
+            Returns a collection of the child tokens of this token, in document order.
+            </summary>
+            <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> containing the child tokens of this <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>, in document order.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.Children``1">
+            <summary>
+            Returns a collection of the child tokens of this token, in document order, filtered by the specified type.
+            </summary>
+            <typeparam name="T">The type to filter the child tokens on.</typeparam>
+            <returns>A <see cref="T:LC.Newtonsoft.Json.Linq.JEnumerable`1"/> containing the child tokens of this <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>, in document order.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.Values``1">
+            <summary>
+            Returns a collection of the child values of this token, in document order.
+            </summary>
+            <typeparam name="T">The type to convert the values to.</typeparam>
+            <returns>A <see cref="T:System.Collections.Generic.IEnumerable`1"/> containing the child values of this <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>, in document order.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.Remove">
+            <summary>
+            Removes this token from its parent.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.Replace(LC.Newtonsoft.Json.Linq.JToken)">
+            <summary>
+            Replaces this token with the specified token.
+            </summary>
+            <param name="value">The value.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.WriteTo(LC.Newtonsoft.Json.JsonWriter,LC.Newtonsoft.Json.JsonConverter[])">
+            <summary>
+            Writes this token to a <see cref="T:LC.Newtonsoft.Json.JsonWriter"/>.
+            </summary>
+            <param name="writer">A <see cref="T:LC.Newtonsoft.Json.JsonWriter"/> into which this method will write.</param>
+            <param name="converters">A collection of <see cref="T:LC.Newtonsoft.Json.JsonConverter"/> which will be used when writing the token.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.ToString">
+            <summary>
+            Returns the indented JSON for this token.
+            </summary>
+            <remarks>
+            <c>ToString()</c> returns a non-JSON string value for tokens with a type of <see cref="F:LC.Newtonsoft.Json.Linq.JTokenType.String"/>.
+            If you want the JSON for all token types then you should use <see cref="M:LC.Newtonsoft.Json.Linq.JToken.WriteTo(LC.Newtonsoft.Json.JsonWriter,LC.Newtonsoft.Json.JsonConverter[])"/>.
+            </remarks>
+            <returns>
+            The indented JSON for this token.
+            </returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.ToString(LC.Newtonsoft.Json.Formatting,LC.Newtonsoft.Json.JsonConverter[])">
+            <summary>
+            Returns the JSON for this token using the given formatting and converters.
+            </summary>
+            <param name="formatting">Indicates how the output should be formatted.</param>
+            <param name="converters">A collection of <see cref="T:LC.Newtonsoft.Json.JsonConverter"/>s which will be used when writing the token.</param>
+            <returns>The JSON for this token using the given formatting and converters.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.op_Explicit(LC.Newtonsoft.Json.Linq.JToken)~System.Boolean">
+            <summary>
+            Performs an explicit conversion from <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Boolean"/>.
+            </summary>
+            <param name="value">The value.</param>
+            <returns>The result of the conversion.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.op_Explicit(LC.Newtonsoft.Json.Linq.JToken)~System.DateTimeOffset">
+            <summary>
+            Performs an explicit conversion from <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.DateTimeOffset"/>.
+            </summary>
+            <param name="value">The value.</param>
+            <returns>The result of the conversion.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.op_Explicit(LC.Newtonsoft.Json.Linq.JToken)~System.Nullable{System.Boolean}">
+            <summary>
+            Performs an explicit conversion from <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Nullable`1"/> of <see cref="T:System.Boolean"/>.
+            </summary>
+            <param name="value">The value.</param>
+            <returns>The result of the conversion.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.op_Explicit(LC.Newtonsoft.Json.Linq.JToken)~System.Int64">
+            <summary>
+            Performs an explicit conversion from <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Nullable`1"/> of <see cref="T:System.Int64"/>.
+            </summary>
+            <param name="value">The value.</param>
+            <returns>The result of the conversion.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.op_Explicit(LC.Newtonsoft.Json.Linq.JToken)~System.Nullable{System.DateTime}">
+            <summary>
+            Performs an explicit conversion from <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Nullable`1"/> of <see cref="T:System.DateTime"/>.
+            </summary>
+            <param name="value">The value.</param>
+            <returns>The result of the conversion.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.op_Explicit(LC.Newtonsoft.Json.Linq.JToken)~System.Nullable{System.DateTimeOffset}">
+            <summary>
+            Performs an explicit conversion from <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Nullable`1"/> of <see cref="T:System.DateTimeOffset"/>.
+            </summary>
+            <param name="value">The value.</param>
+            <returns>The result of the conversion.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.op_Explicit(LC.Newtonsoft.Json.Linq.JToken)~System.Nullable{System.Decimal}">
+            <summary>
+            Performs an explicit conversion from <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Nullable`1"/> of <see cref="T:System.Decimal"/>.
+            </summary>
+            <param name="value">The value.</param>
+            <returns>The result of the conversion.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.op_Explicit(LC.Newtonsoft.Json.Linq.JToken)~System.Nullable{System.Double}">
+            <summary>
+            Performs an explicit conversion from <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Nullable`1"/> of <see cref="T:System.Double"/>.
+            </summary>
+            <param name="value">The value.</param>
+            <returns>The result of the conversion.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.op_Explicit(LC.Newtonsoft.Json.Linq.JToken)~System.Nullable{System.Char}">
+            <summary>
+            Performs an explicit conversion from <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Nullable`1"/> of <see cref="T:System.Char"/>.
+            </summary>
+            <param name="value">The value.</param>
+            <returns>The result of the conversion.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.op_Explicit(LC.Newtonsoft.Json.Linq.JToken)~System.Int32">
+            <summary>
+            Performs an explicit conversion from <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Int32"/>.
+            </summary>
+            <param name="value">The value.</param>
+            <returns>The result of the conversion.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.op_Explicit(LC.Newtonsoft.Json.Linq.JToken)~System.Int16">
+            <summary>
+            Performs an explicit conversion from <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Int16"/>.
+            </summary>
+            <param name="value">The value.</param>
+            <returns>The result of the conversion.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.op_Explicit(LC.Newtonsoft.Json.Linq.JToken)~System.UInt16">
+            <summary>
+            Performs an explicit conversion from <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.UInt16"/>.
+            </summary>
+            <param name="value">The value.</param>
+            <returns>The result of the conversion.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.op_Explicit(LC.Newtonsoft.Json.Linq.JToken)~System.Char">
+            <summary>
+            Performs an explicit conversion from <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Char"/>.
+            </summary>
+            <param name="value">The value.</param>
+            <returns>The result of the conversion.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.op_Explicit(LC.Newtonsoft.Json.Linq.JToken)~System.Byte">
+            <summary>
+            Performs an explicit conversion from <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Byte"/>.
+            </summary>
+            <param name="value">The value.</param>
+            <returns>The result of the conversion.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.op_Explicit(LC.Newtonsoft.Json.Linq.JToken)~System.SByte">
+            <summary>
+            Performs an explicit conversion from <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.SByte"/>.
+            </summary>
+            <param name="value">The value.</param>
+            <returns>The result of the conversion.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.op_Explicit(LC.Newtonsoft.Json.Linq.JToken)~System.Nullable{System.Int32}">
+            <summary>
+            Performs an explicit conversion from <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Nullable`1"/> of <see cref="T:System.Int32"/> .
+            </summary>
+            <param name="value">The value.</param>
+            <returns>The result of the conversion.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.op_Explicit(LC.Newtonsoft.Json.Linq.JToken)~System.Nullable{System.Int16}">
+            <summary>
+            Performs an explicit conversion from <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Nullable`1"/> of <see cref="T:System.Int16"/>.
+            </summary>
+            <param name="value">The value.</param>
+            <returns>The result of the conversion.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.op_Explicit(LC.Newtonsoft.Json.Linq.JToken)~System.Nullable{System.UInt16}">
+            <summary>
+            Performs an explicit conversion from <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Nullable`1"/> of <see cref="T:System.UInt16"/>.
+            </summary>
+            <param name="value">The value.</param>
+            <returns>The result of the conversion.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.op_Explicit(LC.Newtonsoft.Json.Linq.JToken)~System.Nullable{System.Byte}">
+            <summary>
+            Performs an explicit conversion from <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Nullable`1"/> of <see cref="T:System.Byte"/>.
+            </summary>
+            <param name="value">The value.</param>
+            <returns>The result of the conversion.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.op_Explicit(LC.Newtonsoft.Json.Linq.JToken)~System.Nullable{System.SByte}">
+            <summary>
+            Performs an explicit conversion from <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Nullable`1"/> of <see cref="T:System.SByte"/>.
+            </summary>
+            <param name="value">The value.</param>
+            <returns>The result of the conversion.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.op_Explicit(LC.Newtonsoft.Json.Linq.JToken)~System.DateTime">
+            <summary>
+            Performs an explicit conversion from <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Nullable`1"/> of <see cref="T:System.DateTime"/>.
+            </summary>
+            <param name="value">The value.</param>
+            <returns>The result of the conversion.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.op_Explicit(LC.Newtonsoft.Json.Linq.JToken)~System.Nullable{System.Int64}">
+            <summary>
+            Performs an explicit conversion from <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Nullable`1"/> of <see cref="T:System.Int64"/>.
+            </summary>
+            <param name="value">The value.</param>
+            <returns>The result of the conversion.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.op_Explicit(LC.Newtonsoft.Json.Linq.JToken)~System.Nullable{System.Single}">
+            <summary>
+            Performs an explicit conversion from <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Nullable`1"/> of <see cref="T:System.Single"/>.
+            </summary>
+            <param name="value">The value.</param>
+            <returns>The result of the conversion.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.op_Explicit(LC.Newtonsoft.Json.Linq.JToken)~System.Decimal">
+            <summary>
+            Performs an explicit conversion from <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Decimal"/>.
+            </summary>
+            <param name="value">The value.</param>
+            <returns>The result of the conversion.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.op_Explicit(LC.Newtonsoft.Json.Linq.JToken)~System.Nullable{System.UInt32}">
+            <summary>
+            Performs an explicit conversion from <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Nullable`1"/> of <see cref="T:System.UInt32"/>.
+            </summary>
+            <param name="value">The value.</param>
+            <returns>The result of the conversion.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.op_Explicit(LC.Newtonsoft.Json.Linq.JToken)~System.Nullable{System.UInt64}">
+            <summary>
+            Performs an explicit conversion from <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Nullable`1"/> of <see cref="T:System.UInt64"/>.
+            </summary>
+            <param name="value">The value.</param>
+            <returns>The result of the conversion.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.op_Explicit(LC.Newtonsoft.Json.Linq.JToken)~System.Double">
+            <summary>
+            Performs an explicit conversion from <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Double"/>.
+            </summary>
+            <param name="value">The value.</param>
+            <returns>The result of the conversion.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.op_Explicit(LC.Newtonsoft.Json.Linq.JToken)~System.Single">
+            <summary>
+            Performs an explicit conversion from <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Single"/>.
+            </summary>
+            <param name="value">The value.</param>
+            <returns>The result of the conversion.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.op_Explicit(LC.Newtonsoft.Json.Linq.JToken)~System.String">
+            <summary>
+            Performs an explicit conversion from <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.String"/>.
+            </summary>
+            <param name="value">The value.</param>
+            <returns>The result of the conversion.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.op_Explicit(LC.Newtonsoft.Json.Linq.JToken)~System.UInt32">
+            <summary>
+            Performs an explicit conversion from <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.UInt32"/>.
+            </summary>
+            <param name="value">The value.</param>
+            <returns>The result of the conversion.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.op_Explicit(LC.Newtonsoft.Json.Linq.JToken)~System.UInt64">
+            <summary>
+            Performs an explicit conversion from <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.UInt64"/>.
+            </summary>
+            <param name="value">The value.</param>
+            <returns>The result of the conversion.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.op_Explicit(LC.Newtonsoft.Json.Linq.JToken)~System.Byte[]">
+            <summary>
+            Performs an explicit conversion from <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Byte"/>[].
+            </summary>
+            <param name="value">The value.</param>
+            <returns>The result of the conversion.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.op_Explicit(LC.Newtonsoft.Json.Linq.JToken)~System.Guid">
+            <summary>
+            Performs an explicit conversion from <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Guid"/>.
+            </summary>
+            <param name="value">The value.</param>
+            <returns>The result of the conversion.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.op_Explicit(LC.Newtonsoft.Json.Linq.JToken)~System.Nullable{System.Guid}">
+            <summary>
+            Performs an explicit conversion from <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Nullable`1"/> of <see cref="T:System.Guid"/> .
+            </summary>
+            <param name="value">The value.</param>
+            <returns>The result of the conversion.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.op_Explicit(LC.Newtonsoft.Json.Linq.JToken)~System.TimeSpan">
+            <summary>
+            Performs an explicit conversion from <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.TimeSpan"/>.
+            </summary>
+            <param name="value">The value.</param>
+            <returns>The result of the conversion.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.op_Explicit(LC.Newtonsoft.Json.Linq.JToken)~System.Nullable{System.TimeSpan}">
+            <summary>
+            Performs an explicit conversion from <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Nullable`1"/> of <see cref="T:System.TimeSpan"/>.
+            </summary>
+            <param name="value">The value.</param>
+            <returns>The result of the conversion.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.op_Explicit(LC.Newtonsoft.Json.Linq.JToken)~System.Uri">
+            <summary>
+            Performs an explicit conversion from <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Uri"/>.
+            </summary>
+            <param name="value">The value.</param>
+            <returns>The result of the conversion.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.op_Implicit(System.Boolean)~LC.Newtonsoft.Json.Linq.JToken">
+            <summary>
+            Performs an implicit conversion from <see cref="T:System.Boolean"/> to <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.
+            </summary>
+            <param name="value">The value to create a <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> from.</param>
+            <returns>The <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.op_Implicit(System.DateTimeOffset)~LC.Newtonsoft.Json.Linq.JToken">
+            <summary>
+            Performs an implicit conversion from <see cref="T:System.DateTimeOffset"/> to <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.
+            </summary>
+            <param name="value">The value to create a <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> from.</param>
+            <returns>The <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.op_Implicit(System.Byte)~LC.Newtonsoft.Json.Linq.JToken">
+            <summary>
+            Performs an implicit conversion from <see cref="T:System.Byte"/> to <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.
+            </summary>
+            <param name="value">The value to create a <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> from.</param>
+            <returns>The <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.op_Implicit(System.Nullable{System.Byte})~LC.Newtonsoft.Json.Linq.JToken">
+            <summary>
+            Performs an implicit conversion from <see cref="T:System.Nullable`1"/> of <see cref="T:System.Byte"/> to <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.
+            </summary>
+            <param name="value">The value to create a <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> from.</param>
+            <returns>The <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.op_Implicit(System.SByte)~LC.Newtonsoft.Json.Linq.JToken">
+            <summary>
+            Performs an implicit conversion from <see cref="T:System.SByte"/> to <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.
+            </summary>
+            <param name="value">The value to create a <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> from.</param>
+            <returns>The <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.op_Implicit(System.Nullable{System.SByte})~LC.Newtonsoft.Json.Linq.JToken">
+            <summary>
+            Performs an implicit conversion from <see cref="T:System.Nullable`1"/> of <see cref="T:System.SByte"/> to <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.
+            </summary>
+            <param name="value">The value to create a <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> from.</param>
+            <returns>The <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.op_Implicit(System.Nullable{System.Boolean})~LC.Newtonsoft.Json.Linq.JToken">
+            <summary>
+            Performs an implicit conversion from <see cref="T:System.Nullable`1"/> of <see cref="T:System.Boolean"/> to <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.
+            </summary>
+            <param name="value">The value to create a <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> from.</param>
+            <returns>The <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.op_Implicit(System.Int64)~LC.Newtonsoft.Json.Linq.JToken">
+            <summary>
+            Performs an implicit conversion from <see cref="T:System.Nullable`1"/> of <see cref="T:System.Int64"/> to <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.
+            </summary>
+            <param name="value">The value to create a <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> from.</param>
+            <returns>The <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.op_Implicit(System.Nullable{System.DateTime})~LC.Newtonsoft.Json.Linq.JToken">
+            <summary>
+            Performs an implicit conversion from <see cref="T:System.Nullable`1"/> of <see cref="T:System.DateTime"/> to <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.
+            </summary>
+            <param name="value">The value to create a <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> from.</param>
+            <returns>The <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.op_Implicit(System.Nullable{System.DateTimeOffset})~LC.Newtonsoft.Json.Linq.JToken">
+            <summary>
+            Performs an implicit conversion from <see cref="T:System.Nullable`1"/> of <see cref="T:System.DateTimeOffset"/> to <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.
+            </summary>
+            <param name="value">The value to create a <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> from.</param>
+            <returns>The <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.op_Implicit(System.Nullable{System.Decimal})~LC.Newtonsoft.Json.Linq.JToken">
+            <summary>
+            Performs an implicit conversion from <see cref="T:System.Nullable`1"/> of <see cref="T:System.Decimal"/> to <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.
+            </summary>
+            <param name="value">The value to create a <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> from.</param>
+            <returns>The <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.op_Implicit(System.Nullable{System.Double})~LC.Newtonsoft.Json.Linq.JToken">
+            <summary>
+            Performs an implicit conversion from <see cref="T:System.Nullable`1"/> of <see cref="T:System.Double"/> to <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.
+            </summary>
+            <param name="value">The value to create a <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> from.</param>
+            <returns>The <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.op_Implicit(System.Int16)~LC.Newtonsoft.Json.Linq.JToken">
+            <summary>
+            Performs an implicit conversion from <see cref="T:System.Int16"/> to <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.
+            </summary>
+            <param name="value">The value to create a <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> from.</param>
+            <returns>The <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.op_Implicit(System.UInt16)~LC.Newtonsoft.Json.Linq.JToken">
+            <summary>
+            Performs an implicit conversion from <see cref="T:System.UInt16"/> to <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.
+            </summary>
+            <param name="value">The value to create a <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> from.</param>
+            <returns>The <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.op_Implicit(System.Int32)~LC.Newtonsoft.Json.Linq.JToken">
+            <summary>
+            Performs an implicit conversion from <see cref="T:System.Int32"/> to <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.
+            </summary>
+            <param name="value">The value to create a <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> from.</param>
+            <returns>The <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.op_Implicit(System.Nullable{System.Int32})~LC.Newtonsoft.Json.Linq.JToken">
+            <summary>
+            Performs an implicit conversion from <see cref="T:System.Nullable`1"/> of <see cref="T:System.Int32"/> to <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.
+            </summary>
+            <param name="value">The value to create a <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> from.</param>
+            <returns>The <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.op_Implicit(System.DateTime)~LC.Newtonsoft.Json.Linq.JToken">
+            <summary>
+            Performs an implicit conversion from <see cref="T:System.DateTime"/> to <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.
+            </summary>
+            <param name="value">The value to create a <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> from.</param>
+            <returns>The <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.op_Implicit(System.Nullable{System.Int64})~LC.Newtonsoft.Json.Linq.JToken">
+            <summary>
+            Performs an implicit conversion from <see cref="T:System.Nullable`1"/> of <see cref="T:System.Int64"/> to <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.
+            </summary>
+            <param name="value">The value to create a <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> from.</param>
+            <returns>The <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.op_Implicit(System.Nullable{System.Single})~LC.Newtonsoft.Json.Linq.JToken">
+            <summary>
+            Performs an implicit conversion from <see cref="T:System.Nullable`1"/> of <see cref="T:System.Single"/> to <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.
+            </summary>
+            <param name="value">The value to create a <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> from.</param>
+            <returns>The <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.op_Implicit(System.Decimal)~LC.Newtonsoft.Json.Linq.JToken">
+            <summary>
+            Performs an implicit conversion from <see cref="T:System.Decimal"/> to <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.
+            </summary>
+            <param name="value">The value to create a <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> from.</param>
+            <returns>The <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.op_Implicit(System.Nullable{System.Int16})~LC.Newtonsoft.Json.Linq.JToken">
+            <summary>
+            Performs an implicit conversion from <see cref="T:System.Nullable`1"/> of <see cref="T:System.Int16"/> to <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.
+            </summary>
+            <param name="value">The value to create a <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> from.</param>
+            <returns>The <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.op_Implicit(System.Nullable{System.UInt16})~LC.Newtonsoft.Json.Linq.JToken">
+            <summary>
+            Performs an implicit conversion from <see cref="T:System.Nullable`1"/> of <see cref="T:System.UInt16"/> to <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.
+            </summary>
+            <param name="value">The value to create a <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> from.</param>
+            <returns>The <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.op_Implicit(System.Nullable{System.UInt32})~LC.Newtonsoft.Json.Linq.JToken">
+            <summary>
+            Performs an implicit conversion from <see cref="T:System.Nullable`1"/> of <see cref="T:System.UInt32"/> to <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.
+            </summary>
+            <param name="value">The value to create a <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> from.</param>
+            <returns>The <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.op_Implicit(System.Nullable{System.UInt64})~LC.Newtonsoft.Json.Linq.JToken">
+            <summary>
+            Performs an implicit conversion from <see cref="T:System.Nullable`1"/> of <see cref="T:System.UInt64"/> to <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.
+            </summary>
+            <param name="value">The value to create a <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> from.</param>
+            <returns>The <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.op_Implicit(System.Double)~LC.Newtonsoft.Json.Linq.JToken">
+            <summary>
+            Performs an implicit conversion from <see cref="T:System.Double"/> to <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.
+            </summary>
+            <param name="value">The value to create a <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> from.</param>
+            <returns>The <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.op_Implicit(System.Single)~LC.Newtonsoft.Json.Linq.JToken">
+            <summary>
+            Performs an implicit conversion from <see cref="T:System.Single"/> to <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.
+            </summary>
+            <param name="value">The value to create a <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> from.</param>
+            <returns>The <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.op_Implicit(System.String)~LC.Newtonsoft.Json.Linq.JToken">
+            <summary>
+            Performs an implicit conversion from <see cref="T:System.String"/> to <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.
+            </summary>
+            <param name="value">The value to create a <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> from.</param>
+            <returns>The <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.op_Implicit(System.UInt32)~LC.Newtonsoft.Json.Linq.JToken">
+            <summary>
+            Performs an implicit conversion from <see cref="T:System.UInt32"/> to <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.
+            </summary>
+            <param name="value">The value to create a <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> from.</param>
+            <returns>The <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.op_Implicit(System.UInt64)~LC.Newtonsoft.Json.Linq.JToken">
+            <summary>
+            Performs an implicit conversion from <see cref="T:System.UInt64"/> to <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.
+            </summary>
+            <param name="value">The value to create a <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> from.</param>
+            <returns>The <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.op_Implicit(System.Byte[])~LC.Newtonsoft.Json.Linq.JToken">
+            <summary>
+            Performs an implicit conversion from <see cref="T:System.Byte"/>[] to <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.
+            </summary>
+            <param name="value">The value to create a <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> from.</param>
+            <returns>The <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.op_Implicit(System.Uri)~LC.Newtonsoft.Json.Linq.JToken">
+            <summary>
+            Performs an implicit conversion from <see cref="T:System.Uri"/> to <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.
+            </summary>
+            <param name="value">The value to create a <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> from.</param>
+            <returns>The <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.op_Implicit(System.TimeSpan)~LC.Newtonsoft.Json.Linq.JToken">
+            <summary>
+            Performs an implicit conversion from <see cref="T:System.TimeSpan"/> to <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.
+            </summary>
+            <param name="value">The value to create a <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> from.</param>
+            <returns>The <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.op_Implicit(System.Nullable{System.TimeSpan})~LC.Newtonsoft.Json.Linq.JToken">
+            <summary>
+            Performs an implicit conversion from <see cref="T:System.Nullable`1"/> of <see cref="T:System.TimeSpan"/> to <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.
+            </summary>
+            <param name="value">The value to create a <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> from.</param>
+            <returns>The <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.op_Implicit(System.Guid)~LC.Newtonsoft.Json.Linq.JToken">
+            <summary>
+            Performs an implicit conversion from <see cref="T:System.Guid"/> to <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.
+            </summary>
+            <param name="value">The value to create a <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> from.</param>
+            <returns>The <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.op_Implicit(System.Nullable{System.Guid})~LC.Newtonsoft.Json.Linq.JToken">
+            <summary>
+            Performs an implicit conversion from <see cref="T:System.Nullable`1"/> of <see cref="T:System.Guid"/> to <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.
+            </summary>
+            <param name="value">The value to create a <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> from.</param>
+            <returns>The <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.CreateReader">
+            <summary>
+            Creates a <see cref="T:LC.Newtonsoft.Json.JsonReader"/> for this token.
+            </summary>
+            <returns>A <see cref="T:LC.Newtonsoft.Json.JsonReader"/> that can be used to read this token and its descendants.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.FromObject(System.Object)">
+            <summary>
+            Creates a <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> from an object.
+            </summary>
+            <param name="o">The object that will be used to create <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.</param>
+            <returns>A <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> with the value of the specified object.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.FromObject(System.Object,LC.Newtonsoft.Json.JsonSerializer)">
+            <summary>
+            Creates a <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> from an object using the specified <see cref="T:LC.Newtonsoft.Json.JsonSerializer"/>.
+            </summary>
+            <param name="o">The object that will be used to create <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.</param>
+            <param name="jsonSerializer">The <see cref="T:LC.Newtonsoft.Json.JsonSerializer"/> that will be used when reading the object.</param>
+            <returns>A <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> with the value of the specified object.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.ToObject``1">
+            <summary>
+            Creates an instance of the specified .NET type from the <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.
+            </summary>
+            <typeparam name="T">The object type that the token will be deserialized to.</typeparam>
+            <returns>The new object created from the JSON value.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.ToObject(System.Type)">
+            <summary>
+            Creates an instance of the specified .NET type from the <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.
+            </summary>
+            <param name="objectType">The object type that the token will be deserialized to.</param>
+            <returns>The new object created from the JSON value.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.ToObject``1(LC.Newtonsoft.Json.JsonSerializer)">
+            <summary>
+            Creates an instance of the specified .NET type from the <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> using the specified <see cref="T:LC.Newtonsoft.Json.JsonSerializer"/>.
+            </summary>
+            <typeparam name="T">The object type that the token will be deserialized to.</typeparam>
+            <param name="jsonSerializer">The <see cref="T:LC.Newtonsoft.Json.JsonSerializer"/> that will be used when creating the object.</param>
+            <returns>The new object created from the JSON value.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.ToObject(System.Type,LC.Newtonsoft.Json.JsonSerializer)">
+            <summary>
+            Creates an instance of the specified .NET type from the <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> using the specified <see cref="T:LC.Newtonsoft.Json.JsonSerializer"/>.
+            </summary>
+            <param name="objectType">The object type that the token will be deserialized to.</param>
+            <param name="jsonSerializer">The <see cref="T:LC.Newtonsoft.Json.JsonSerializer"/> that will be used when creating the object.</param>
+            <returns>The new object created from the JSON value.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.ReadFrom(LC.Newtonsoft.Json.JsonReader)">
+            <summary>
+            Creates a <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> from a <see cref="T:LC.Newtonsoft.Json.JsonReader"/>.
+            </summary>
+            <param name="reader">A <see cref="T:LC.Newtonsoft.Json.JsonReader"/> positioned at the token to read into this <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.</param>
+            <returns>
+            A <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> that contains the token and its descendant tokens
+            that were read from the reader. The runtime type of the token is determined
+            by the token type of the first token encountered in the reader.
+            </returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.ReadFrom(LC.Newtonsoft.Json.JsonReader,LC.Newtonsoft.Json.Linq.JsonLoadSettings)">
+            <summary>
+            Creates a <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> from a <see cref="T:LC.Newtonsoft.Json.JsonReader"/>.
+            </summary>
+            <param name="reader">An <see cref="T:LC.Newtonsoft.Json.JsonReader"/> positioned at the token to read into this <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.</param>
+            <param name="settings">The <see cref="T:LC.Newtonsoft.Json.Linq.JsonLoadSettings"/> used to load the JSON.
+            If this is <c>null</c>, default load settings will be used.</param>
+            <returns>
+            A <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> that contains the token and its descendant tokens
+            that were read from the reader. The runtime type of the token is determined
+            by the token type of the first token encountered in the reader.
+            </returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.Parse(System.String)">
+            <summary>
+            Load a <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> from a string that contains JSON.
+            </summary>
+            <param name="json">A <see cref="T:System.String"/> that contains JSON.</param>
+            <returns>A <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> populated from the string that contains JSON.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.Parse(System.String,LC.Newtonsoft.Json.Linq.JsonLoadSettings)">
+            <summary>
+            Load a <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> from a string that contains JSON.
+            </summary>
+            <param name="json">A <see cref="T:System.String"/> that contains JSON.</param>
+            <param name="settings">The <see cref="T:LC.Newtonsoft.Json.Linq.JsonLoadSettings"/> used to load the JSON.
+            If this is <c>null</c>, default load settings will be used.</param>
+            <returns>A <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> populated from the string that contains JSON.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.Load(LC.Newtonsoft.Json.JsonReader,LC.Newtonsoft.Json.Linq.JsonLoadSettings)">
+            <summary>
+            Creates a <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> from a <see cref="T:LC.Newtonsoft.Json.JsonReader"/>.
+            </summary>
+            <param name="reader">A <see cref="T:LC.Newtonsoft.Json.JsonReader"/> positioned at the token to read into this <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.</param>
+            <param name="settings">The <see cref="T:LC.Newtonsoft.Json.Linq.JsonLoadSettings"/> used to load the JSON.
+            If this is <c>null</c>, default load settings will be used.</param>
+            <returns>
+            A <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> that contains the token and its descendant tokens
+            that were read from the reader. The runtime type of the token is determined
+            by the token type of the first token encountered in the reader.
+            </returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.Load(LC.Newtonsoft.Json.JsonReader)">
+            <summary>
+            Creates a <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> from a <see cref="T:LC.Newtonsoft.Json.JsonReader"/>.
+            </summary>
+            <param name="reader">A <see cref="T:LC.Newtonsoft.Json.JsonReader"/> positioned at the token to read into this <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.</param>
+            <returns>
+            A <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> that contains the token and its descendant tokens
+            that were read from the reader. The runtime type of the token is determined
+            by the token type of the first token encountered in the reader.
+            </returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.SelectToken(System.String)">
+            <summary>
+            Selects a <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> using a JSONPath expression. Selects the token that matches the object path.
+            </summary>
+            <param name="path">
+            A <see cref="T:System.String"/> that contains a JSONPath expression.
+            </param>
+            <returns>A <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>, or <c>null</c>.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.SelectToken(System.String,System.Boolean)">
+            <summary>
+            Selects a <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> using a JSONPath expression. Selects the token that matches the object path.
+            </summary>
+            <param name="path">
+            A <see cref="T:System.String"/> that contains a JSONPath expression.
+            </param>
+            <param name="errorWhenNoMatch">A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression.</param>
+            <returns>A <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.SelectTokens(System.String)">
+            <summary>
+            Selects a collection of elements using a JSONPath expression.
+            </summary>
+            <param name="path">
+            A <see cref="T:System.String"/> that contains a JSONPath expression.
+            </param>
+            <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> that contains the selected elements.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.SelectTokens(System.String,System.Boolean)">
+            <summary>
+            Selects a collection of elements using a JSONPath expression.
+            </summary>
+            <param name="path">
+            A <see cref="T:System.String"/> that contains a JSONPath expression.
+            </param>
+            <param name="errorWhenNoMatch">A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression.</param>
+            <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> that contains the selected elements.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.GetMetaObject(System.Linq.Expressions.Expression)">
+            <summary>
+            Returns the <see cref="T:System.Dynamic.DynamicMetaObject"/> responsible for binding operations performed on this object.
+            </summary>
+            <param name="parameter">The expression tree representation of the runtime value.</param>
+            <returns>
+            The <see cref="T:System.Dynamic.DynamicMetaObject"/> to bind this object.
+            </returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.System#Dynamic#IDynamicMetaObjectProvider#GetMetaObject(System.Linq.Expressions.Expression)">
+            <summary>
+            Returns the <see cref="T:System.Dynamic.DynamicMetaObject"/> responsible for binding operations performed on this object.
+            </summary>
+            <param name="parameter">The expression tree representation of the runtime value.</param>
+            <returns>
+            The <see cref="T:System.Dynamic.DynamicMetaObject"/> to bind this object.
+            </returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.DeepClone">
+            <summary>
+            Creates a new instance of the <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>. All child tokens are recursively cloned.
+            </summary>
+            <returns>A new instance of the <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.AddAnnotation(System.Object)">
+            <summary>
+            Adds an object to the annotation list of this <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.
+            </summary>
+            <param name="annotation">The annotation to add.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.Annotation``1">
+            <summary>
+            Get the first annotation object of the specified type from this <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.
+            </summary>
+            <typeparam name="T">The type of the annotation to retrieve.</typeparam>
+            <returns>The first annotation object that matches the specified type, or <c>null</c> if no annotation is of the specified type.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.Annotation(System.Type)">
+            <summary>
+            Gets the first annotation object of the specified type from this <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.
+            </summary>
+            <param name="type">The <see cref="P:LC.Newtonsoft.Json.Linq.JToken.Type"/> of the annotation to retrieve.</param>
+            <returns>The first annotation object that matches the specified type, or <c>null</c> if no annotation is of the specified type.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.Annotations``1">
+            <summary>
+            Gets a collection of annotations of the specified type for this <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.
+            </summary>
+            <typeparam name="T">The type of the annotations to retrieve.</typeparam>
+            <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> that contains the annotations for this <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.Annotations(System.Type)">
+            <summary>
+            Gets a collection of annotations of the specified type for this <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.
+            </summary>
+            <param name="type">The <see cref="P:LC.Newtonsoft.Json.Linq.JToken.Type"/> of the annotations to retrieve.</param>
+            <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:System.Object"/> that contains the annotations that match the specified type for this <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.RemoveAnnotations``1">
+            <summary>
+            Removes the annotations of the specified type from this <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.
+            </summary>
+            <typeparam name="T">The type of annotations to remove.</typeparam>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JToken.RemoveAnnotations(System.Type)">
+            <summary>
+            Removes the annotations of the specified type from this <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.
+            </summary>
+            <param name="type">The <see cref="P:LC.Newtonsoft.Json.Linq.JToken.Type"/> of annotations to remove.</param>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Linq.JTokenEqualityComparer">
+            <summary>
+            Compares tokens to determine whether they are equal.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JTokenEqualityComparer.Equals(LC.Newtonsoft.Json.Linq.JToken,LC.Newtonsoft.Json.Linq.JToken)">
+            <summary>
+            Determines whether the specified objects are equal.
+            </summary>
+            <param name="x">The first object of type <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> to compare.</param>
+            <param name="y">The second object of type <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> to compare.</param>
+            <returns>
+            <c>true</c> if the specified objects are equal; otherwise, <c>false</c>.
+            </returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JTokenEqualityComparer.GetHashCode(LC.Newtonsoft.Json.Linq.JToken)">
+            <summary>
+            Returns a hash code for the specified object.
+            </summary>
+            <param name="obj">The <see cref="T:System.Object"/> for which a hash code is to be returned.</param>
+            <returns>A hash code for the specified object.</returns>
+            <exception cref="T:System.ArgumentNullException">The type of <paramref name="obj"/> is a reference type and <paramref name="obj"/> is <c>null</c>.</exception>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Linq.JTokenReader">
+            <summary>
+            Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Linq.JTokenReader.CurrentToken">
+            <summary>
+            Gets the <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> at the reader's current position.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JTokenReader.#ctor(LC.Newtonsoft.Json.Linq.JToken)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Linq.JTokenReader"/> class.
+            </summary>
+            <param name="token">The token to read from.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JTokenReader.#ctor(LC.Newtonsoft.Json.Linq.JToken,System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Linq.JTokenReader"/> class.
+            </summary>
+            <param name="token">The token to read from.</param>
+            <param name="initialPath">The initial path of the token. It is prepended to the returned <see cref="P:LC.Newtonsoft.Json.Linq.JTokenReader.Path"/>.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JTokenReader.Read">
+            <summary>
+            Reads the next JSON token from the underlying <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.
+            </summary>
+            <returns>
+            <c>true</c> if the next token was read successfully; <c>false</c> if there are no more tokens to read.
+            </returns>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Linq.JTokenReader.Path">
+            <summary>
+            Gets the path of the current JSON token. 
+            </summary>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Linq.JTokenType">
+            <summary>
+            Specifies the type of token.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.Linq.JTokenType.None">
+            <summary>
+            No token type has been set.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.Linq.JTokenType.Object">
+            <summary>
+            A JSON object.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.Linq.JTokenType.Array">
+            <summary>
+            A JSON array.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.Linq.JTokenType.Constructor">
+            <summary>
+            A JSON constructor.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.Linq.JTokenType.Property">
+            <summary>
+            A JSON object property.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.Linq.JTokenType.Comment">
+            <summary>
+            A comment.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.Linq.JTokenType.Integer">
+            <summary>
+            An integer value.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.Linq.JTokenType.Float">
+            <summary>
+            A float value.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.Linq.JTokenType.String">
+            <summary>
+            A string value.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.Linq.JTokenType.Boolean">
+            <summary>
+            A boolean value.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.Linq.JTokenType.Null">
+            <summary>
+            A null value.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.Linq.JTokenType.Undefined">
+            <summary>
+            An undefined value.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.Linq.JTokenType.Date">
+            <summary>
+            A date value.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.Linq.JTokenType.Raw">
+            <summary>
+            A raw JSON value.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.Linq.JTokenType.Bytes">
+            <summary>
+            A collection of bytes value.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.Linq.JTokenType.Guid">
+            <summary>
+            A Guid value.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.Linq.JTokenType.Uri">
+            <summary>
+            A Uri value.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.Linq.JTokenType.TimeSpan">
+            <summary>
+            A TimeSpan value.
+            </summary>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Linq.JTokenWriter">
+            <summary>
+            Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Linq.JTokenWriter.CurrentToken">
+            <summary>
+            Gets the <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> at the writer's current position.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Linq.JTokenWriter.Token">
+            <summary>
+            Gets the token being written.
+            </summary>
+            <value>The token being written.</value>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JTokenWriter.#ctor(LC.Newtonsoft.Json.Linq.JContainer)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Linq.JTokenWriter"/> class writing to the given <see cref="T:LC.Newtonsoft.Json.Linq.JContainer"/>.
+            </summary>
+            <param name="container">The container being written to.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JTokenWriter.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Linq.JTokenWriter"/> class.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JTokenWriter.Flush">
+            <summary>
+            Flushes whatever is in the buffer to the underlying <see cref="T:LC.Newtonsoft.Json.Linq.JContainer"/>.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JTokenWriter.Close">
+            <summary>
+            Closes this writer.
+            If <see cref="P:LC.Newtonsoft.Json.JsonWriter.AutoCompleteOnClose"/> is set to <c>true</c>, the JSON is auto-completed.
+            </summary>
+            <remarks>
+            Setting <see cref="P:LC.Newtonsoft.Json.JsonWriter.CloseOutput"/> to <c>true</c> has no additional effect, since the underlying <see cref="T:LC.Newtonsoft.Json.Linq.JContainer"/> is a type that cannot be closed.
+            </remarks>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JTokenWriter.WriteStartObject">
+            <summary>
+            Writes the beginning of a JSON object.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JTokenWriter.WriteStartArray">
+            <summary>
+            Writes the beginning of a JSON array.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JTokenWriter.WriteStartConstructor(System.String)">
+            <summary>
+            Writes the start of a constructor with the given name.
+            </summary>
+            <param name="name">The name of the constructor.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JTokenWriter.WriteEnd(LC.Newtonsoft.Json.JsonToken)">
+            <summary>
+            Writes the end.
+            </summary>
+            <param name="token">The token.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JTokenWriter.WritePropertyName(System.String)">
+            <summary>
+            Writes the property name of a name/value pair on a JSON object.
+            </summary>
+            <param name="name">The name of the property.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.Object)">
+            <summary>
+            Writes a <see cref="T:System.Object"/> value.
+            An error will be raised if the value cannot be written as a single JSON token.
+            </summary>
+            <param name="value">The <see cref="T:System.Object"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JTokenWriter.WriteNull">
+            <summary>
+            Writes a null value.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JTokenWriter.WriteUndefined">
+            <summary>
+            Writes an undefined value.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JTokenWriter.WriteRaw(System.String)">
+            <summary>
+            Writes raw JSON.
+            </summary>
+            <param name="json">The raw JSON to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JTokenWriter.WriteComment(System.String)">
+            <summary>
+            Writes a comment <c>/*...*/</c> containing the specified text.
+            </summary>
+            <param name="text">Text to place inside the comment.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.String)">
+            <summary>
+            Writes a <see cref="T:System.String"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.String"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.Int32)">
+            <summary>
+            Writes a <see cref="T:System.Int32"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Int32"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.UInt32)">
+            <summary>
+            Writes a <see cref="T:System.UInt32"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.UInt32"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.Int64)">
+            <summary>
+            Writes a <see cref="T:System.Int64"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Int64"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.UInt64)">
+            <summary>
+            Writes a <see cref="T:System.UInt64"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.UInt64"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.Single)">
+            <summary>
+            Writes a <see cref="T:System.Single"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Single"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.Double)">
+            <summary>
+            Writes a <see cref="T:System.Double"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Double"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.Boolean)">
+            <summary>
+            Writes a <see cref="T:System.Boolean"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Boolean"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.Int16)">
+            <summary>
+            Writes a <see cref="T:System.Int16"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Int16"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.UInt16)">
+            <summary>
+            Writes a <see cref="T:System.UInt16"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.UInt16"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.Char)">
+            <summary>
+            Writes a <see cref="T:System.Char"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Char"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.Byte)">
+            <summary>
+            Writes a <see cref="T:System.Byte"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Byte"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.SByte)">
+            <summary>
+            Writes a <see cref="T:System.SByte"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.SByte"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.Decimal)">
+            <summary>
+            Writes a <see cref="T:System.Decimal"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Decimal"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.DateTime)">
+            <summary>
+            Writes a <see cref="T:System.DateTime"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.DateTime"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.DateTimeOffset)">
+            <summary>
+            Writes a <see cref="T:System.DateTimeOffset"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.DateTimeOffset"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.Byte[])">
+            <summary>
+            Writes a <see cref="T:System.Byte"/>[] value.
+            </summary>
+            <param name="value">The <see cref="T:System.Byte"/>[] value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.TimeSpan)">
+            <summary>
+            Writes a <see cref="T:System.TimeSpan"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.TimeSpan"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.Guid)">
+            <summary>
+            Writes a <see cref="T:System.Guid"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Guid"/> value to write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.Uri)">
+            <summary>
+            Writes a <see cref="T:System.Uri"/> value.
+            </summary>
+            <param name="value">The <see cref="T:System.Uri"/> value to write.</param>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Linq.JValue">
+            <summary>
+            Represents a value in JSON (string, integer, date, etc).
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JValue.WriteToAsync(LC.Newtonsoft.Json.JsonWriter,System.Threading.CancellationToken,LC.Newtonsoft.Json.JsonConverter[])">
+            <summary>
+            Writes this token to a <see cref="T:LC.Newtonsoft.Json.JsonWriter"/> asynchronously.
+            </summary>
+            <param name="writer">A <see cref="T:LC.Newtonsoft.Json.JsonWriter"/> into which this method will write.</param>
+            <param name="cancellationToken">The token to monitor for cancellation requests.</param>
+            <param name="converters">A collection of <see cref="T:LC.Newtonsoft.Json.JsonConverter"/> which will be used when writing the token.</param>
+            <returns>A <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous write operation.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JValue.#ctor(LC.Newtonsoft.Json.Linq.JValue)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> class from another <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> object.
+            </summary>
+            <param name="other">A <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> object to copy from.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JValue.#ctor(System.Int64)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> class with the given value.
+            </summary>
+            <param name="value">The value.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JValue.#ctor(System.Decimal)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> class with the given value.
+            </summary>
+            <param name="value">The value.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JValue.#ctor(System.Char)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> class with the given value.
+            </summary>
+            <param name="value">The value.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JValue.#ctor(System.UInt64)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> class with the given value.
+            </summary>
+            <param name="value">The value.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JValue.#ctor(System.Double)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> class with the given value.
+            </summary>
+            <param name="value">The value.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JValue.#ctor(System.Single)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> class with the given value.
+            </summary>
+            <param name="value">The value.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JValue.#ctor(System.DateTime)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> class with the given value.
+            </summary>
+            <param name="value">The value.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JValue.#ctor(System.DateTimeOffset)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> class with the given value.
+            </summary>
+            <param name="value">The value.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JValue.#ctor(System.Boolean)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> class with the given value.
+            </summary>
+            <param name="value">The value.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JValue.#ctor(System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> class with the given value.
+            </summary>
+            <param name="value">The value.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JValue.#ctor(System.Guid)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> class with the given value.
+            </summary>
+            <param name="value">The value.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JValue.#ctor(System.Uri)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> class with the given value.
+            </summary>
+            <param name="value">The value.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JValue.#ctor(System.TimeSpan)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> class with the given value.
+            </summary>
+            <param name="value">The value.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JValue.#ctor(System.Object)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> class with the given value.
+            </summary>
+            <param name="value">The value.</param>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Linq.JValue.HasValues">
+            <summary>
+            Gets a value indicating whether this token has child tokens.
+            </summary>
+            <value>
+            	<c>true</c> if this token has child values; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JValue.CreateComment(System.String)">
+            <summary>
+            Creates a <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> comment with the given value.
+            </summary>
+            <param name="value">The value.</param>
+            <returns>A <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> comment with the given value.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JValue.CreateString(System.String)">
+            <summary>
+            Creates a <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> string with the given value.
+            </summary>
+            <param name="value">The value.</param>
+            <returns>A <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> string with the given value.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JValue.CreateNull">
+            <summary>
+            Creates a <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> null value.
+            </summary>
+            <returns>A <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> null value.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JValue.CreateUndefined">
+            <summary>
+            Creates a <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> undefined value.
+            </summary>
+            <returns>A <see cref="T:LC.Newtonsoft.Json.Linq.JValue"/> undefined value.</returns>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Linq.JValue.Type">
+            <summary>
+            Gets the node type for this <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.
+            </summary>
+            <value>The type.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Linq.JValue.Value">
+            <summary>
+            Gets or sets the underlying token value.
+            </summary>
+            <value>The underlying token value.</value>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JValue.WriteTo(LC.Newtonsoft.Json.JsonWriter,LC.Newtonsoft.Json.JsonConverter[])">
+            <summary>
+            Writes this token to a <see cref="T:LC.Newtonsoft.Json.JsonWriter"/>.
+            </summary>
+            <param name="writer">A <see cref="T:LC.Newtonsoft.Json.JsonWriter"/> into which this method will write.</param>
+            <param name="converters">A collection of <see cref="T:LC.Newtonsoft.Json.JsonConverter"/>s which will be used when writing the token.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JValue.Equals(LC.Newtonsoft.Json.Linq.JValue)">
+            <summary>
+            Indicates whether the current object is equal to another object of the same type.
+            </summary>
+            <returns>
+            <c>true</c> if the current object is equal to the <paramref name="other"/> parameter; otherwise, <c>false</c>.
+            </returns>
+            <param name="other">An object to compare with this object.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JValue.Equals(System.Object)">
+            <summary>
+            Determines whether the specified <see cref="T:System.Object"/> is equal to the current <see cref="T:System.Object"/>.
+            </summary>
+            <param name="obj">The <see cref="T:System.Object"/> to compare with the current <see cref="T:System.Object"/>.</param>
+            <returns>
+            <c>true</c> if the specified <see cref="T:System.Object"/> is equal to the current <see cref="T:System.Object"/>; otherwise, <c>false</c>.
+            </returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JValue.GetHashCode">
+            <summary>
+            Serves as a hash function for a particular type.
+            </summary>
+            <returns>
+            A hash code for the current <see cref="T:System.Object"/>.
+            </returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JValue.ToString">
+            <summary>
+            Returns a <see cref="T:System.String"/> that represents this instance.
+            </summary>
+            <remarks>
+            <c>ToString()</c> returns a non-JSON string value for tokens with a type of <see cref="F:LC.Newtonsoft.Json.Linq.JTokenType.String"/>.
+            If you want the JSON for all token types then you should use <see cref="M:LC.Newtonsoft.Json.Linq.JValue.WriteTo(LC.Newtonsoft.Json.JsonWriter,LC.Newtonsoft.Json.JsonConverter[])"/>.
+            </remarks>
+            <returns>
+            A <see cref="T:System.String"/> that represents this instance.
+            </returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JValue.ToString(System.String)">
+            <summary>
+            Returns a <see cref="T:System.String"/> that represents this instance.
+            </summary>
+            <param name="format">The format.</param>
+            <returns>
+            A <see cref="T:System.String"/> that represents this instance.
+            </returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JValue.ToString(System.IFormatProvider)">
+            <summary>
+            Returns a <see cref="T:System.String"/> that represents this instance.
+            </summary>
+            <param name="formatProvider">The format provider.</param>
+            <returns>
+            A <see cref="T:System.String"/> that represents this instance.
+            </returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JValue.ToString(System.String,System.IFormatProvider)">
+            <summary>
+            Returns a <see cref="T:System.String"/> that represents this instance.
+            </summary>
+            <param name="format">The format.</param>
+            <param name="formatProvider">The format provider.</param>
+            <returns>
+            A <see cref="T:System.String"/> that represents this instance.
+            </returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JValue.GetMetaObject(System.Linq.Expressions.Expression)">
+            <summary>
+            Returns the <see cref="T:System.Dynamic.DynamicMetaObject"/> responsible for binding operations performed on this object.
+            </summary>
+            <param name="parameter">The expression tree representation of the runtime value.</param>
+            <returns>
+            The <see cref="T:System.Dynamic.DynamicMetaObject"/> to bind this object.
+            </returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Linq.JValue.CompareTo(LC.Newtonsoft.Json.Linq.JValue)">
+            <summary>
+            Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object.
+            </summary>
+            <param name="obj">An object to compare with this instance.</param>
+            <returns>
+            A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has these meanings:
+            Value
+            Meaning
+            Less than zero
+            This instance is less than <paramref name="obj"/>.
+            Zero
+            This instance is equal to <paramref name="obj"/>.
+            Greater than zero
+            This instance is greater than <paramref name="obj"/>.
+            </returns>
+            <exception cref="T:System.ArgumentException">
+            	<paramref name="obj"/> is not of the same type as this instance.
+            </exception>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Linq.LineInfoHandling">
+            <summary>
+            Specifies how line information is handled when loading JSON.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.Linq.LineInfoHandling.Ignore">
+            <summary>
+            Ignore line information.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.Linq.LineInfoHandling.Load">
+            <summary>
+            Load line information.
+            </summary>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Linq.MergeArrayHandling">
+            <summary>
+            Specifies how JSON arrays are merged together.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.Linq.MergeArrayHandling.Concat">
+            <summary>Concatenate arrays.</summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.Linq.MergeArrayHandling.Union">
+            <summary>Union arrays, skipping items that already exist.</summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.Linq.MergeArrayHandling.Replace">
+            <summary>Replace all array items.</summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.Linq.MergeArrayHandling.Merge">
+            <summary>Merge array items together, matched by index.</summary>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Linq.MergeNullValueHandling">
+            <summary>
+            Specifies how null value properties are merged.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.Linq.MergeNullValueHandling.Ignore">
+            <summary>
+            The content's null value properties will be ignored during merging.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.Linq.MergeNullValueHandling.Merge">
+            <summary>
+            The content's null value properties will be merged.
+            </summary>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.MemberSerialization">
+            <summary>
+            Specifies the member serialization options for the <see cref="T:LC.Newtonsoft.Json.JsonSerializer"/>.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.MemberSerialization.OptOut">
+            <summary>
+            All public members are serialized by default. Members can be excluded using <see cref="T:LC.Newtonsoft.Json.JsonIgnoreAttribute"/> or <see cref="T:System.NonSerializedAttribute"/>.
+            This is the default member serialization mode.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.MemberSerialization.OptIn">
+            <summary>
+            Only members marked with <see cref="T:LC.Newtonsoft.Json.JsonPropertyAttribute"/> or <see cref="T:System.Runtime.Serialization.DataMemberAttribute"/> are serialized.
+            This member serialization mode can also be set by marking the class with <see cref="T:System.Runtime.Serialization.DataContractAttribute"/>.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.MemberSerialization.Fields">
+            <summary>
+            All public and private fields are serialized. Members can be excluded using <see cref="T:LC.Newtonsoft.Json.JsonIgnoreAttribute"/> or <see cref="T:System.NonSerializedAttribute"/>.
+            This member serialization mode can also be set by marking the class with <see cref="T:System.SerializableAttribute"/>
+            and setting IgnoreSerializableAttribute on <see cref="T:LC.Newtonsoft.Json.Serialization.DefaultContractResolver"/> to <c>false</c>.
+            </summary>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.MetadataPropertyHandling">
+            <summary>
+            Specifies metadata property handling options for the <see cref="T:LC.Newtonsoft.Json.JsonSerializer"/>.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.MetadataPropertyHandling.Default">
+            <summary>
+            Read metadata properties located at the start of a JSON object.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.MetadataPropertyHandling.ReadAhead">
+            <summary>
+            Read metadata properties located anywhere in a JSON object. Note that this setting will impact performance.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.MetadataPropertyHandling.Ignore">
+            <summary>
+            Do not try to read metadata properties.
+            </summary>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.MissingMemberHandling">
+            <summary>
+            Specifies missing member handling options for the <see cref="T:LC.Newtonsoft.Json.JsonSerializer"/>.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.MissingMemberHandling.Ignore">
+            <summary>
+            Ignore a missing member and do not attempt to deserialize it.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.MissingMemberHandling.Error">
+            <summary>
+            Throw a <see cref="T:LC.Newtonsoft.Json.JsonSerializationException"/> when a missing member is encountered during deserialization.
+            </summary>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.NullValueHandling">
+            <summary>
+            Specifies null value handling options for the <see cref="T:LC.Newtonsoft.Json.JsonSerializer"/>.
+            </summary>
+            <example>
+              <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\SerializationTests.cs" region="ReducingSerializedJsonSizeNullValueHandlingObject" title="NullValueHandling Class" />
+              <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\SerializationTests.cs" region="ReducingSerializedJsonSizeNullValueHandlingExample" title="NullValueHandling Ignore Example" />
+            </example>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.NullValueHandling.Include">
+            <summary>
+            Include null values when serializing and deserializing objects.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.NullValueHandling.Ignore">
+            <summary>
+            Ignore null values when serializing and deserializing objects.
+            </summary>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.ObjectCreationHandling">
+            <summary>
+            Specifies how object creation is handled by the <see cref="T:LC.Newtonsoft.Json.JsonSerializer"/>.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.ObjectCreationHandling.Auto">
+            <summary>
+            Reuse existing objects, create new objects when needed.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.ObjectCreationHandling.Reuse">
+            <summary>
+            Only reuse existing objects.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.ObjectCreationHandling.Replace">
+            <summary>
+            Always create new objects.
+            </summary>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.PreserveReferencesHandling">
+            <summary>
+            Specifies reference handling options for the <see cref="T:LC.Newtonsoft.Json.JsonSerializer"/>.
+            Note that references cannot be preserved when a value is set via a non-default constructor such as types that implement <see cref="T:System.Runtime.Serialization.ISerializable"/>.
+            </summary>
+            <example>
+              <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\SerializationTests.cs" region="PreservingObjectReferencesOn" title="Preserve Object References" />       
+            </example>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.PreserveReferencesHandling.None">
+            <summary>
+            Do not preserve references when serializing types.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.PreserveReferencesHandling.Objects">
+            <summary>
+            Preserve references when serializing into a JSON object structure.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.PreserveReferencesHandling.Arrays">
+            <summary>
+            Preserve references when serializing into a JSON array structure.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.PreserveReferencesHandling.All">
+            <summary>
+            Preserve references when serializing.
+            </summary>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.ReferenceLoopHandling">
+            <summary>
+            Specifies reference loop handling options for the <see cref="T:LC.Newtonsoft.Json.JsonSerializer"/>.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.ReferenceLoopHandling.Error">
+            <summary>
+            Throw a <see cref="T:LC.Newtonsoft.Json.JsonSerializationException"/> when a loop is encountered.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.ReferenceLoopHandling.Ignore">
+            <summary>
+            Ignore loop references and do not serialize.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.ReferenceLoopHandling.Serialize">
+            <summary>
+            Serialize loop references.
+            </summary>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Required">
+            <summary>
+            Indicating whether a property is required.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.Required.Default">
+            <summary>
+            The property is not required. The default state.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.Required.AllowNull">
+            <summary>
+            The property must be defined in JSON but can be a null value.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.Required.Always">
+            <summary>
+            The property must be defined in JSON and cannot be a null value.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.Required.DisallowNull">
+            <summary>
+            The property is not required but it cannot be a null value.
+            </summary>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Schema.Extensions">
+            <summary>
+            <para>
+            Contains the JSON schema extension methods.
+            </para>
+            <note type="caution">
+            JSON Schema validation has been moved to its own package. See <see href="https://www.newtonsoft.com/jsonschema">https://www.newtonsoft.com/jsonschema</see> for more details.
+            </note>
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Schema.Extensions.IsValid(LC.Newtonsoft.Json.Linq.JToken,LC.Newtonsoft.Json.Schema.JsonSchema)">
+            <summary>
+            <para>
+            Determines whether the <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> is valid.
+            </para>
+            <note type="caution">
+            JSON Schema validation has been moved to its own package. See <see href="https://www.newtonsoft.com/jsonschema">https://www.newtonsoft.com/jsonschema</see> for more details.
+            </note>
+            </summary>
+            <param name="source">The source <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> to test.</param>
+            <param name="schema">The schema to test with.</param>
+            <returns>
+            	<c>true</c> if the specified <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> is valid; otherwise, <c>false</c>.
+            </returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Schema.Extensions.IsValid(LC.Newtonsoft.Json.Linq.JToken,LC.Newtonsoft.Json.Schema.JsonSchema,System.Collections.Generic.IList{System.String}@)">
+            <summary>
+            <para>
+            Determines whether the <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> is valid.
+            </para>
+            <note type="caution">
+            JSON Schema validation has been moved to its own package. See <see href="https://www.newtonsoft.com/jsonschema">https://www.newtonsoft.com/jsonschema</see> for more details.
+            </note>
+            </summary>
+            <param name="source">The source <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> to test.</param>
+            <param name="schema">The schema to test with.</param>
+            <param name="errorMessages">When this method returns, contains any error messages generated while validating. </param>
+            <returns>
+            	<c>true</c> if the specified <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> is valid; otherwise, <c>false</c>.
+            </returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Schema.Extensions.Validate(LC.Newtonsoft.Json.Linq.JToken,LC.Newtonsoft.Json.Schema.JsonSchema)">
+            <summary>
+            <para>
+            Validates the specified <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.
+            </para>
+            <note type="caution">
+            JSON Schema validation has been moved to its own package. See <see href="https://www.newtonsoft.com/jsonschema">https://www.newtonsoft.com/jsonschema</see> for more details.
+            </note>
+            </summary>
+            <param name="source">The source <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> to test.</param>
+            <param name="schema">The schema to test with.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Schema.Extensions.Validate(LC.Newtonsoft.Json.Linq.JToken,LC.Newtonsoft.Json.Schema.JsonSchema,LC.Newtonsoft.Json.Schema.ValidationEventHandler)">
+            <summary>
+            <para>
+            Validates the specified <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/>.
+            </para>
+            <note type="caution">
+            JSON Schema validation has been moved to its own package. See <see href="https://www.newtonsoft.com/jsonschema">https://www.newtonsoft.com/jsonschema</see> for more details.
+            </note>
+            </summary>
+            <param name="source">The source <see cref="T:LC.Newtonsoft.Json.Linq.JToken"/> to test.</param>
+            <param name="schema">The schema to test with.</param>
+            <param name="validationEventHandler">The validation event handler.</param>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Schema.JsonSchema">
+            <summary>
+            <para>
+            An in-memory representation of a JSON Schema.
+            </para>
+            <note type="caution">
+            JSON Schema validation has been moved to its own package. See <see href="https://www.newtonsoft.com/jsonschema">https://www.newtonsoft.com/jsonschema</see> for more details.
+            </note>
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Schema.JsonSchema.Id">
+            <summary>
+            Gets or sets the id.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Schema.JsonSchema.Title">
+            <summary>
+            Gets or sets the title.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Schema.JsonSchema.Required">
+            <summary>
+            Gets or sets whether the object is required.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Schema.JsonSchema.ReadOnly">
+            <summary>
+            Gets or sets whether the object is read-only.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Schema.JsonSchema.Hidden">
+            <summary>
+            Gets or sets whether the object is visible to users.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Schema.JsonSchema.Transient">
+            <summary>
+            Gets or sets whether the object is transient.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Schema.JsonSchema.Description">
+            <summary>
+            Gets or sets the description of the object.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Schema.JsonSchema.Type">
+            <summary>
+            Gets or sets the types of values allowed by the object.
+            </summary>
+            <value>The type.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Schema.JsonSchema.Pattern">
+            <summary>
+            Gets or sets the pattern.
+            </summary>
+            <value>The pattern.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Schema.JsonSchema.MinimumLength">
+            <summary>
+            Gets or sets the minimum length.
+            </summary>
+            <value>The minimum length.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Schema.JsonSchema.MaximumLength">
+            <summary>
+            Gets or sets the maximum length.
+            </summary>
+            <value>The maximum length.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Schema.JsonSchema.DivisibleBy">
+            <summary>
+            Gets or sets a number that the value should be divisible by.
+            </summary>
+            <value>A number that the value should be divisible by.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Schema.JsonSchema.Minimum">
+            <summary>
+            Gets or sets the minimum.
+            </summary>
+            <value>The minimum.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Schema.JsonSchema.Maximum">
+            <summary>
+            Gets or sets the maximum.
+            </summary>
+            <value>The maximum.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Schema.JsonSchema.ExclusiveMinimum">
+            <summary>
+            Gets or sets a flag indicating whether the value can not equal the number defined by the <c>minimum</c> attribute (<see cref="P:LC.Newtonsoft.Json.Schema.JsonSchema.Minimum"/>).
+            </summary>
+            <value>A flag indicating whether the value can not equal the number defined by the <c>minimum</c> attribute (<see cref="P:LC.Newtonsoft.Json.Schema.JsonSchema.Minimum"/>).</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Schema.JsonSchema.ExclusiveMaximum">
+            <summary>
+            Gets or sets a flag indicating whether the value can not equal the number defined by the <c>maximum</c> attribute (<see cref="P:LC.Newtonsoft.Json.Schema.JsonSchema.Maximum"/>).
+            </summary>
+            <value>A flag indicating whether the value can not equal the number defined by the <c>maximum</c> attribute (<see cref="P:LC.Newtonsoft.Json.Schema.JsonSchema.Maximum"/>).</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Schema.JsonSchema.MinimumItems">
+            <summary>
+            Gets or sets the minimum number of items.
+            </summary>
+            <value>The minimum number of items.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Schema.JsonSchema.MaximumItems">
+            <summary>
+            Gets or sets the maximum number of items.
+            </summary>
+            <value>The maximum number of items.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Schema.JsonSchema.Items">
+            <summary>
+            Gets or sets the <see cref="T:LC.Newtonsoft.Json.Schema.JsonSchema"/> of items.
+            </summary>
+            <value>The <see cref="T:LC.Newtonsoft.Json.Schema.JsonSchema"/> of items.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Schema.JsonSchema.PositionalItemsValidation">
+            <summary>
+            Gets or sets a value indicating whether items in an array are validated using the <see cref="T:LC.Newtonsoft.Json.Schema.JsonSchema"/> instance at their array position from <see cref="P:LC.Newtonsoft.Json.Schema.JsonSchema.Items"/>.
+            </summary>
+            <value>
+            	<c>true</c> if items are validated using their array position; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Schema.JsonSchema.AdditionalItems">
+            <summary>
+            Gets or sets the <see cref="T:LC.Newtonsoft.Json.Schema.JsonSchema"/> of additional items.
+            </summary>
+            <value>The <see cref="T:LC.Newtonsoft.Json.Schema.JsonSchema"/> of additional items.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Schema.JsonSchema.AllowAdditionalItems">
+            <summary>
+            Gets or sets a value indicating whether additional items are allowed.
+            </summary>
+            <value>
+            	<c>true</c> if additional items are allowed; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Schema.JsonSchema.UniqueItems">
+            <summary>
+            Gets or sets whether the array items must be unique.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Schema.JsonSchema.Properties">
+            <summary>
+            Gets or sets the <see cref="T:LC.Newtonsoft.Json.Schema.JsonSchema"/> of properties.
+            </summary>
+            <value>The <see cref="T:LC.Newtonsoft.Json.Schema.JsonSchema"/> of properties.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Schema.JsonSchema.AdditionalProperties">
+            <summary>
+            Gets or sets the <see cref="T:LC.Newtonsoft.Json.Schema.JsonSchema"/> of additional properties.
+            </summary>
+            <value>The <see cref="T:LC.Newtonsoft.Json.Schema.JsonSchema"/> of additional properties.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Schema.JsonSchema.PatternProperties">
+            <summary>
+            Gets or sets the pattern properties.
+            </summary>
+            <value>The pattern properties.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Schema.JsonSchema.AllowAdditionalProperties">
+            <summary>
+            Gets or sets a value indicating whether additional properties are allowed.
+            </summary>
+            <value>
+            	<c>true</c> if additional properties are allowed; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Schema.JsonSchema.Requires">
+            <summary>
+            Gets or sets the required property if this property is present.
+            </summary>
+            <value>The required property if this property is present.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Schema.JsonSchema.Enum">
+            <summary>
+            Gets or sets the a collection of valid enum values allowed.
+            </summary>
+            <value>A collection of valid enum values allowed.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Schema.JsonSchema.Disallow">
+            <summary>
+            Gets or sets disallowed types.
+            </summary>
+            <value>The disallowed types.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Schema.JsonSchema.Default">
+            <summary>
+            Gets or sets the default value.
+            </summary>
+            <value>The default value.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Schema.JsonSchema.Extends">
+            <summary>
+            Gets or sets the collection of <see cref="T:LC.Newtonsoft.Json.Schema.JsonSchema"/> that this schema extends.
+            </summary>
+            <value>The collection of <see cref="T:LC.Newtonsoft.Json.Schema.JsonSchema"/> that this schema extends.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Schema.JsonSchema.Format">
+            <summary>
+            Gets or sets the format.
+            </summary>
+            <value>The format.</value>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Schema.JsonSchema.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Schema.JsonSchema"/> class.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Schema.JsonSchema.Read(LC.Newtonsoft.Json.JsonReader)">
+            <summary>
+            Reads a <see cref="T:LC.Newtonsoft.Json.Schema.JsonSchema"/> from the specified <see cref="T:LC.Newtonsoft.Json.JsonReader"/>.
+            </summary>
+            <param name="reader">The <see cref="T:LC.Newtonsoft.Json.JsonReader"/> containing the JSON Schema to read.</param>
+            <returns>The <see cref="T:LC.Newtonsoft.Json.Schema.JsonSchema"/> object representing the JSON Schema.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Schema.JsonSchema.Read(LC.Newtonsoft.Json.JsonReader,LC.Newtonsoft.Json.Schema.JsonSchemaResolver)">
+            <summary>
+            Reads a <see cref="T:LC.Newtonsoft.Json.Schema.JsonSchema"/> from the specified <see cref="T:LC.Newtonsoft.Json.JsonReader"/>.
+            </summary>
+            <param name="reader">The <see cref="T:LC.Newtonsoft.Json.JsonReader"/> containing the JSON Schema to read.</param>
+            <param name="resolver">The <see cref="T:LC.Newtonsoft.Json.Schema.JsonSchemaResolver"/> to use when resolving schema references.</param>
+            <returns>The <see cref="T:LC.Newtonsoft.Json.Schema.JsonSchema"/> object representing the JSON Schema.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Schema.JsonSchema.Parse(System.String)">
+            <summary>
+            Load a <see cref="T:LC.Newtonsoft.Json.Schema.JsonSchema"/> from a string that contains JSON Schema.
+            </summary>
+            <param name="json">A <see cref="T:System.String"/> that contains JSON Schema.</param>
+            <returns>A <see cref="T:LC.Newtonsoft.Json.Schema.JsonSchema"/> populated from the string that contains JSON Schema.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Schema.JsonSchema.Parse(System.String,LC.Newtonsoft.Json.Schema.JsonSchemaResolver)">
+            <summary>
+            Load a <see cref="T:LC.Newtonsoft.Json.Schema.JsonSchema"/> from a string that contains JSON Schema using the specified <see cref="T:LC.Newtonsoft.Json.Schema.JsonSchemaResolver"/>.
+            </summary>
+            <param name="json">A <see cref="T:System.String"/> that contains JSON Schema.</param>
+            <param name="resolver">The resolver.</param>
+            <returns>A <see cref="T:LC.Newtonsoft.Json.Schema.JsonSchema"/> populated from the string that contains JSON Schema.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Schema.JsonSchema.WriteTo(LC.Newtonsoft.Json.JsonWriter)">
+            <summary>
+            Writes this schema to a <see cref="T:LC.Newtonsoft.Json.JsonWriter"/>.
+            </summary>
+            <param name="writer">A <see cref="T:LC.Newtonsoft.Json.JsonWriter"/> into which this method will write.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Schema.JsonSchema.WriteTo(LC.Newtonsoft.Json.JsonWriter,LC.Newtonsoft.Json.Schema.JsonSchemaResolver)">
+            <summary>
+            Writes this schema to a <see cref="T:LC.Newtonsoft.Json.JsonWriter"/> using the specified <see cref="T:LC.Newtonsoft.Json.Schema.JsonSchemaResolver"/>.
+            </summary>
+            <param name="writer">A <see cref="T:LC.Newtonsoft.Json.JsonWriter"/> into which this method will write.</param>
+            <param name="resolver">The resolver used.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Schema.JsonSchema.ToString">
+            <summary>
+            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:System.Object"/>.
+            </summary>
+            <returns>
+            A <see cref="T:System.String"/> that represents the current <see cref="T:System.Object"/>.
+            </returns>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Schema.JsonSchemaException">
+            <summary>
+            <para>
+            Returns detailed information about the schema exception.
+            </para>
+            <note type="caution">
+            JSON Schema validation has been moved to its own package. See <see href="https://www.newtonsoft.com/jsonschema">https://www.newtonsoft.com/jsonschema</see> for more details.
+            </note>
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Schema.JsonSchemaException.LineNumber">
+            <summary>
+            Gets the line number indicating where the error occurred.
+            </summary>
+            <value>The line number indicating where the error occurred.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Schema.JsonSchemaException.LinePosition">
+            <summary>
+            Gets the line position indicating where the error occurred.
+            </summary>
+            <value>The line position indicating where the error occurred.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Schema.JsonSchemaException.Path">
+            <summary>
+            Gets the path to the JSON where the error occurred.
+            </summary>
+            <value>The path to the JSON where the error occurred.</value>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Schema.JsonSchemaException.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Schema.JsonSchemaException"/> class.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Schema.JsonSchemaException.#ctor(System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Schema.JsonSchemaException"/> class
+            with a specified error message.
+            </summary>
+            <param name="message">The error message that explains the reason for the exception.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Schema.JsonSchemaException.#ctor(System.String,System.Exception)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Schema.JsonSchemaException"/> class
+            with a specified error message and a reference to the inner exception that is the cause of this exception.
+            </summary>
+            <param name="message">The error message that explains the reason for the exception.</param>
+            <param name="innerException">The exception that is the cause of the current exception, or <c>null</c> if no inner exception is specified.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Schema.JsonSchemaException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Schema.JsonSchemaException"/> class.
+            </summary>
+            <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object data about the exception being thrown.</param>
+            <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that contains contextual information about the source or destination.</param>
+            <exception cref="T:System.ArgumentNullException">The <paramref name="info"/> parameter is <c>null</c>.</exception>
+            <exception cref="T:System.Runtime.Serialization.SerializationException">The class name is <c>null</c> or <see cref="P:System.Exception.HResult"/> is zero (0).</exception>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Schema.JsonSchemaGenerator">
+            <summary>
+            <para>
+            Generates a <see cref="T:LC.Newtonsoft.Json.Schema.JsonSchema"/> from a specified <see cref="T:System.Type"/>.
+            </para>
+            <note type="caution">
+            JSON Schema validation has been moved to its own package. See <see href="https://www.newtonsoft.com/jsonschema">https://www.newtonsoft.com/jsonschema</see> for more details.
+            </note>
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Schema.JsonSchemaGenerator.UndefinedSchemaIdHandling">
+            <summary>
+            Gets or sets how undefined schemas are handled by the serializer.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Schema.JsonSchemaGenerator.ContractResolver">
+            <summary>
+            Gets or sets the contract resolver.
+            </summary>
+            <value>The contract resolver.</value>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Schema.JsonSchemaGenerator.Generate(System.Type)">
+            <summary>
+            Generate a <see cref="T:LC.Newtonsoft.Json.Schema.JsonSchema"/> from the specified type.
+            </summary>
+            <param name="type">The type to generate a <see cref="T:LC.Newtonsoft.Json.Schema.JsonSchema"/> from.</param>
+            <returns>A <see cref="T:LC.Newtonsoft.Json.Schema.JsonSchema"/> generated from the specified type.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Schema.JsonSchemaGenerator.Generate(System.Type,LC.Newtonsoft.Json.Schema.JsonSchemaResolver)">
+            <summary>
+            Generate a <see cref="T:LC.Newtonsoft.Json.Schema.JsonSchema"/> from the specified type.
+            </summary>
+            <param name="type">The type to generate a <see cref="T:LC.Newtonsoft.Json.Schema.JsonSchema"/> from.</param>
+            <param name="resolver">The <see cref="T:LC.Newtonsoft.Json.Schema.JsonSchemaResolver"/> used to resolve schema references.</param>
+            <returns>A <see cref="T:LC.Newtonsoft.Json.Schema.JsonSchema"/> generated from the specified type.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Schema.JsonSchemaGenerator.Generate(System.Type,System.Boolean)">
+            <summary>
+            Generate a <see cref="T:LC.Newtonsoft.Json.Schema.JsonSchema"/> from the specified type.
+            </summary>
+            <param name="type">The type to generate a <see cref="T:LC.Newtonsoft.Json.Schema.JsonSchema"/> from.</param>
+            <param name="rootSchemaNullable">Specify whether the generated root <see cref="T:LC.Newtonsoft.Json.Schema.JsonSchema"/> will be nullable.</param>
+            <returns>A <see cref="T:LC.Newtonsoft.Json.Schema.JsonSchema"/> generated from the specified type.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Schema.JsonSchemaGenerator.Generate(System.Type,LC.Newtonsoft.Json.Schema.JsonSchemaResolver,System.Boolean)">
+            <summary>
+            Generate a <see cref="T:LC.Newtonsoft.Json.Schema.JsonSchema"/> from the specified type.
+            </summary>
+            <param name="type">The type to generate a <see cref="T:LC.Newtonsoft.Json.Schema.JsonSchema"/> from.</param>
+            <param name="resolver">The <see cref="T:LC.Newtonsoft.Json.Schema.JsonSchemaResolver"/> used to resolve schema references.</param>
+            <param name="rootSchemaNullable">Specify whether the generated root <see cref="T:LC.Newtonsoft.Json.Schema.JsonSchema"/> will be nullable.</param>
+            <returns>A <see cref="T:LC.Newtonsoft.Json.Schema.JsonSchema"/> generated from the specified type.</returns>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Schema.JsonSchemaResolver">
+            <summary>
+            <para>
+            Resolves <see cref="T:LC.Newtonsoft.Json.Schema.JsonSchema"/> from an id.
+            </para>
+            <note type="caution">
+            JSON Schema validation has been moved to its own package. See <see href="https://www.newtonsoft.com/jsonschema">https://www.newtonsoft.com/jsonschema</see> for more details.
+            </note>
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Schema.JsonSchemaResolver.LoadedSchemas">
+            <summary>
+            Gets or sets the loaded schemas.
+            </summary>
+            <value>The loaded schemas.</value>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Schema.JsonSchemaResolver.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Schema.JsonSchemaResolver"/> class.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Schema.JsonSchemaResolver.GetSchema(System.String)">
+            <summary>
+            Gets a <see cref="T:LC.Newtonsoft.Json.Schema.JsonSchema"/> for the specified reference.
+            </summary>
+            <param name="reference">The id.</param>
+            <returns>A <see cref="T:LC.Newtonsoft.Json.Schema.JsonSchema"/> for the specified reference.</returns>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Schema.JsonSchemaType">
+            <summary>
+            <para>
+            The value types allowed by the <see cref="T:LC.Newtonsoft.Json.Schema.JsonSchema"/>.
+            </para>
+            <note type="caution">
+            JSON Schema validation has been moved to its own package. See <see href="https://www.newtonsoft.com/jsonschema">https://www.newtonsoft.com/jsonschema</see> for more details.
+            </note>
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.Schema.JsonSchemaType.None">
+            <summary>
+            No type specified.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.Schema.JsonSchemaType.String">
+            <summary>
+            String type.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.Schema.JsonSchemaType.Float">
+            <summary>
+            Float type.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.Schema.JsonSchemaType.Integer">
+            <summary>
+            Integer type.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.Schema.JsonSchemaType.Boolean">
+            <summary>
+            Boolean type.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.Schema.JsonSchemaType.Object">
+            <summary>
+            Object type.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.Schema.JsonSchemaType.Array">
+            <summary>
+            Array type.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.Schema.JsonSchemaType.Null">
+            <summary>
+            Null type.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.Schema.JsonSchemaType.Any">
+            <summary>
+            Any type.
+            </summary>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Schema.UndefinedSchemaIdHandling">
+            <summary>
+            <para>
+            Specifies undefined schema Id handling options for the <see cref="T:LC.Newtonsoft.Json.Schema.JsonSchemaGenerator"/>.
+            </para>
+            <note type="caution">
+            JSON Schema validation has been moved to its own package. See <see href="https://www.newtonsoft.com/jsonschema">https://www.newtonsoft.com/jsonschema</see> for more details.
+            </note>
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.Schema.UndefinedSchemaIdHandling.None">
+            <summary>
+            Do not infer a schema Id.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.Schema.UndefinedSchemaIdHandling.UseTypeName">
+            <summary>
+            Use the .NET type name as the schema Id.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.Schema.UndefinedSchemaIdHandling.UseAssemblyQualifiedName">
+            <summary>
+            Use the assembly qualified .NET type name as the schema Id.
+            </summary>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Schema.ValidationEventArgs">
+            <summary>
+            <para>
+            Returns detailed information related to the <see cref="T:LC.Newtonsoft.Json.Schema.ValidationEventHandler"/>.
+            </para>
+            <note type="caution">
+            JSON Schema validation has been moved to its own package. See <see href="https://www.newtonsoft.com/jsonschema">https://www.newtonsoft.com/jsonschema</see> for more details.
+            </note>
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Schema.ValidationEventArgs.Exception">
+            <summary>
+            Gets the <see cref="T:LC.Newtonsoft.Json.Schema.JsonSchemaException"/> associated with the validation error.
+            </summary>
+            <value>The JsonSchemaException associated with the validation error.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Schema.ValidationEventArgs.Path">
+            <summary>
+            Gets the path of the JSON location where the validation error occurred.
+            </summary>
+            <value>The path of the JSON location where the validation error occurred.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Schema.ValidationEventArgs.Message">
+            <summary>
+            Gets the text description corresponding to the validation error.
+            </summary>
+            <value>The text description.</value>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Schema.ValidationEventHandler">
+            <summary>
+            <para>
+            Represents the callback method that will handle JSON schema validation events and the <see cref="T:LC.Newtonsoft.Json.Schema.ValidationEventArgs"/>.
+            </para>
+            <note type="caution">
+            JSON Schema validation has been moved to its own package. See <see href="https://www.newtonsoft.com/jsonschema">https://www.newtonsoft.com/jsonschema</see> for more details.
+            </note>
+            </summary>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Serialization.CamelCaseNamingStrategy">
+            <summary>
+            A camel case naming strategy.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.CamelCaseNamingStrategy.#ctor(System.Boolean,System.Boolean)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Serialization.CamelCaseNamingStrategy"/> class.
+            </summary>
+            <param name="processDictionaryKeys">
+            A flag indicating whether dictionary keys should be processed.
+            </param>
+            <param name="overrideSpecifiedNames">
+            A flag indicating whether explicitly specified property names should be processed,
+            e.g. a property name customized with a <see cref="T:LC.Newtonsoft.Json.JsonPropertyAttribute"/>.
+            </param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.CamelCaseNamingStrategy.#ctor(System.Boolean,System.Boolean,System.Boolean)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Serialization.CamelCaseNamingStrategy"/> class.
+            </summary>
+            <param name="processDictionaryKeys">
+            A flag indicating whether dictionary keys should be processed.
+            </param>
+            <param name="overrideSpecifiedNames">
+            A flag indicating whether explicitly specified property names should be processed,
+            e.g. a property name customized with a <see cref="T:LC.Newtonsoft.Json.JsonPropertyAttribute"/>.
+            </param>
+            <param name="processExtensionDataNames">
+            A flag indicating whether extension data names should be processed.
+            </param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.CamelCaseNamingStrategy.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Serialization.CamelCaseNamingStrategy"/> class.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.CamelCaseNamingStrategy.ResolvePropertyName(System.String)">
+            <summary>
+            Resolves the specified property name.
+            </summary>
+            <param name="name">The property name to resolve.</param>
+            <returns>The resolved property name.</returns>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Serialization.CamelCasePropertyNamesContractResolver">
+            <summary>
+            Resolves member mappings for a type, camel casing property names.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.CamelCasePropertyNamesContractResolver.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Serialization.CamelCasePropertyNamesContractResolver"/> class.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.CamelCasePropertyNamesContractResolver.ResolveContract(System.Type)">
+            <summary>
+            Resolves the contract for a given type.
+            </summary>
+            <param name="type">The type to resolve a contract for.</param>
+            <returns>The contract for a given type.</returns>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Serialization.DefaultContractResolver">
+            <summary>
+            Used by <see cref="T:LC.Newtonsoft.Json.JsonSerializer"/> to resolve a <see cref="T:LC.Newtonsoft.Json.Serialization.JsonContract"/> for a given <see cref="T:System.Type"/>.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.DefaultContractResolver.DynamicCodeGeneration">
+            <summary>
+            Gets a value indicating whether members are being get and set using dynamic code generation.
+            This value is determined by the runtime permissions available.
+            </summary>
+            <value>
+            	<c>true</c> if using dynamic code generation; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.DefaultContractResolver.DefaultMembersSearchFlags">
+            <summary>
+            Gets or sets the default members search flags.
+            </summary>
+            <value>The default members search flags.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.DefaultContractResolver.SerializeCompilerGeneratedMembers">
+            <summary>
+            Gets or sets a value indicating whether compiler generated members should be serialized.
+            </summary>
+            <value>
+            	<c>true</c> if serialized compiler generated members; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.DefaultContractResolver.IgnoreSerializableInterface">
+            <summary>
+            Gets or sets a value indicating whether to ignore the <see cref="T:System.Runtime.Serialization.ISerializable"/> interface when serializing and deserializing types.
+            </summary>
+            <value>
+            	<c>true</c> if the <see cref="T:System.Runtime.Serialization.ISerializable"/> interface will be ignored when serializing and deserializing types; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.DefaultContractResolver.IgnoreSerializableAttribute">
+            <summary>
+            Gets or sets a value indicating whether to ignore the <see cref="T:System.SerializableAttribute"/> attribute when serializing and deserializing types.
+            </summary>
+            <value>
+            	<c>true</c> if the <see cref="T:System.SerializableAttribute"/> attribute will be ignored when serializing and deserializing types; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.DefaultContractResolver.IgnoreIsSpecifiedMembers">
+            <summary>
+            Gets or sets a value indicating whether to ignore IsSpecified members when serializing and deserializing types.
+            </summary>
+            <value>
+                <c>true</c> if the IsSpecified members will be ignored when serializing and deserializing types; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.DefaultContractResolver.IgnoreShouldSerializeMembers">
+            <summary>
+            Gets or sets a value indicating whether to ignore ShouldSerialize members when serializing and deserializing types.
+            </summary>
+            <value>
+                <c>true</c> if the ShouldSerialize members will be ignored when serializing and deserializing types; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.DefaultContractResolver.NamingStrategy">
+            <summary>
+            Gets or sets the naming strategy used to resolve how property names and dictionary keys are serialized.
+            </summary>
+            <value>The naming strategy used to resolve how property names and dictionary keys are serialized.</value>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.DefaultContractResolver.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Serialization.DefaultContractResolver"/> class.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.DefaultContractResolver.ResolveContract(System.Type)">
+            <summary>
+            Resolves the contract for a given type.
+            </summary>
+            <param name="type">The type to resolve a contract for.</param>
+            <returns>The contract for a given type.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.DefaultContractResolver.GetSerializableMembers(System.Type)">
+            <summary>
+            Gets the serializable members for the type.
+            </summary>
+            <param name="objectType">The type to get serializable members for.</param>
+            <returns>The serializable members for the type.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.DefaultContractResolver.CreateObjectContract(System.Type)">
+            <summary>
+            Creates a <see cref="T:LC.Newtonsoft.Json.Serialization.JsonObjectContract"/> for the given type.
+            </summary>
+            <param name="objectType">Type of the object.</param>
+            <returns>A <see cref="T:LC.Newtonsoft.Json.Serialization.JsonObjectContract"/> for the given type.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.DefaultContractResolver.CreateConstructorParameters(System.Reflection.ConstructorInfo,LC.Newtonsoft.Json.Serialization.JsonPropertyCollection)">
+            <summary>
+            Creates the constructor parameters.
+            </summary>
+            <param name="constructor">The constructor to create properties for.</param>
+            <param name="memberProperties">The type's member properties.</param>
+            <returns>Properties for the given <see cref="T:System.Reflection.ConstructorInfo"/>.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.DefaultContractResolver.CreatePropertyFromConstructorParameter(LC.Newtonsoft.Json.Serialization.JsonProperty,System.Reflection.ParameterInfo)">
+            <summary>
+            Creates a <see cref="T:LC.Newtonsoft.Json.Serialization.JsonProperty"/> for the given <see cref="T:System.Reflection.ParameterInfo"/>.
+            </summary>
+            <param name="matchingMemberProperty">The matching member property.</param>
+            <param name="parameterInfo">The constructor parameter.</param>
+            <returns>A created <see cref="T:LC.Newtonsoft.Json.Serialization.JsonProperty"/> for the given <see cref="T:System.Reflection.ParameterInfo"/>.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.DefaultContractResolver.ResolveContractConverter(System.Type)">
+            <summary>
+            Resolves the default <see cref="T:LC.Newtonsoft.Json.JsonConverter" /> for the contract.
+            </summary>
+            <param name="objectType">Type of the object.</param>
+            <returns>The contract's default <see cref="T:LC.Newtonsoft.Json.JsonConverter" />.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.DefaultContractResolver.CreateDictionaryContract(System.Type)">
+            <summary>
+            Creates a <see cref="T:LC.Newtonsoft.Json.Serialization.JsonDictionaryContract"/> for the given type.
+            </summary>
+            <param name="objectType">Type of the object.</param>
+            <returns>A <see cref="T:LC.Newtonsoft.Json.Serialization.JsonDictionaryContract"/> for the given type.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.DefaultContractResolver.CreateArrayContract(System.Type)">
+            <summary>
+            Creates a <see cref="T:LC.Newtonsoft.Json.Serialization.JsonArrayContract"/> for the given type.
+            </summary>
+            <param name="objectType">Type of the object.</param>
+            <returns>A <see cref="T:LC.Newtonsoft.Json.Serialization.JsonArrayContract"/> for the given type.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.DefaultContractResolver.CreatePrimitiveContract(System.Type)">
+            <summary>
+            Creates a <see cref="T:LC.Newtonsoft.Json.Serialization.JsonPrimitiveContract"/> for the given type.
+            </summary>
+            <param name="objectType">Type of the object.</param>
+            <returns>A <see cref="T:LC.Newtonsoft.Json.Serialization.JsonPrimitiveContract"/> for the given type.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.DefaultContractResolver.CreateLinqContract(System.Type)">
+            <summary>
+            Creates a <see cref="T:LC.Newtonsoft.Json.Serialization.JsonLinqContract"/> for the given type.
+            </summary>
+            <param name="objectType">Type of the object.</param>
+            <returns>A <see cref="T:LC.Newtonsoft.Json.Serialization.JsonLinqContract"/> for the given type.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.DefaultContractResolver.CreateISerializableContract(System.Type)">
+            <summary>
+            Creates a <see cref="T:LC.Newtonsoft.Json.Serialization.JsonISerializableContract"/> for the given type.
+            </summary>
+            <param name="objectType">Type of the object.</param>
+            <returns>A <see cref="T:LC.Newtonsoft.Json.Serialization.JsonISerializableContract"/> for the given type.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.DefaultContractResolver.CreateDynamicContract(System.Type)">
+            <summary>
+            Creates a <see cref="T:LC.Newtonsoft.Json.Serialization.JsonDynamicContract"/> for the given type.
+            </summary>
+            <param name="objectType">Type of the object.</param>
+            <returns>A <see cref="T:LC.Newtonsoft.Json.Serialization.JsonDynamicContract"/> for the given type.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.DefaultContractResolver.CreateStringContract(System.Type)">
+            <summary>
+            Creates a <see cref="T:LC.Newtonsoft.Json.Serialization.JsonStringContract"/> for the given type.
+            </summary>
+            <param name="objectType">Type of the object.</param>
+            <returns>A <see cref="T:LC.Newtonsoft.Json.Serialization.JsonStringContract"/> for the given type.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.DefaultContractResolver.CreateContract(System.Type)">
+            <summary>
+            Determines which contract type is created for the given type.
+            </summary>
+            <param name="objectType">Type of the object.</param>
+            <returns>A <see cref="T:LC.Newtonsoft.Json.Serialization.JsonContract"/> for the given type.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.DefaultContractResolver.CreateProperties(System.Type,LC.Newtonsoft.Json.MemberSerialization)">
+            <summary>
+            Creates properties for the given <see cref="T:LC.Newtonsoft.Json.Serialization.JsonContract"/>.
+            </summary>
+            <param name="type">The type to create properties for.</param>
+            /// <param name="memberSerialization">The member serialization mode for the type.</param>
+            <returns>Properties for the given <see cref="T:LC.Newtonsoft.Json.Serialization.JsonContract"/>.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.DefaultContractResolver.CreateMemberValueProvider(System.Reflection.MemberInfo)">
+            <summary>
+            Creates the <see cref="T:LC.Newtonsoft.Json.Serialization.IValueProvider"/> used by the serializer to get and set values from a member.
+            </summary>
+            <param name="member">The member.</param>
+            <returns>The <see cref="T:LC.Newtonsoft.Json.Serialization.IValueProvider"/> used by the serializer to get and set values from a member.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.DefaultContractResolver.CreateProperty(System.Reflection.MemberInfo,LC.Newtonsoft.Json.MemberSerialization)">
+            <summary>
+            Creates a <see cref="T:LC.Newtonsoft.Json.Serialization.JsonProperty"/> for the given <see cref="T:System.Reflection.MemberInfo"/>.
+            </summary>
+            <param name="memberSerialization">The member's parent <see cref="T:LC.Newtonsoft.Json.MemberSerialization"/>.</param>
+            <param name="member">The member to create a <see cref="T:LC.Newtonsoft.Json.Serialization.JsonProperty"/> for.</param>
+            <returns>A created <see cref="T:LC.Newtonsoft.Json.Serialization.JsonProperty"/> for the given <see cref="T:System.Reflection.MemberInfo"/>.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.DefaultContractResolver.ResolvePropertyName(System.String)">
+            <summary>
+            Resolves the name of the property.
+            </summary>
+            <param name="propertyName">Name of the property.</param>
+            <returns>Resolved name of the property.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.DefaultContractResolver.ResolveExtensionDataName(System.String)">
+            <summary>
+            Resolves the name of the extension data. By default no changes are made to extension data names.
+            </summary>
+            <param name="extensionDataName">Name of the extension data.</param>
+            <returns>Resolved name of the extension data.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.DefaultContractResolver.ResolveDictionaryKey(System.String)">
+            <summary>
+            Resolves the key of the dictionary. By default <see cref="M:LC.Newtonsoft.Json.Serialization.DefaultContractResolver.ResolvePropertyName(System.String)"/> is used to resolve dictionary keys.
+            </summary>
+            <param name="dictionaryKey">Key of the dictionary.</param>
+            <returns>Resolved key of the dictionary.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.DefaultContractResolver.GetResolvedPropertyName(System.String)">
+            <summary>
+            Gets the resolved name of the property.
+            </summary>
+            <param name="propertyName">Name of the property.</param>
+            <returns>Name of the property.</returns>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Serialization.DefaultNamingStrategy">
+            <summary>
+            The default naming strategy. Property names and dictionary keys are unchanged.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.DefaultNamingStrategy.ResolvePropertyName(System.String)">
+            <summary>
+            Resolves the specified property name.
+            </summary>
+            <param name="name">The property name to resolve.</param>
+            <returns>The resolved property name.</returns>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Serialization.DefaultSerializationBinder">
+            <summary>
+            The default serialization binder used when resolving and loading classes from type names.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.DefaultSerializationBinder.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Serialization.DefaultSerializationBinder"/> class.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.DefaultSerializationBinder.BindToType(System.String,System.String)">
+            <summary>
+            When overridden in a derived class, controls the binding of a serialized object to a type.
+            </summary>
+            <param name="assemblyName">Specifies the <see cref="T:System.Reflection.Assembly"/> name of the serialized object.</param>
+            <param name="typeName">Specifies the <see cref="T:System.Type"/> name of the serialized object.</param>
+            <returns>
+            The type of the object the formatter creates a new instance of.
+            </returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.DefaultSerializationBinder.BindToName(System.Type,System.String@,System.String@)">
+            <summary>
+            When overridden in a derived class, controls the binding of a serialized object to a type.
+            </summary>
+            <param name="serializedType">The type of the object the formatter creates a new instance of.</param>
+            <param name="assemblyName">Specifies the <see cref="T:System.Reflection.Assembly"/> name of the serialized object.</param>
+            <param name="typeName">Specifies the <see cref="T:System.Type"/> name of the serialized object.</param>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Serialization.DiagnosticsTraceWriter">
+            <summary>
+            Represents a trace writer that writes to the application's <see cref="T:System.Diagnostics.TraceListener"/> instances.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.DiagnosticsTraceWriter.LevelFilter">
+            <summary>
+            Gets the <see cref="T:System.Diagnostics.TraceLevel"/> that will be used to filter the trace messages passed to the writer.
+            For example a filter level of <see cref="F:System.Diagnostics.TraceLevel.Info"/> will exclude <see cref="F:System.Diagnostics.TraceLevel.Verbose"/> messages and include <see cref="F:System.Diagnostics.TraceLevel.Info"/>,
+            <see cref="F:System.Diagnostics.TraceLevel.Warning"/> and <see cref="F:System.Diagnostics.TraceLevel.Error"/> messages.
+            </summary>
+            <value>
+            The <see cref="T:System.Diagnostics.TraceLevel"/> that will be used to filter the trace messages passed to the writer.
+            </value>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.DiagnosticsTraceWriter.Trace(System.Diagnostics.TraceLevel,System.String,System.Exception)">
+            <summary>
+            Writes the specified trace level, message and optional exception.
+            </summary>
+            <param name="level">The <see cref="T:System.Diagnostics.TraceLevel"/> at which to write this trace.</param>
+            <param name="message">The trace message.</param>
+            <param name="ex">The trace exception. This parameter is optional.</param>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Serialization.ErrorContext">
+            <summary>
+            Provides information surrounding an error.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.ErrorContext.Error">
+            <summary>
+            Gets the error.
+            </summary>
+            <value>The error.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.ErrorContext.OriginalObject">
+            <summary>
+            Gets the original object that caused the error.
+            </summary>
+            <value>The original object that caused the error.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.ErrorContext.Member">
+            <summary>
+            Gets the member that caused the error.
+            </summary>
+            <value>The member that caused the error.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.ErrorContext.Path">
+            <summary>
+            Gets the path of the JSON location where the error occurred.
+            </summary>
+            <value>The path of the JSON location where the error occurred.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.ErrorContext.Handled">
+            <summary>
+            Gets or sets a value indicating whether this <see cref="T:LC.Newtonsoft.Json.Serialization.ErrorContext"/> is handled.
+            </summary>
+            <value><c>true</c> if handled; otherwise, <c>false</c>.</value>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Serialization.ErrorEventArgs">
+            <summary>
+            Provides data for the Error event.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.ErrorEventArgs.CurrentObject">
+            <summary>
+            Gets the current object the error event is being raised against.
+            </summary>
+            <value>The current object the error event is being raised against.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.ErrorEventArgs.ErrorContext">
+            <summary>
+            Gets the error context.
+            </summary>
+            <value>The error context.</value>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.ErrorEventArgs.#ctor(System.Object,LC.Newtonsoft.Json.Serialization.ErrorContext)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Serialization.ErrorEventArgs"/> class.
+            </summary>
+            <param name="currentObject">The current object.</param>
+            <param name="errorContext">The error context.</param>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Serialization.IAttributeProvider">
+            <summary>
+            Provides methods to get attributes.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.IAttributeProvider.GetAttributes(System.Boolean)">
+            <summary>
+            Returns a collection of all of the attributes, or an empty collection if there are no attributes.
+            </summary>
+            <param name="inherit">When <c>true</c>, look up the hierarchy chain for the inherited custom attribute.</param>
+            <returns>A collection of <see cref="T:System.Attribute"/>s, or an empty collection.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.IAttributeProvider.GetAttributes(System.Type,System.Boolean)">
+            <summary>
+            Returns a collection of attributes, identified by type, or an empty collection if there are no attributes.
+            </summary>
+            <param name="attributeType">The type of the attributes.</param>
+            <param name="inherit">When <c>true</c>, look up the hierarchy chain for the inherited custom attribute.</param>
+            <returns>A collection of <see cref="T:System.Attribute"/>s, or an empty collection.</returns>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Serialization.IContractResolver">
+            <summary>
+            Used by <see cref="T:LC.Newtonsoft.Json.JsonSerializer"/> to resolve a <see cref="T:LC.Newtonsoft.Json.Serialization.JsonContract"/> for a given <see cref="T:System.Type"/>.
+            </summary>
+            <example>
+              <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\SerializationTests.cs" region="ReducingSerializedJsonSizeContractResolverObject" title="IContractResolver Class" />
+              <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\SerializationTests.cs" region="ReducingSerializedJsonSizeContractResolverExample" title="IContractResolver Example" />
+            </example>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.IContractResolver.ResolveContract(System.Type)">
+            <summary>
+            Resolves the contract for a given type.
+            </summary>
+            <param name="type">The type to resolve a contract for.</param>
+            <returns>The contract for a given type.</returns>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Serialization.IReferenceResolver">
+            <summary>
+            Used to resolve references when serializing and deserializing JSON by the <see cref="T:LC.Newtonsoft.Json.JsonSerializer"/>.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.IReferenceResolver.ResolveReference(System.Object,System.String)">
+            <summary>
+            Resolves a reference to its object.
+            </summary>
+            <param name="context">The serialization context.</param>
+            <param name="reference">The reference to resolve.</param>
+            <returns>The object that was resolved from the reference.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.IReferenceResolver.GetReference(System.Object,System.Object)">
+            <summary>
+            Gets the reference for the specified object.
+            </summary>
+            <param name="context">The serialization context.</param>
+            <param name="value">The object to get a reference for.</param>
+            <returns>The reference to the object.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.IReferenceResolver.IsReferenced(System.Object,System.Object)">
+            <summary>
+            Determines whether the specified object is referenced.
+            </summary>
+            <param name="context">The serialization context.</param>
+            <param name="value">The object to test for a reference.</param>
+            <returns>
+            	<c>true</c> if the specified object is referenced; otherwise, <c>false</c>.
+            </returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.IReferenceResolver.AddReference(System.Object,System.String,System.Object)">
+            <summary>
+            Adds a reference to the specified object.
+            </summary>
+            <param name="context">The serialization context.</param>
+            <param name="reference">The reference.</param>
+            <param name="value">The object to reference.</param>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Serialization.ISerializationBinder">
+            <summary>
+            Allows users to control class loading and mandate what class to load.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.ISerializationBinder.BindToType(System.String,System.String)">
+            <summary>
+            When implemented, controls the binding of a serialized object to a type.
+            </summary>
+            <param name="assemblyName">Specifies the <see cref="T:System.Reflection.Assembly"/> name of the serialized object.</param>
+            <param name="typeName">Specifies the <see cref="T:System.Type"/> name of the serialized object</param>
+            <returns>The type of the object the formatter creates a new instance of.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.ISerializationBinder.BindToName(System.Type,System.String@,System.String@)">
+            <summary>
+            When implemented, controls the binding of a serialized object to a type.
+            </summary>
+            <param name="serializedType">The type of the object the formatter creates a new instance of.</param>
+            <param name="assemblyName">Specifies the <see cref="T:System.Reflection.Assembly"/> name of the serialized object.</param>
+            <param name="typeName">Specifies the <see cref="T:System.Type"/> name of the serialized object.</param>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Serialization.ITraceWriter">
+            <summary>
+            Represents a trace writer.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.ITraceWriter.LevelFilter">
+            <summary>
+            Gets the <see cref="T:System.Diagnostics.TraceLevel"/> that will be used to filter the trace messages passed to the writer.
+            For example a filter level of <see cref="F:System.Diagnostics.TraceLevel.Info"/> will exclude <see cref="F:System.Diagnostics.TraceLevel.Verbose"/> messages and include <see cref="F:System.Diagnostics.TraceLevel.Info"/>,
+            <see cref="F:System.Diagnostics.TraceLevel.Warning"/> and <see cref="F:System.Diagnostics.TraceLevel.Error"/> messages.
+            </summary>
+            <value>The <see cref="T:System.Diagnostics.TraceLevel"/> that will be used to filter the trace messages passed to the writer.</value>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.ITraceWriter.Trace(System.Diagnostics.TraceLevel,System.String,System.Exception)">
+            <summary>
+            Writes the specified trace level, message and optional exception.
+            </summary>
+            <param name="level">The <see cref="T:System.Diagnostics.TraceLevel"/> at which to write this trace.</param>
+            <param name="message">The trace message.</param>
+            <param name="ex">The trace exception. This parameter is optional.</param>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Serialization.IValueProvider">
+            <summary>
+            Provides methods to get and set values.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.IValueProvider.SetValue(System.Object,System.Object)">
+            <summary>
+            Sets the value.
+            </summary>
+            <param name="target">The target to set the value on.</param>
+            <param name="value">The value to set on the target.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.IValueProvider.GetValue(System.Object)">
+            <summary>
+            Gets the value.
+            </summary>
+            <param name="target">The target to get the value from.</param>
+            <returns>The value.</returns>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Serialization.JsonArrayContract">
+            <summary>
+            Contract details for a <see cref="T:System.Type"/> used by the <see cref="T:LC.Newtonsoft.Json.JsonSerializer"/>.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.JsonArrayContract.CollectionItemType">
+            <summary>
+            Gets the <see cref="T:System.Type"/> of the collection items.
+            </summary>
+            <value>The <see cref="T:System.Type"/> of the collection items.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.JsonArrayContract.IsMultidimensionalArray">
+            <summary>
+            Gets a value indicating whether the collection type is a multidimensional array.
+            </summary>
+            <value><c>true</c> if the collection type is a multidimensional array; otherwise, <c>false</c>.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.JsonArrayContract.OverrideCreator">
+            <summary>
+            Gets or sets the function used to create the object. When set this function will override <see cref="P:LC.Newtonsoft.Json.Serialization.JsonContract.DefaultCreator"/>.
+            </summary>
+            <value>The function used to create the object.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.JsonArrayContract.HasParameterizedCreator">
+            <summary>
+            Gets a value indicating whether the creator has a parameter with the collection values.
+            </summary>
+            <value><c>true</c> if the creator has a parameter with the collection values; otherwise, <c>false</c>.</value>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.JsonArrayContract.#ctor(System.Type)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Serialization.JsonArrayContract"/> class.
+            </summary>
+            <param name="underlyingType">The underlying type for the contract.</param>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Serialization.JsonContainerContract">
+            <summary>
+            Contract details for a <see cref="T:System.Type"/> used by the <see cref="T:LC.Newtonsoft.Json.JsonSerializer"/>.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.JsonContainerContract.ItemConverter">
+            <summary>
+            Gets or sets the default collection items <see cref="T:LC.Newtonsoft.Json.JsonConverter" />.
+            </summary>
+            <value>The converter.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.JsonContainerContract.ItemIsReference">
+            <summary>
+            Gets or sets a value indicating whether the collection items preserve object references.
+            </summary>
+            <value><c>true</c> if collection items preserve object references; otherwise, <c>false</c>.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.JsonContainerContract.ItemReferenceLoopHandling">
+            <summary>
+            Gets or sets the collection item reference loop handling.
+            </summary>
+            <value>The reference loop handling.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.JsonContainerContract.ItemTypeNameHandling">
+            <summary>
+            Gets or sets the collection item type name handling.
+            </summary>
+            <value>The type name handling.</value>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.JsonContainerContract.#ctor(System.Type)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Serialization.JsonContainerContract"/> class.
+            </summary>
+            <param name="underlyingType">The underlying type for the contract.</param>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Serialization.SerializationCallback">
+            <summary>
+            Handles <see cref="T:LC.Newtonsoft.Json.JsonSerializer"/> serialization callback events.
+            </summary>
+            <param name="o">The object that raised the callback event.</param>
+            <param name="context">The streaming context.</param>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Serialization.SerializationErrorCallback">
+            <summary>
+            Handles <see cref="T:LC.Newtonsoft.Json.JsonSerializer"/> serialization error callback events.
+            </summary>
+            <param name="o">The object that raised the callback event.</param>
+            <param name="context">The streaming context.</param>
+            <param name="errorContext">The error context.</param>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Serialization.ExtensionDataSetter">
+            <summary>
+            Sets extension data for an object during deserialization.
+            </summary>
+            <param name="o">The object to set extension data on.</param>
+            <param name="key">The extension data key.</param>
+            <param name="value">The extension data value.</param>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Serialization.ExtensionDataGetter">
+            <summary>
+            Gets extension data for an object during serialization.
+            </summary>
+            <param name="o">The object to set extension data on.</param>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Serialization.JsonContract">
+            <summary>
+            Contract details for a <see cref="T:System.Type"/> used by the <see cref="T:LC.Newtonsoft.Json.JsonSerializer"/>.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.JsonContract.UnderlyingType">
+            <summary>
+            Gets the underlying type for the contract.
+            </summary>
+            <value>The underlying type for the contract.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.JsonContract.CreatedType">
+            <summary>
+            Gets or sets the type created during deserialization.
+            </summary>
+            <value>The type created during deserialization.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.JsonContract.IsReference">
+            <summary>
+            Gets or sets whether this type contract is serialized as a reference.
+            </summary>
+            <value>Whether this type contract is serialized as a reference.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.JsonContract.Converter">
+            <summary>
+            Gets or sets the default <see cref="T:LC.Newtonsoft.Json.JsonConverter" /> for this contract.
+            </summary>
+            <value>The converter.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.JsonContract.InternalConverter">
+            <summary>
+            Gets the internally resolved <see cref="T:LC.Newtonsoft.Json.JsonConverter"/> for the contract's type.
+            This converter is used as a fallback converter when no other converter is resolved.
+            Setting <see cref="P:LC.Newtonsoft.Json.Serialization.JsonContract.Converter"/> will always override this converter.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.JsonContract.OnDeserializedCallbacks">
+            <summary>
+            Gets or sets all methods called immediately after deserialization of the object.
+            </summary>
+            <value>The methods called immediately after deserialization of the object.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.JsonContract.OnDeserializingCallbacks">
+            <summary>
+            Gets or sets all methods called during deserialization of the object.
+            </summary>
+            <value>The methods called during deserialization of the object.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.JsonContract.OnSerializedCallbacks">
+            <summary>
+            Gets or sets all methods called after serialization of the object graph.
+            </summary>
+            <value>The methods called after serialization of the object graph.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.JsonContract.OnSerializingCallbacks">
+            <summary>
+            Gets or sets all methods called before serialization of the object.
+            </summary>
+            <value>The methods called before serialization of the object.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.JsonContract.OnErrorCallbacks">
+            <summary>
+            Gets or sets all method called when an error is thrown during the serialization of the object.
+            </summary>
+            <value>The methods called when an error is thrown during the serialization of the object.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.JsonContract.DefaultCreator">
+            <summary>
+            Gets or sets the default creator method used to create the object.
+            </summary>
+            <value>The default creator method used to create the object.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.JsonContract.DefaultCreatorNonPublic">
+            <summary>
+            Gets or sets a value indicating whether the default creator is non-public.
+            </summary>
+            <value><c>true</c> if the default object creator is non-public; otherwise, <c>false</c>.</value>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Serialization.JsonDictionaryContract">
+            <summary>
+            Contract details for a <see cref="T:System.Type"/> used by the <see cref="T:LC.Newtonsoft.Json.JsonSerializer"/>.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.JsonDictionaryContract.DictionaryKeyResolver">
+            <summary>
+            Gets or sets the dictionary key resolver.
+            </summary>
+            <value>The dictionary key resolver.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.JsonDictionaryContract.DictionaryKeyType">
+            <summary>
+            Gets the <see cref="T:System.Type"/> of the dictionary keys.
+            </summary>
+            <value>The <see cref="T:System.Type"/> of the dictionary keys.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.JsonDictionaryContract.DictionaryValueType">
+            <summary>
+            Gets the <see cref="T:System.Type"/> of the dictionary values.
+            </summary>
+            <value>The <see cref="T:System.Type"/> of the dictionary values.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.JsonDictionaryContract.OverrideCreator">
+            <summary>
+            Gets or sets the function used to create the object. When set this function will override <see cref="P:LC.Newtonsoft.Json.Serialization.JsonContract.DefaultCreator"/>.
+            </summary>
+            <value>The function used to create the object.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.JsonDictionaryContract.HasParameterizedCreator">
+            <summary>
+            Gets a value indicating whether the creator has a parameter with the dictionary values.
+            </summary>
+            <value><c>true</c> if the creator has a parameter with the dictionary values; otherwise, <c>false</c>.</value>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.JsonDictionaryContract.#ctor(System.Type)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Serialization.JsonDictionaryContract"/> class.
+            </summary>
+            <param name="underlyingType">The underlying type for the contract.</param>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Serialization.JsonDynamicContract">
+            <summary>
+            Contract details for a <see cref="T:System.Type"/> used by the <see cref="T:LC.Newtonsoft.Json.JsonSerializer"/>.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.JsonDynamicContract.Properties">
+            <summary>
+            Gets the object's properties.
+            </summary>
+            <value>The object's properties.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.JsonDynamicContract.PropertyNameResolver">
+            <summary>
+            Gets or sets the property name resolver.
+            </summary>
+            <value>The property name resolver.</value>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.JsonDynamicContract.#ctor(System.Type)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Serialization.JsonDynamicContract"/> class.
+            </summary>
+            <param name="underlyingType">The underlying type for the contract.</param>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Serialization.JsonISerializableContract">
+            <summary>
+            Contract details for a <see cref="T:System.Type"/> used by the <see cref="T:LC.Newtonsoft.Json.JsonSerializer"/>.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.JsonISerializableContract.ISerializableCreator">
+            <summary>
+            Gets or sets the <see cref="T:System.Runtime.Serialization.ISerializable"/> object constructor.
+            </summary>
+            <value>The <see cref="T:System.Runtime.Serialization.ISerializable"/> object constructor.</value>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.JsonISerializableContract.#ctor(System.Type)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Serialization.JsonISerializableContract"/> class.
+            </summary>
+            <param name="underlyingType">The underlying type for the contract.</param>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Serialization.JsonLinqContract">
+            <summary>
+            Contract details for a <see cref="T:System.Type"/> used by the <see cref="T:LC.Newtonsoft.Json.JsonSerializer"/>.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.JsonLinqContract.#ctor(System.Type)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Serialization.JsonLinqContract"/> class.
+            </summary>
+            <param name="underlyingType">The underlying type for the contract.</param>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Serialization.JsonObjectContract">
+            <summary>
+            Contract details for a <see cref="T:System.Type"/> used by the <see cref="T:LC.Newtonsoft.Json.JsonSerializer"/>.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.JsonObjectContract.MemberSerialization">
+            <summary>
+            Gets or sets the object member serialization.
+            </summary>
+            <value>The member object serialization.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.JsonObjectContract.MissingMemberHandling">
+            <summary>
+            Gets or sets the missing member handling used when deserializing this object.
+            </summary>
+            <value>The missing member handling.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.JsonObjectContract.ItemRequired">
+            <summary>
+            Gets or sets a value that indicates whether the object's properties are required.
+            </summary>
+            <value>
+            	A value indicating whether the object's properties are required.
+            </value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.JsonObjectContract.ItemNullValueHandling">
+            <summary>
+            Gets or sets how the object's properties with null values are handled during serialization and deserialization.
+            </summary>
+            <value>How the object's properties with null values are handled during serialization and deserialization.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.JsonObjectContract.Properties">
+            <summary>
+            Gets the object's properties.
+            </summary>
+            <value>The object's properties.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.JsonObjectContract.CreatorParameters">
+            <summary>
+            Gets a collection of <see cref="T:LC.Newtonsoft.Json.Serialization.JsonProperty"/> instances that define the parameters used with <see cref="P:LC.Newtonsoft.Json.Serialization.JsonObjectContract.OverrideCreator"/>.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.JsonObjectContract.OverrideCreator">
+            <summary>
+            Gets or sets the function used to create the object. When set this function will override <see cref="P:LC.Newtonsoft.Json.Serialization.JsonContract.DefaultCreator"/>.
+            This function is called with a collection of arguments which are defined by the <see cref="P:LC.Newtonsoft.Json.Serialization.JsonObjectContract.CreatorParameters"/> collection.
+            </summary>
+            <value>The function used to create the object.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.JsonObjectContract.ExtensionDataSetter">
+            <summary>
+            Gets or sets the extension data setter.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.JsonObjectContract.ExtensionDataGetter">
+            <summary>
+            Gets or sets the extension data getter.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.JsonObjectContract.ExtensionDataValueType">
+            <summary>
+            Gets or sets the extension data value type.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.JsonObjectContract.ExtensionDataNameResolver">
+            <summary>
+            Gets or sets the extension data name resolver.
+            </summary>
+            <value>The extension data name resolver.</value>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.JsonObjectContract.#ctor(System.Type)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Serialization.JsonObjectContract"/> class.
+            </summary>
+            <param name="underlyingType">The underlying type for the contract.</param>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Serialization.JsonPrimitiveContract">
+            <summary>
+            Contract details for a <see cref="T:System.Type"/> used by the <see cref="T:LC.Newtonsoft.Json.JsonSerializer"/>.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.JsonPrimitiveContract.#ctor(System.Type)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Serialization.JsonPrimitiveContract"/> class.
+            </summary>
+            <param name="underlyingType">The underlying type for the contract.</param>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Serialization.JsonProperty">
+            <summary>
+            Maps a JSON property to a .NET member or constructor parameter.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.JsonProperty.PropertyName">
+            <summary>
+            Gets or sets the name of the property.
+            </summary>
+            <value>The name of the property.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.JsonProperty.DeclaringType">
+            <summary>
+            Gets or sets the type that declared this property.
+            </summary>
+            <value>The type that declared this property.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.JsonProperty.Order">
+            <summary>
+            Gets or sets the order of serialization of a member.
+            </summary>
+            <value>The numeric order of serialization.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.JsonProperty.UnderlyingName">
+            <summary>
+            Gets or sets the name of the underlying member or parameter.
+            </summary>
+            <value>The name of the underlying member or parameter.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.JsonProperty.ValueProvider">
+            <summary>
+            Gets the <see cref="T:LC.Newtonsoft.Json.Serialization.IValueProvider"/> that will get and set the <see cref="T:LC.Newtonsoft.Json.Serialization.JsonProperty"/> during serialization.
+            </summary>
+            <value>The <see cref="T:LC.Newtonsoft.Json.Serialization.IValueProvider"/> that will get and set the <see cref="T:LC.Newtonsoft.Json.Serialization.JsonProperty"/> during serialization.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.JsonProperty.AttributeProvider">
+            <summary>
+            Gets or sets the <see cref="T:LC.Newtonsoft.Json.Serialization.IAttributeProvider"/> for this property.
+            </summary>
+            <value>The <see cref="T:LC.Newtonsoft.Json.Serialization.IAttributeProvider"/> for this property.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.JsonProperty.PropertyType">
+            <summary>
+            Gets or sets the type of the property.
+            </summary>
+            <value>The type of the property.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.JsonProperty.Converter">
+            <summary>
+            Gets or sets the <see cref="T:LC.Newtonsoft.Json.JsonConverter" /> for the property.
+            If set this converter takes precedence over the contract converter for the property type.
+            </summary>
+            <value>The converter.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.JsonProperty.MemberConverter">
+            <summary>
+            Gets or sets the member converter.
+            </summary>
+            <value>The member converter.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.JsonProperty.Ignored">
+            <summary>
+            Gets or sets a value indicating whether this <see cref="T:LC.Newtonsoft.Json.Serialization.JsonProperty"/> is ignored.
+            </summary>
+            <value><c>true</c> if ignored; otherwise, <c>false</c>.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.JsonProperty.Readable">
+            <summary>
+            Gets or sets a value indicating whether this <see cref="T:LC.Newtonsoft.Json.Serialization.JsonProperty"/> is readable.
+            </summary>
+            <value><c>true</c> if readable; otherwise, <c>false</c>.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.JsonProperty.Writable">
+            <summary>
+            Gets or sets a value indicating whether this <see cref="T:LC.Newtonsoft.Json.Serialization.JsonProperty"/> is writable.
+            </summary>
+            <value><c>true</c> if writable; otherwise, <c>false</c>.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.JsonProperty.HasMemberAttribute">
+            <summary>
+            Gets or sets a value indicating whether this <see cref="T:LC.Newtonsoft.Json.Serialization.JsonProperty"/> has a member attribute.
+            </summary>
+            <value><c>true</c> if has a member attribute; otherwise, <c>false</c>.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.JsonProperty.DefaultValue">
+            <summary>
+            Gets the default value.
+            </summary>
+            <value>The default value.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.JsonProperty.Required">
+            <summary>
+            Gets or sets a value indicating whether this <see cref="T:LC.Newtonsoft.Json.Serialization.JsonProperty"/> is required.
+            </summary>
+            <value>A value indicating whether this <see cref="T:LC.Newtonsoft.Json.Serialization.JsonProperty"/> is required.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.JsonProperty.IsRequiredSpecified">
+            <summary>
+            Gets a value indicating whether <see cref="P:LC.Newtonsoft.Json.Serialization.JsonProperty.Required"/> has a value specified.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.JsonProperty.IsReference">
+            <summary>
+            Gets or sets a value indicating whether this property preserves object references.
+            </summary>
+            <value>
+            	<c>true</c> if this instance is reference; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.JsonProperty.NullValueHandling">
+            <summary>
+            Gets or sets the property null value handling.
+            </summary>
+            <value>The null value handling.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.JsonProperty.DefaultValueHandling">
+            <summary>
+            Gets or sets the property default value handling.
+            </summary>
+            <value>The default value handling.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.JsonProperty.ReferenceLoopHandling">
+            <summary>
+            Gets or sets the property reference loop handling.
+            </summary>
+            <value>The reference loop handling.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.JsonProperty.ObjectCreationHandling">
+            <summary>
+            Gets or sets the property object creation handling.
+            </summary>
+            <value>The object creation handling.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.JsonProperty.TypeNameHandling">
+            <summary>
+            Gets or sets or sets the type name handling.
+            </summary>
+            <value>The type name handling.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.JsonProperty.ShouldSerialize">
+            <summary>
+            Gets or sets a predicate used to determine whether the property should be serialized.
+            </summary>
+            <value>A predicate used to determine whether the property should be serialized.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.JsonProperty.ShouldDeserialize">
+            <summary>
+            Gets or sets a predicate used to determine whether the property should be deserialized.
+            </summary>
+            <value>A predicate used to determine whether the property should be deserialized.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.JsonProperty.GetIsSpecified">
+            <summary>
+            Gets or sets a predicate used to determine whether the property should be serialized.
+            </summary>
+            <value>A predicate used to determine whether the property should be serialized.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.JsonProperty.SetIsSpecified">
+            <summary>
+            Gets or sets an action used to set whether the property has been deserialized.
+            </summary>
+            <value>An action used to set whether the property has been deserialized.</value>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.JsonProperty.ToString">
+            <summary>
+            Returns a <see cref="T:System.String"/> that represents this instance.
+            </summary>
+            <returns>
+            A <see cref="T:System.String"/> that represents this instance.
+            </returns>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.JsonProperty.ItemConverter">
+            <summary>
+            Gets or sets the converter used when serializing the property's collection items.
+            </summary>
+            <value>The collection's items converter.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.JsonProperty.ItemIsReference">
+            <summary>
+            Gets or sets whether this property's collection items are serialized as a reference.
+            </summary>
+            <value>Whether this property's collection items are serialized as a reference.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.JsonProperty.ItemTypeNameHandling">
+            <summary>
+            Gets or sets the type name handling used when serializing the property's collection items.
+            </summary>
+            <value>The collection's items type name handling.</value>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.JsonProperty.ItemReferenceLoopHandling">
+            <summary>
+            Gets or sets the reference loop handling used when serializing the property's collection items.
+            </summary>
+            <value>The collection's items reference loop handling.</value>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Serialization.JsonPropertyCollection">
+            <summary>
+            A collection of <see cref="T:LC.Newtonsoft.Json.Serialization.JsonProperty"/> objects.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.JsonPropertyCollection.#ctor(System.Type)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Serialization.JsonPropertyCollection"/> class.
+            </summary>
+            <param name="type">The type.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.JsonPropertyCollection.GetKeyForItem(LC.Newtonsoft.Json.Serialization.JsonProperty)">
+            <summary>
+            When implemented in a derived class, extracts the key from the specified element.
+            </summary>
+            <param name="item">The element from which to extract the key.</param>
+            <returns>The key for the specified element.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.JsonPropertyCollection.AddProperty(LC.Newtonsoft.Json.Serialization.JsonProperty)">
+            <summary>
+            Adds a <see cref="T:LC.Newtonsoft.Json.Serialization.JsonProperty"/> object.
+            </summary>
+            <param name="property">The property to add to the collection.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.JsonPropertyCollection.GetClosestMatchProperty(System.String)">
+            <summary>
+            Gets the closest matching <see cref="T:LC.Newtonsoft.Json.Serialization.JsonProperty"/> object.
+            First attempts to get an exact case match of <paramref name="propertyName"/> and then
+            a case insensitive match.
+            </summary>
+            <param name="propertyName">Name of the property.</param>
+            <returns>A matching property if found.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.JsonPropertyCollection.GetProperty(System.String,System.StringComparison)">
+            <summary>
+            Gets a property by property name.
+            </summary>
+            <param name="propertyName">The name of the property to get.</param>
+            <param name="comparisonType">Type property name string comparison.</param>
+            <returns>A matching property if found.</returns>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Serialization.JsonStringContract">
+            <summary>
+            Contract details for a <see cref="T:System.Type"/> used by the <see cref="T:LC.Newtonsoft.Json.JsonSerializer"/>.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.JsonStringContract.#ctor(System.Type)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Serialization.JsonStringContract"/> class.
+            </summary>
+            <param name="underlyingType">The underlying type for the contract.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.JsonTypeReflector.CreateJsonConverterInstance(System.Type,System.Object[])">
+            <summary>
+            Lookup and create an instance of the <see cref="T:LC.Newtonsoft.Json.JsonConverter"/> type described by the argument.
+            </summary>
+            <param name="converterType">The <see cref="T:LC.Newtonsoft.Json.JsonConverter"/> type to create.</param>
+            <param name="args">Optional arguments to pass to an initializing constructor of the JsonConverter.
+            If <c>null</c>, the default constructor is used.</param>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Serialization.KebabCaseNamingStrategy">
+            <summary>
+            A kebab case naming strategy.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.KebabCaseNamingStrategy.#ctor(System.Boolean,System.Boolean)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Serialization.KebabCaseNamingStrategy"/> class.
+            </summary>
+            <param name="processDictionaryKeys">
+            A flag indicating whether dictionary keys should be processed.
+            </param>
+            <param name="overrideSpecifiedNames">
+            A flag indicating whether explicitly specified property names should be processed,
+            e.g. a property name customized with a <see cref="T:LC.Newtonsoft.Json.JsonPropertyAttribute"/>.
+            </param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.KebabCaseNamingStrategy.#ctor(System.Boolean,System.Boolean,System.Boolean)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Serialization.KebabCaseNamingStrategy"/> class.
+            </summary>
+            <param name="processDictionaryKeys">
+            A flag indicating whether dictionary keys should be processed.
+            </param>
+            <param name="overrideSpecifiedNames">
+            A flag indicating whether explicitly specified property names should be processed,
+            e.g. a property name customized with a <see cref="T:LC.Newtonsoft.Json.JsonPropertyAttribute"/>.
+            </param>
+            <param name="processExtensionDataNames">
+            A flag indicating whether extension data names should be processed.
+            </param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.KebabCaseNamingStrategy.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Serialization.KebabCaseNamingStrategy"/> class.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.KebabCaseNamingStrategy.ResolvePropertyName(System.String)">
+            <summary>
+            Resolves the specified property name.
+            </summary>
+            <param name="name">The property name to resolve.</param>
+            <returns>The resolved property name.</returns>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Serialization.MemoryTraceWriter">
+            <summary>
+            Represents a trace writer that writes to memory. When the trace message limit is
+            reached then old trace messages will be removed as new messages are added.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.MemoryTraceWriter.LevelFilter">
+            <summary>
+            Gets the <see cref="T:System.Diagnostics.TraceLevel"/> that will be used to filter the trace messages passed to the writer.
+            For example a filter level of <see cref="F:System.Diagnostics.TraceLevel.Info"/> will exclude <see cref="F:System.Diagnostics.TraceLevel.Verbose"/> messages and include <see cref="F:System.Diagnostics.TraceLevel.Info"/>,
+            <see cref="F:System.Diagnostics.TraceLevel.Warning"/> and <see cref="F:System.Diagnostics.TraceLevel.Error"/> messages.
+            </summary>
+            <value>
+            The <see cref="T:System.Diagnostics.TraceLevel"/> that will be used to filter the trace messages passed to the writer.
+            </value>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.MemoryTraceWriter.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Serialization.MemoryTraceWriter"/> class.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.MemoryTraceWriter.Trace(System.Diagnostics.TraceLevel,System.String,System.Exception)">
+            <summary>
+            Writes the specified trace level, message and optional exception.
+            </summary>
+            <param name="level">The <see cref="T:System.Diagnostics.TraceLevel"/> at which to write this trace.</param>
+            <param name="message">The trace message.</param>
+            <param name="ex">The trace exception. This parameter is optional.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.MemoryTraceWriter.GetTraceMessages">
+            <summary>
+            Returns an enumeration of the most recent trace messages.
+            </summary>
+            <returns>An enumeration of the most recent trace messages.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.MemoryTraceWriter.ToString">
+            <summary>
+            Returns a <see cref="T:System.String"/> of the most recent trace messages.
+            </summary>
+            <returns>
+            A <see cref="T:System.String"/> of the most recent trace messages.
+            </returns>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Serialization.NamingStrategy">
+            <summary>
+            A base class for resolving how property names and dictionary keys are serialized.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.NamingStrategy.ProcessDictionaryKeys">
+            <summary>
+            A flag indicating whether dictionary keys should be processed.
+            Defaults to <c>false</c>.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.NamingStrategy.ProcessExtensionDataNames">
+            <summary>
+            A flag indicating whether extension data names should be processed.
+            Defaults to <c>false</c>.
+            </summary>
+        </member>
+        <member name="P:LC.Newtonsoft.Json.Serialization.NamingStrategy.OverrideSpecifiedNames">
+            <summary>
+            A flag indicating whether explicitly specified property names,
+            e.g. a property name customized with a <see cref="T:LC.Newtonsoft.Json.JsonPropertyAttribute"/>, should be processed.
+            Defaults to <c>false</c>.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.NamingStrategy.GetPropertyName(System.String,System.Boolean)">
+            <summary>
+            Gets the serialized name for a given property name.
+            </summary>
+            <param name="name">The initial property name.</param>
+            <param name="hasSpecifiedName">A flag indicating whether the property has had a name explicitly specified.</param>
+            <returns>The serialized property name.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.NamingStrategy.GetExtensionDataName(System.String)">
+            <summary>
+            Gets the serialized name for a given extension data name.
+            </summary>
+            <param name="name">The initial extension data name.</param>
+            <returns>The serialized extension data name.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.NamingStrategy.GetDictionaryKey(System.String)">
+            <summary>
+            Gets the serialized key for a given dictionary key.
+            </summary>
+            <param name="key">The initial dictionary key.</param>
+            <returns>The serialized dictionary key.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.NamingStrategy.ResolvePropertyName(System.String)">
+            <summary>
+            Resolves the specified property name.
+            </summary>
+            <param name="name">The property name to resolve.</param>
+            <returns>The resolved property name.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.NamingStrategy.GetHashCode">
+            <summary>
+            Hash code calculation
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.NamingStrategy.Equals(System.Object)">
+            <summary>
+            Object equality implementation
+            </summary>
+            <param name="obj"></param>
+            <returns></returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.NamingStrategy.Equals(LC.Newtonsoft.Json.Serialization.NamingStrategy)">
+            <summary>
+            Compare to another NamingStrategy
+            </summary>
+            <param name="other"></param>
+            <returns></returns>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Serialization.ObjectConstructor`1">
+            <summary>
+            Represents a method that constructs an object.
+            </summary>
+            <typeparam name="T">The object type to create.</typeparam>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Serialization.OnErrorAttribute">
+            <summary>
+            When applied to a method, specifies that the method is called when an error occurs serializing an object.
+            </summary>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Serialization.ReflectionAttributeProvider">
+            <summary>
+            Provides methods to get attributes from a <see cref="T:System.Type"/>, <see cref="T:System.Reflection.MemberInfo"/>, <see cref="T:System.Reflection.ParameterInfo"/> or <see cref="T:System.Reflection.Assembly"/>.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.ReflectionAttributeProvider.#ctor(System.Object)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Serialization.ReflectionAttributeProvider"/> class.
+            </summary>
+            <param name="attributeProvider">The instance to get attributes for. This parameter should be a <see cref="T:System.Type"/>, <see cref="T:System.Reflection.MemberInfo"/>, <see cref="T:System.Reflection.ParameterInfo"/> or <see cref="T:System.Reflection.Assembly"/>.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.ReflectionAttributeProvider.GetAttributes(System.Boolean)">
+            <summary>
+            Returns a collection of all of the attributes, or an empty collection if there are no attributes.
+            </summary>
+            <param name="inherit">When <c>true</c>, look up the hierarchy chain for the inherited custom attribute.</param>
+            <returns>A collection of <see cref="T:System.Attribute"/>s, or an empty collection.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.ReflectionAttributeProvider.GetAttributes(System.Type,System.Boolean)">
+            <summary>
+            Returns a collection of attributes, identified by type, or an empty collection if there are no attributes.
+            </summary>
+            <param name="attributeType">The type of the attributes.</param>
+            <param name="inherit">When <c>true</c>, look up the hierarchy chain for the inherited custom attribute.</param>
+            <returns>A collection of <see cref="T:System.Attribute"/>s, or an empty collection.</returns>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Serialization.ReflectionValueProvider">
+            <summary>
+            Get and set values for a <see cref="T:System.Reflection.MemberInfo"/> using reflection.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.ReflectionValueProvider.#ctor(System.Reflection.MemberInfo)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Serialization.ReflectionValueProvider"/> class.
+            </summary>
+            <param name="memberInfo">The member info.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.ReflectionValueProvider.SetValue(System.Object,System.Object)">
+            <summary>
+            Sets the value.
+            </summary>
+            <param name="target">The target to set the value on.</param>
+            <param name="value">The value to set on the target.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.ReflectionValueProvider.GetValue(System.Object)">
+            <summary>
+            Gets the value.
+            </summary>
+            <param name="target">The target to get the value from.</param>
+            <returns>The value.</returns>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Serialization.SnakeCaseNamingStrategy">
+            <summary>
+            A snake case naming strategy.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.SnakeCaseNamingStrategy.#ctor(System.Boolean,System.Boolean)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Serialization.SnakeCaseNamingStrategy"/> class.
+            </summary>
+            <param name="processDictionaryKeys">
+            A flag indicating whether dictionary keys should be processed.
+            </param>
+            <param name="overrideSpecifiedNames">
+            A flag indicating whether explicitly specified property names should be processed,
+            e.g. a property name customized with a <see cref="T:LC.Newtonsoft.Json.JsonPropertyAttribute"/>.
+            </param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.SnakeCaseNamingStrategy.#ctor(System.Boolean,System.Boolean,System.Boolean)">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Serialization.SnakeCaseNamingStrategy"/> class.
+            </summary>
+            <param name="processDictionaryKeys">
+            A flag indicating whether dictionary keys should be processed.
+            </param>
+            <param name="overrideSpecifiedNames">
+            A flag indicating whether explicitly specified property names should be processed,
+            e.g. a property name customized with a <see cref="T:LC.Newtonsoft.Json.JsonPropertyAttribute"/>.
+            </param>
+            <param name="processExtensionDataNames">
+            A flag indicating whether extension data names should be processed.
+            </param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.SnakeCaseNamingStrategy.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:LC.Newtonsoft.Json.Serialization.SnakeCaseNamingStrategy"/> class.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Serialization.SnakeCaseNamingStrategy.ResolvePropertyName(System.String)">
+            <summary>
+            Resolves the specified property name.
+            </summary>
+            <param name="name">The property name to resolve.</param>
+            <returns>The resolved property name.</returns>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.StringEscapeHandling">
+            <summary>
+            Specifies how strings are escaped when writing JSON text.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.StringEscapeHandling.Default">
+            <summary>
+            Only control characters (e.g. newline) are escaped.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.StringEscapeHandling.EscapeNonAscii">
+            <summary>
+            All non-ASCII and control characters (e.g. newline) are escaped.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.StringEscapeHandling.EscapeHtml">
+            <summary>
+            HTML (&lt;, &gt;, &amp;, &apos;, &quot;) and control characters (e.g. newline) are escaped.
+            </summary>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.TypeNameAssemblyFormatHandling">
+            <summary>
+            Indicates the method that will be used during deserialization for locating and loading assemblies.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.TypeNameAssemblyFormatHandling.Simple">
+            <summary>
+            In simple mode, the assembly used during deserialization need not match exactly the assembly used during serialization. Specifically, the version numbers need not match as the <c>LoadWithPartialName</c> method of the <see cref="T:System.Reflection.Assembly"/> class is used to load the assembly.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.TypeNameAssemblyFormatHandling.Full">
+            <summary>
+            In full mode, the assembly used during deserialization must match exactly the assembly used during serialization. The <c>Load</c> method of the <see cref="T:System.Reflection.Assembly"/> class is used to load the assembly.
+            </summary>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.TypeNameHandling">
+            <summary>
+            Specifies type name handling options for the <see cref="T:LC.Newtonsoft.Json.JsonSerializer"/>.
+            </summary>
+            <remarks>
+            <see cref="P:LC.Newtonsoft.Json.JsonSerializer.TypeNameHandling"/> should be used with caution when your application deserializes JSON from an external source.
+            Incoming types should be validated with a custom <see cref="P:LC.Newtonsoft.Json.JsonSerializer.SerializationBinder"/>
+            when deserializing with a value other than <see cref="F:LC.Newtonsoft.Json.TypeNameHandling.None"/>.
+            </remarks>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.TypeNameHandling.None">
+            <summary>
+            Do not include the .NET type name when serializing types.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.TypeNameHandling.Objects">
+            <summary>
+            Include the .NET type name when serializing into a JSON object structure.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.TypeNameHandling.Arrays">
+            <summary>
+            Include the .NET type name when serializing into a JSON array structure.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.TypeNameHandling.All">
+            <summary>
+            Always include the .NET type name when serializing.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.TypeNameHandling.Auto">
+            <summary>
+            Include the .NET type name when the type of the object being serialized is not the same as its declared type.
+            Note that this doesn't include the root serialized object by default. To include the root object's type name in JSON
+            you must specify a root type object with <see cref="M:LC.Newtonsoft.Json.JsonConvert.SerializeObject(System.Object,System.Type,LC.Newtonsoft.Json.JsonSerializerSettings)"/>
+            or <see cref="M:LC.Newtonsoft.Json.JsonSerializer.Serialize(LC.Newtonsoft.Json.JsonWriter,System.Object,System.Type)"/>.
+            </summary>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Utilities.AotHelper">
+            <summary>
+            
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Utilities.AotHelper.Ensure(System.Action)">
+            <summary>
+            Don't run action but let a compiler detect the code in action as an executable block.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Utilities.AotHelper.EnsureType``1">
+            <summary>
+            Ensure(() => new T());
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Utilities.AotHelper.EnsureList``1">
+            <summary>
+            Ensure generic list type can be (de)deserializable on AOT environment.
+            </summary>
+            <typeparam name="T">The type of elements in the list</typeparam>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Utilities.AotHelper.EnsureDictionary``2">
+            <summary>
+            Ensure generic dictionary type can be (de)deserializable on AOT environment.
+            </summary>
+            <typeparam name="TKey">The type of the keys in the dictionary.</typeparam>
+            <typeparam name="TValue">The type of the values in the dictionary.</typeparam>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Utilities.AotHelper.IsFalse">
+            <summary>
+            Always return false but compiler doesn't know it.
+            </summary>
+            <returns>False</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Utilities.CollectionUtils.IsNullOrEmpty``1(System.Collections.Generic.ICollection{``0})">
+            <summary>
+            Determines whether the collection is <c>null</c> or empty.
+            </summary>
+            <param name="collection">The collection.</param>
+            <returns>
+            	<c>true</c> if the collection is <c>null</c> or empty; otherwise, <c>false</c>.
+            </returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Utilities.CollectionUtils.AddRange``1(System.Collections.Generic.IList{``0},System.Collections.Generic.IEnumerable{``0})">
+            <summary>
+            Adds the elements of the specified collection to the specified generic <see cref="T:System.Collections.Generic.IList`1"/>.
+            </summary>
+            <param name="initial">The list to add to.</param>
+            <param name="collection">The collection of elements to add.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Utilities.ConvertUtils.ConvertOrCast(System.Object,System.Globalization.CultureInfo,System.Type)">
+            <summary>
+            Converts the value to the specified type. If the value is unable to be converted, the
+            value is checked whether it assignable to the specified type.
+            </summary>
+            <param name="initialValue">The value to convert.</param>
+            <param name="culture">The culture to use when converting.</param>
+            <param name="targetType">The type to convert or cast the value to.</param>
+            <returns>
+            The converted type. If conversion was unsuccessful, the initial value
+            is returned if assignable to the target type.
+            </returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Utilities.DynamicProxyMetaObject`1.CallMethodWithResult(System.String,System.Dynamic.DynamicMetaObjectBinder,System.Collections.Generic.IEnumerable{System.Linq.Expressions.Expression},LC.Newtonsoft.Json.Utilities.DynamicProxyMetaObject{`0}.Fallback,LC.Newtonsoft.Json.Utilities.DynamicProxyMetaObject{`0}.Fallback)">
+            <summary>
+            Helper method for generating a MetaObject which calls a
+            specific method on Dynamic that returns a result
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Utilities.DynamicProxyMetaObject`1.CallMethodReturnLast(System.String,System.Dynamic.DynamicMetaObjectBinder,System.Collections.Generic.IEnumerable{System.Linq.Expressions.Expression},LC.Newtonsoft.Json.Utilities.DynamicProxyMetaObject{`0}.Fallback)">
+            <summary>
+            Helper method for generating a MetaObject which calls a
+            specific method on Dynamic, but uses one of the arguments for
+            the result.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Utilities.DynamicProxyMetaObject`1.CallMethodNoResult(System.String,System.Dynamic.DynamicMetaObjectBinder,System.Linq.Expressions.Expression[],LC.Newtonsoft.Json.Utilities.DynamicProxyMetaObject{`0}.Fallback)">
+            <summary>
+            Helper method for generating a MetaObject which calls a
+            specific method on Dynamic, but uses one of the arguments for
+            the result.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Utilities.DynamicProxyMetaObject`1.GetRestrictions">
+            <summary>
+            Returns a Restrictions object which includes our current restrictions merged
+            with a restriction limiting our type
+            </summary>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Utilities.ImmutableCollectionsUtils">
+            <summary>
+            Helper class for serializing immutable collections.
+            Note that this is used by all builds, even those that don't support immutable collections, in case the DLL is GACed
+            https://github.com/JamesNK/Newtonsoft.Json/issues/652
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Utilities.ReflectionUtils.GetCollectionItemType(System.Type)">
+            <summary>
+            Gets the type of the typed collection's items.
+            </summary>
+            <param name="type">The type.</param>
+            <returns>The type of the typed collection's items.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Utilities.ReflectionUtils.GetMemberUnderlyingType(System.Reflection.MemberInfo)">
+            <summary>
+            Gets the member's underlying type.
+            </summary>
+            <param name="member">The member.</param>
+            <returns>The underlying type of the member.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Utilities.ReflectionUtils.IsIndexedProperty(System.Reflection.PropertyInfo)">
+            <summary>
+            Determines whether the property is an indexed property.
+            </summary>
+            <param name="property">The property.</param>
+            <returns>
+            	<c>true</c> if the property is an indexed property; otherwise, <c>false</c>.
+            </returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Utilities.ReflectionUtils.GetMemberValue(System.Reflection.MemberInfo,System.Object)">
+            <summary>
+            Gets the member's value on the object.
+            </summary>
+            <param name="member">The member.</param>
+            <param name="target">The target object.</param>
+            <returns>The member's value on the object.</returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Utilities.ReflectionUtils.SetMemberValue(System.Reflection.MemberInfo,System.Object,System.Object)">
+            <summary>
+            Sets the member's value on the target object.
+            </summary>
+            <param name="member">The member.</param>
+            <param name="target">The target.</param>
+            <param name="value">The value.</param>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Utilities.ReflectionUtils.CanReadMemberValue(System.Reflection.MemberInfo,System.Boolean)">
+            <summary>
+            Determines whether the specified MemberInfo can be read.
+            </summary>
+            <param name="member">The MemberInfo to determine whether can be read.</param>
+            /// <param name="nonPublic">if set to <c>true</c> then allow the member to be gotten non-publicly.</param>
+            <returns>
+            	<c>true</c> if the specified MemberInfo can be read; otherwise, <c>false</c>.
+            </returns>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Utilities.ReflectionUtils.CanSetMemberValue(System.Reflection.MemberInfo,System.Boolean,System.Boolean)">
+            <summary>
+            Determines whether the specified MemberInfo can be set.
+            </summary>
+            <param name="member">The MemberInfo to determine whether can be set.</param>
+            <param name="nonPublic">if set to <c>true</c> then allow the member to be set non-publicly.</param>
+            <param name="canSetReadOnly">if set to <c>true</c> then allow the member to be set if read-only.</param>
+            <returns>
+            	<c>true</c> if the specified MemberInfo can be set; otherwise, <c>false</c>.
+            </returns>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.Utilities.StringBuffer">
+            <summary>
+            Builds a string. Unlike <see cref="T:System.Text.StringBuilder"/> this class lets you reuse its internal buffer.
+            </summary>
+        </member>
+        <member name="M:LC.Newtonsoft.Json.Utilities.StringUtils.IsWhiteSpace(System.String)">
+            <summary>
+            Determines whether the string is all white space. Empty string will return <c>false</c>.
+            </summary>
+            <param name="s">The string to test whether it is all white space.</param>
+            <returns>
+            	<c>true</c> if the string is all white space; otherwise, <c>false</c>.
+            </returns>
+        </member>
+        <member name="T:LC.Newtonsoft.Json.WriteState">
+            <summary>
+            Specifies the state of the <see cref="T:LC.Newtonsoft.Json.JsonWriter"/>.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.WriteState.Error">
+            <summary>
+            An exception has been thrown, which has left the <see cref="T:LC.Newtonsoft.Json.JsonWriter"/> in an invalid state.
+            You may call the <see cref="M:LC.Newtonsoft.Json.JsonWriter.Close"/> method to put the <see cref="T:LC.Newtonsoft.Json.JsonWriter"/> in the <c>Closed</c> state.
+            Any other <see cref="T:LC.Newtonsoft.Json.JsonWriter"/> method calls result in an <see cref="T:System.InvalidOperationException"/> being thrown.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.WriteState.Closed">
+            <summary>
+            The <see cref="M:LC.Newtonsoft.Json.JsonWriter.Close"/> method has been called.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.WriteState.Object">
+            <summary>
+            An object is being written. 
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.WriteState.Array">
+            <summary>
+            An array is being written.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.WriteState.Constructor">
+            <summary>
+            A constructor is being written.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.WriteState.Property">
+            <summary>
+            A property is being written.
+            </summary>
+        </member>
+        <member name="F:LC.Newtonsoft.Json.WriteState.Start">
+            <summary>
+            A <see cref="T:LC.Newtonsoft.Json.JsonWriter"/> write method has not been called.
+            </summary>
+        </member>
+        <member name="T:System.Diagnostics.CodeAnalysis.NotNullAttribute">
+            <summary>Specifies that an output will not be null even if the corresponding type allows it.</summary>
+        </member>
+        <member name="T:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute">
+            <summary>Specifies that when a method returns <see cref="P:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.ReturnValue"/>, the parameter will not be null even if the corresponding type allows it.</summary>
+        </member>
+        <member name="M:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.#ctor(System.Boolean)">
+            <summary>Initializes the attribute with the specified return value condition.</summary>
+            <param name="returnValue">
+            The return value condition. If the method returns this value, the associated parameter will not be null.
+            </param>
+        </member>
+        <member name="P:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.ReturnValue">
+            <summary>Gets the return value condition.</summary>
+        </member>
+        <member name="T:System.Diagnostics.CodeAnalysis.MaybeNullAttribute">
+            <summary>Specifies that an output may be null even if the corresponding type disallows it.</summary>
+        </member>
+        <member name="T:System.Diagnostics.CodeAnalysis.AllowNullAttribute">
+            <summary>Specifies that null is allowed as an input even if the corresponding type disallows it.</summary>
+        </member>
+        <member name="T:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute">
+            <summary>
+            Specifies that the method will not return if the associated Boolean parameter is passed the specified value.
+            </summary>
+        </member>
+        <member name="M:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute.#ctor(System.Boolean)">
+            <summary>
+            Initializes a new instance of the <see cref="T:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute"/> class.
+            </summary>
+            <param name="parameterValue">
+            The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to
+            the associated parameter matches this value.
+            </param>
+        </member>
+        <member name="P:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute.ParameterValue">
+            <summary>Gets the condition parameter value.</summary>
+        </member>
+    </members>
+</doc>

+ 7 - 0
GameClient/Assets/Plugins/LeanCloudSDK/LC.Newtonsoft.Json.xml.meta

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

+ 111 - 0
GameClient/Assets/Plugins/LeanCloudSDK/LiveQuery.deps.json

@@ -0,0 +1,111 @@
+{
+  "runtimeTarget": {
+    "name": ".NETStandard,Version=v2.0/",
+    "signature": ""
+  },
+  "compilationOptions": {},
+  "targets": {
+    ".NETStandard,Version=v2.0": {},
+    ".NETStandard,Version=v2.0/": {
+      "LiveQuery/1.0.0": {
+        "dependencies": {
+          "NETStandard.Library": "2.0.3",
+          "Realtime": "1.0.0"
+        },
+        "runtime": {
+          "LiveQuery.dll": {}
+        }
+      },
+      "Microsoft.NETCore.Platforms/1.1.0": {},
+      "NETStandard.Library/2.0.3": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.1.0"
+        }
+      },
+      "Common/1.0.0": {
+        "dependencies": {
+          "LC.Newtonsoft.Json": "11.0.1-beta2"
+        },
+        "runtime": {
+          "Common.dll": {}
+        }
+      },
+      "LC.Google.Protobuf/3.12.4": {
+        "dependencies": {
+          "NETStandard.Library": "2.0.3"
+        },
+        "runtime": {
+          "LC.Google.Protobuf.dll": {}
+        }
+      },
+      "LC.Newtonsoft.Json/11.0.1-beta2": {
+        "runtime": {
+          "LC.Newtonsoft.Json.dll": {}
+        }
+      },
+      "Realtime/1.0.0": {
+        "dependencies": {
+          "LC.Google.Protobuf": "3.12.4",
+          "Storage": "1.0.0"
+        },
+        "runtime": {
+          "Realtime.dll": {}
+        }
+      },
+      "Storage/1.0.0": {
+        "dependencies": {
+          "Common": "1.0.0"
+        },
+        "runtime": {
+          "Storage.dll": {}
+        }
+      }
+    }
+  },
+  "libraries": {
+    "LiveQuery/1.0.0": {
+      "type": "project",
+      "serviceable": false,
+      "sha512": ""
+    },
+    "Microsoft.NETCore.Platforms/1.1.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A==",
+      "path": "microsoft.netcore.platforms/1.1.0",
+      "hashPath": "microsoft.netcore.platforms.1.1.0.nupkg.sha512"
+    },
+    "NETStandard.Library/2.0.3": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==",
+      "path": "netstandard.library/2.0.3",
+      "hashPath": "netstandard.library.2.0.3.nupkg.sha512"
+    },
+    "Common/1.0.0": {
+      "type": "project",
+      "serviceable": false,
+      "sha512": ""
+    },
+    "LC.Google.Protobuf/3.12.4": {
+      "type": "project",
+      "serviceable": false,
+      "sha512": ""
+    },
+    "LC.Newtonsoft.Json/11.0.1-beta2": {
+      "type": "project",
+      "serviceable": false,
+      "sha512": ""
+    },
+    "Realtime/1.0.0": {
+      "type": "project",
+      "serviceable": false,
+      "sha512": ""
+    },
+    "Storage/1.0.0": {
+      "type": "project",
+      "serviceable": false,
+      "sha512": ""
+    }
+  }
+}

+ 7 - 0
GameClient/Assets/Plugins/LeanCloudSDK/LiveQuery.deps.json.meta

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

BIN
GameClient/Assets/Plugins/LeanCloudSDK/LiveQuery.dll


+ 33 - 0
GameClient/Assets/Plugins/LeanCloudSDK/LiveQuery.dll.meta

@@ -0,0 +1,33 @@
+fileFormatVersion: 2
+guid: 4b6f5a2018ac41b4d8a62165f284ddbe
+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: 

BIN
GameClient/Assets/Plugins/LeanCloudSDK/LiveQuery.pdb


+ 7 - 0
GameClient/Assets/Plugins/LeanCloudSDK/LiveQuery.pdb.meta

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

BIN
GameClient/Assets/Plugins/LeanCloudSDK/Realtime.dll


+ 33 - 0
GameClient/Assets/Plugins/LeanCloudSDK/Realtime.dll.meta

@@ -0,0 +1,33 @@
+fileFormatVersion: 2
+guid: e07b6a1a911730e4599fe7a27187640f
+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: 

BIN
GameClient/Assets/Plugins/LeanCloudSDK/Realtime.pdb


+ 7 - 0
GameClient/Assets/Plugins/LeanCloudSDK/Realtime.pdb.meta

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

BIN
GameClient/Assets/Plugins/LeanCloudSDK/Storage.Unity.dll


+ 33 - 0
GameClient/Assets/Plugins/LeanCloudSDK/Storage.Unity.dll.meta

@@ -0,0 +1,33 @@
+fileFormatVersion: 2
+guid: ddffa6f7d7b61c94eaa47873b5b9a405
+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: 

BIN
GameClient/Assets/Plugins/LeanCloudSDK/Storage.Unity.pdb


+ 7 - 0
GameClient/Assets/Plugins/LeanCloudSDK/Storage.Unity.pdb.meta

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

+ 71 - 0
GameClient/Assets/Plugins/LeanCloudSDK/Storage.deps.json

@@ -0,0 +1,71 @@
+{
+  "runtimeTarget": {
+    "name": ".NETStandard,Version=v2.0/",
+    "signature": ""
+  },
+  "compilationOptions": {},
+  "targets": {
+    ".NETStandard,Version=v2.0": {},
+    ".NETStandard,Version=v2.0/": {
+      "Storage/1.0.0": {
+        "dependencies": {
+          "Common": "1.0.0",
+          "NETStandard.Library": "2.0.3"
+        },
+        "runtime": {
+          "Storage.dll": {}
+        }
+      },
+      "Microsoft.NETCore.Platforms/1.1.0": {},
+      "NETStandard.Library/2.0.3": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.1.0"
+        }
+      },
+      "Common/1.0.0": {
+        "dependencies": {
+          "LC.Newtonsoft.Json": "11.0.1-beta2"
+        },
+        "runtime": {
+          "Common.dll": {}
+        }
+      },
+      "LC.Newtonsoft.Json/11.0.1-beta2": {
+        "runtime": {
+          "LC.Newtonsoft.Json.dll": {}
+        }
+      }
+    }
+  },
+  "libraries": {
+    "Storage/1.0.0": {
+      "type": "project",
+      "serviceable": false,
+      "sha512": ""
+    },
+    "Microsoft.NETCore.Platforms/1.1.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A==",
+      "path": "microsoft.netcore.platforms/1.1.0",
+      "hashPath": "microsoft.netcore.platforms.1.1.0.nupkg.sha512"
+    },
+    "NETStandard.Library/2.0.3": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==",
+      "path": "netstandard.library/2.0.3",
+      "hashPath": "netstandard.library.2.0.3.nupkg.sha512"
+    },
+    "Common/1.0.0": {
+      "type": "project",
+      "serviceable": false,
+      "sha512": ""
+    },
+    "LC.Newtonsoft.Json/11.0.1-beta2": {
+      "type": "project",
+      "serviceable": false,
+      "sha512": ""
+    }
+  }
+}

+ 7 - 0
GameClient/Assets/Plugins/LeanCloudSDK/Storage.deps.json.meta

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

+ 33 - 0
GameClient/Assets/Plugins/LeanCloudSDK/Storage.dll.meta

@@ -0,0 +1,33 @@
+fileFormatVersion: 2
+guid: 199d67ea415af3644bdff759240f6252
+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: 

BIN
GameClient/Assets/Plugins/LeanCloudSDK/Storage.pdb


+ 7 - 0
GameClient/Assets/Plugins/LeanCloudSDK/Storage.pdb.meta

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

+ 10 - 0
GameClient/Assets/Plugins/LeanCloudSDK/link.xml

@@ -0,0 +1,10 @@
+<linker>
+  <assembly fullname="Common" preserve="all"/>
+  <assembly fullname="Storage" preserve="all"/>
+  <assembly fullname="Realtime" preserve="all"/>
+  <assembly fullname="LiveQuery" preserve="all"/>
+  <assembly fullname="LC.Google.Protobuf" preserve="all"/>
+  <assembly fullname="LC.Newtonsoft.Json" preserve="all"/>
+  <assembly fullname="Realtime.Unity" preserve="all"/>
+  <assembly fullname="Storage.Unity" preserve="all"/>
+</linker>

+ 7 - 0
GameClient/Assets/Plugins/LeanCloudSDK/link.xml.meta

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

BIN
GameClient/Assets/ResIn/Config/excelConfig.sqlite.bytes


BIN
GameClient/Assets/ResIn/UI/Login/Login_atlas0!a.png


BIN
GameClient/Assets/ResIn/UI/Login/Login_atlas0.png


BIN
GameClient/Assets/ResIn/UI/Login/Login_fui.bytes


+ 8 - 0
GameClient/Assets/TapTap.meta

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

+ 8 - 0
GameClient/Assets/TapTap/Bootstrap.meta

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

+ 245 - 0
GameClient/Assets/TapTap/Bootstrap/CHANGELOG.md

@@ -0,0 +1,245 @@
+# ChangeLog
+## 3.10.0
+
+### New Feature
+- 支持排行榜
+
+### Dependencies
+
+- TapTap.Login v3.10.0
+- TapTap.Common v3.10.0
+- LeanCloud.Realtime v0.10.11
+- LeanCloud.Storage v0.10.11
+
+## 3.9.0
+
+### Dependencies
+
+- TapTap.Login v3.9.0
+- TapTap.Common v3.9.0
+- LeanCloud.Realtime v0.10.11
+- LeanCloud.Storage v0.10.11
+
+## 3.8.0
+
+### Dependencies
+
+- TapTap.Login v3.8.0
+- TapTap.Common v3.8.0
+- LeanCloud.Realtime v0.10.10
+- LeanCloud.Storage v0.10.10
+
+## 3.7.1
+
+### Dependencies
+
+- TapTap.Login v3.7.1
+- TapTap.Common v3.7.1
+- LeanCloud.Realtime v0.10.0
+- LeanCloud.Storage v0.10.0
+
+## 3.7.0
+
+### Dependencies
+
+- TapTap.Login v3.7.0
+- TapTap.Common v3.7.0
+- LeanCloud.Realtime v0.10.0
+- LeanCloud.Storage v0.10.0
+
+
+## 3.6.3
+
+### Dependencies
+
+- TapTap.Login v3.6.3
+- TapTap.Common v3.6.3
+- LeanCloud.Realtime v0.10.0
+- LeanCloud.Storage v0.10.0
+
+## 3.6.1
+
+### Dependencies
+
+- TapTap.Login v3.6.1
+- TapTap.Common v3.6.1
+- LeanCloud.Realtime v0.10.0
+- LeanCloud.Storage v0.10.0
+
+## 3.6.0
+
+### Dependencies
+
+- TapTap.Login v3.6.0
+- TapTap.Common v3.6.0
+- LeanCloud.Realtime v0.10.0
+- LeanCloud.Storage v0.10.0
+
+## 3.5.0
+
+### Dependencies
+
+- TapTap.Login v3.5.0
+- TapTap.Common v3.5.0
+- LeanCloud.Realtime v0.10.0
+- LeanCloud.Storage v0.10.0
+
+## 3.4.0
+
+### Dependencies
+
+- TapTap.Login v3.4.0
+- TapTap.Common v3.4.0
+- LeanCloud.Realtime v0.10.0
+- LeanCloud.Storage v0.10.0
+
+## 3.3.0
+
+### Dependencies
+
+- TapTap.Login v3.3.0
+- TapTap.Common v3.3.0
+- LeanCloud.Realtime v0.9.11
+- LeanCloud.Storage v0.9.11
+
+## 3.2.0
+
+### New Feature
+
+- 支持云存档
+
+### Dependencies
+
+- TapTap.Login v3.2.0
+- TapTap.Common v3.2.0
+- LeanCloud.Storage v0.9.5
+- LeanCloud.Realtime v0.9.5
+
+## 3.1.0
+
+### New Feature
+
+- `TDSUser` 新增好友系统操作
+
+### Dependencies
+
+- TapTap.Login v3.1.0
+- TapTap.Common v3.1.0
+- LeanCloud.Storage v0.9.2
+- LeanCloud.Realtime v0.9.2
+
+## 3.0.0
+
+TapSDK 3.0 开始,我们在单纯的 TapTap 登录之外,还提供了一个内建账户系统供游戏使用:开发者可以直接用 TapTap OAuth
+授权的结果生成一个游戏内的账号(TDSUser),然后用该账号保存更多玩家数据。同时,我们也支持将更多第三方认证登录的结果绑定到这一账号上来(以及后续的解绑操作)。
+
+### New Feature
+
+- 新增 `TDSUser` 用于内建账户系统操作
+
+### BreakingChange
+
+- `TapBootstrap` 接口仅保留 `TapBootstrap.Init(tapConfig)` 接口
+
+### Dependencies
+
+- LeanCloud.Storage v0.8.2
+- TapTap.Login v3.0.0
+- TapTap.Common v3.0.0
+
+## 2.1.7
+
+### Dependencies
+
+- TapTap.Common v2.1.7
+
+## 2.1.6
+
+### Dependencies
+
+- TapTap.Common v2.1.6
+
+## 2.1.5
+
+### Dependencies
+
+- TapTap.Common v2.1.5
+
+## 2.1.4
+
+### Optimization and fixed bugs
+
+- 优化多语言相关
+
+### Dependencies
+
+- TapTap.Common v2.1.4
+
+## 2.1.3
+
+### Feature
+
+* 新增繁中、日文、韩文、泰文和印尼语多语言配置
+
+## 2.1.2
+
+### BreakingChange
+
+* 废弃 OpenUserCenter 接口
+
+### Dependencies
+
+* TapTap.Common v2.1.2
+
+## 2.1.1
+
+### Feature
+
+* 新增篝火测试资格校验
+    ```
+  TapBootstrap.GetTestQualification((bool, error)=>{ }):
+    ```
+* 通过 TapConfig 进行初始化配置
+    * 新增 TapDBConfig 用于 TapDB 初始化配置
+    * 新增 ClientSecret 用于 TapSDK 初始化
+  ```c#
+  //建议使用以下 TapConfig 构造方法进行初始化
+  var config = new TapConfig.Builder()
+                .ClientID("client_id")
+                .ClientSecret("client_secret")
+                .RegionType(RegionType.CN)
+                .TapDBConfig(true, "gameChannel", "gameVersion", true)
+                .ConfigBuilder();
+  TapBootstrap.Init(config);
+  ```
+
+### Breaking changes
+
+* LoginType 删除 Apple、Guest 登陆方式
+* TDS-Info.plist 删除 Apple_SignIn_Enable 配置
+* 废弃 Bind 接口
+* TapConfig 构造方法参数修改
+
+### Dependencies
+
+* TapTap.Common v2.1.1
+
+## 2.1.0
+
+### Feature
+
+* 支持性改动用于 TapTap.Friends
+
+### Dependencies
+
+* TapTap.Common v2.1.0
+
+## 2.0.0
+
+### Feature
+
+* TapTap Bootstrap
+
+### Dependencies
+
+* TapTap.Common v2.0.0

+ 3 - 0
GameClient/Assets/TapTap/Bootstrap/CHANGELOG.md.meta

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 7388165be5344a9682382768c5fce466
+timeCreated: 1616755935

+ 8 - 0
GameClient/Assets/TapTap/Bootstrap/Documentation.meta

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

+ 257 - 0
GameClient/Assets/TapTap/Bootstrap/Documentation/README.md

@@ -0,0 +1,257 @@
+# 使用 TapTap.Bootstrap
+
+## 使用前提
+
+使用 TapTap.Bootstrap 前提是必须依赖以下库:
+* [TapTap.Common](https://github.com/TapTap/TapCommon-Unity.git)
+* [TapTap.Login](https://github.com/TapTap/TapLogin-Unity.git)
+* [LeanCloud.Storage](https://github.com/leancloud/csharp-sdk)
+* [LeanCloud.RealTime](https://github.com/leancloud/csharp-sdk)
+
+## 命名空间
+
+```c#
+using TapTap.Bootstrap;
+```
+
+## 接口描述
+
+## 1.初始化
+
+TapBootstrap 会根据 TapConfig 中的 TapDBConfig 配置来进行 TapDB 的自动初始化。
+
+### 开启 TapDB
+```c#
+var config = new TapConfig.Builder()
+    .ClientID("client_id")
+    .ClientToken("client_token")
+    .ServerURL("https://ikggdre2.lc-cn-n1-shared.com")
+    .RegionType(RegionType.CN)
+    .TapDBConfig(true,"channel","gameVersion",true)
+    .Builder();
+```
+### 关闭 TapDB
+```c#
+var config = new TapConfig.Builder()
+    .ClientID("client_id")
+    .ClientToken("client_token")
+    .ServerURL("https://ikggdre2.lc-cn-n1-shared.com")
+    .RegionType(RegionType.CN)
+//# .TapDBConfig(false,null,null,false)
+    .EnableTapDB(false)
+    .Builder();
+```
+### 初始化
+```c#
+TapBootstrap.Init(config);
+```
+
+## 2.账户系统
+
+> 登陆成功之后,都会得到一个 `TDSUser` 实例
+
+### 使用 TapTap OAuth 授权结果直接登陆/注册账户系统
+
+```c#
+var tdsUser = await TDSUser.LoginWithTapTap();
+```
+
+### 游客登陆
+
+```c#
+var tdsUser = await TDSUser.LoginAnonymously();
+```
+
+### 使用第三方平台授权登录/注册账户
+
+```c#
+var tdsUser = await TDSUser.LoginWithAuthData(Dictionary<string, object> authData, string platform,
+LCUserAuthDataLoginOption option = null);
+```
+
+### 绑定第三方平台授权
+
+```c#
+await TDSUser.AssociateAuthData(Dictionary<string, object> authData, string platform);
+```
+
+### 退出登陆
+
+```c#
+TDSUser.Logout();
+```
+
+## 3.好友系统
+
+### 申请成为好友
+
+```c#
+TDSUser tom, jerry;
+await tom.ApplyFriendship(jerry);
+```
+申请成功的回调中,我们会得到一个 LCFriendshipRequest 的实例,这个实例中包含了两个用户:
+- sourceUser,指请求的发起方,上面的例子中就是 `tom`。
+- friend,指请求的目的方,上面的例子中就是 `jerry`。
+
+tom 也可以在申请好友的时候,添加更多的属性,例如 tom 希望加 jerry 为好友的时候,也设定一个名为 cat 的圈子,可以这样操作:
+
+```cs
+Dictionary<string, object> attrs = new Dictionary<string, object> {
+    { "group", "cat" }
+};
+await tom.ApplyFriendship(jerry, attrs);
+```
+
+### 获取好友申请列表
+好友申请有三种状态:
+
+- `pending`,对方没有回应,还处于等待中。
+- `accepted`,对方已经接受,现在双方成为好友。
+- `declined`,对方已经拒绝。
+
+好友请求创建之后默认是 `pending` 状态。
+
+jerry 这里可以通过 `friendshipRequestQuery` 来查找不同状态的请求。例如 jerry 想看看新的好友请求,可以这样操作:
+
+```cs
+LCQuery<LCFriendshipRequest> query = jerry.GetFriendshipRequestQuery(LCFriendshipRequest.STATUS_PENDING, false, true);
+ReadOnlyCollection<LCFriendshipRequest> reqs = await query.Find();
+foreach (LCFriendshipRequest req in reqs) {
+    Console.WriteLine(req);
+}
+```
+
+### 处理好友申请
+
+jerry 对于新的好友请求,可以同意或者拒绝,也可以什么都不做,无视这些请求,甚至直接删除。这些操作我们都是支持的,请看下面的示例:
+
+```cs
+LCFriendshipRequest tomRequest, tuffyRequest, otherRequest;
+await jerry.AcceptFriendshipRequest(tomRequest);
+await jerry.DeclineFriendshipRequest(tuffyRequest);
+await jerry.DeleteFriendshipRequest(otherRequest);
+```
+
+注意:
+* 在 jerry 拒绝了 tom 的好友请求之后,如果 tom 再次请求成为 jerry 的好友,tom 在执行 applyFriendshipInBackground 时会直接得到错误的应答,表明 jerry 不想和 ta 成为好友。
+* jerry 同意了 tuffy 的好友请求之后,它们就成为了好友,之后两个人中任何一人再次调用 applyFriendshipInBackground 申请横位好友时,也会直接得到错误的应答,表明它们已经是好友无需再次申请。
+* jerry 删除陌生人的好友请求后,对方还可以再次发起请求。
+
+### 响应好友变化通知
+
+TDS 好友模块支持客户端监听好友状态变化,在游戏中实时给玩家提示。好友状态变化的接口包括
+
+```cs
+public class FriendshipNotification {
+    public Action<LCFriendshipRequest> OnNewRequestComing { get; set; }
+    public Action<LCFriendshipRequest> OnRequestAccepted { get; set; }
+    public Action<LCFriendshipRequest> OnRequestDeclined { get; set; }
+}
+```
+
+其中:
+- onNewRequestComing 表示有其他人申请成为当前用户的好友,通过调用 `LCFriendshipRequest#getSourceUser()` 方法可以获得发起方用户信息。
+- onRequestAccepted 表示当前用户的好友申请被对方通过,通过调用 `LCFriendshipRequest#getFriend()` 方法可以获得对方用户信息。
+- onRequestDeclined 表示当前用户的好友申请被对方拒绝,通过调用 `LCFriendshipRequest#getFriend()` 方法可以获得对方用户信息。
+
+开发者可以通过 `TDSUser#registerFriendshipNotification` 来注册通知接收器,通过调用 `TDSUser#unregisterFriendshipNotification` 来取消通知接收器。
+
+### 获取好友列表
+
+调用 `TDSUser#friendshipQuery()` 可以得到查询好友的 `LCQuery` 实例,之后调用 `LCQuery#findInBackground()` 方法就可以得到好友列表。示例如下:
+
+```cs
+LCQuery<LCObject> query = jerry.GetFirendshipQuery();
+```
+
+LCFriendship 里面会包含两个用户:
+
+- `LCFriendship#getLCUser(LCFriendship.ATTR_USER)` 得到的是 jerry 自己;
+- `LCFriendship#getLCUser(LCFriendship.ATTR_FOLLOWEE)` 得到的就是另一方的用户信息。
+
+### 删除好友
+
+成为好友关系的两个用户,之后也可以单方面删除好友。例如 jerry 不想再和 tom 成为好友,那只需要在自己的好友列表中删除包含 tom 的那条 LCFriendship 记录即可:
+
+```cs
+await friendship.Delete();
+```
+
+### 查询好友关系
+
+我们使用 LCQuery 可以单独查询两个用户是否为好友关系。
+
+```cs
+LCQuery<LCObject> query = jerry.GetFirendshipQuery();
+query.whereEqualTo("followee", tom);
+int count = await query.Count();
+if (count > 0) {
+    // tom is a friend of jerry.
+} else {
+    // tom isn't a friend of jerry.
+}
+```
+
+这一查询是通过网络发送到服务端执行的,一般情况下,我们推荐开发者在游戏启动时拉取一次当前登录用户的好友列表,然后缓存在本地,以后需要检查另外玩家是否为当前用户的好友时,直接从缓存中查询即可。如果担心好友数据变化,缓存没有得到及时更新,可以调用前面「响应好友变化通知」的方法,对好友数据更新进行监听,这样在绝大部分时候数据同步都是可以保证的。
+
+## 4.云存档
+
+### 构建云存档元数据
+
+```c#
+var gameSave = new TapGameSave
+{
+    Name = "GameSave_Name",// 存档名称
+    Summary = "GameSave_Description", // 该字段会作为展示给用户的实际存档名
+    ModifiedAt = DateTime.Now.ToLocalTime(), // 原文件修改时间
+    PlayedTime = 1000L, // 游戏时长,单位 ms (非必填)
+    ProgressValue = 100, // 游戏进度 ,单位 int (非必填)
+    CoverFilePath = pic, // 游戏封面,可以传入一个本地文件路径,SDK 限制为 png/jpeg 格式
+    GameFilePath = dll // 存档源文件,可以传入一个本地文件路径
+};
+
+```
+### 保存存档
+
+保存存档时,会去检查当前`TDSUser`是否已经登录以及元数据。
+
+同时 SDK 在上传时会去限制存档本身以及相关联的两个文件( Cover 以及 GameFile )的权限为当前用户本身。
+```c#
+await gameSave.Save();
+```
+
+### 查询当前用户的所有存档
+
+```c#
+var collection = await TapGameSave.GetCurrentUserGameSaves();
+
+foreach(var gameSave in collection){
+    // 存档概览
+    var name = gameSave.Summary; 
+    // 原文件修改时间
+    var modifiedAt = gameSave.ModifiedAt;
+    // 游戏时长
+    var playedTime = gameSave.PlayedTime;
+    // 游戏进度
+    var progressValue = gameSave.ProgressValue;
+    // 游戏封面
+    var coverFile = gameSave.CoverFile;
+    // 存档源文件
+    var gameFile = gameSave.GameFile;
+    // 源文件下载地址
+    var gameFileUrl = gameFile.Url;
+}
+```
+
+### 查询当前用户存档
+
+我们使用 `LCQuery` 来查询当前用户的云存档。
+
+SDK 查询封装了一个限定方法用于查询当前`TDSUser`的云存档。
+```c#
+TDSUser user = await TDSUser.GetCurrent();
+LCQuery<TapGameSave> gameSaveQuery = TapGameSave.GetQueryWithUser(user);
+// 查询 Name 为 TDSUser_GameSave_Name 的云存档
+gameSaveQuery.WhereEqualTo("name","TDSUser_GameSave_Name");
+var collection = await gameSaveQuery.Find();
+```

+ 7 - 0
GameClient/Assets/TapTap/Bootstrap/Documentation/README.md.meta

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

+ 8 - 0
GameClient/Assets/TapTap/Bootstrap/Plugins.meta

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

+ 233 - 0
GameClient/Assets/TapTap/Bootstrap/Plugins/TapTap.Bootstrap.deps.json

@@ -0,0 +1,233 @@
+{
+  "runtimeTarget": {
+    "name": ".NETStandard,Version=v2.0/",
+    "signature": ""
+  },
+  "compilationOptions": {},
+  "targets": {
+    ".NETStandard,Version=v2.0": {},
+    ".NETStandard,Version=v2.0/": {
+      "TapTap.Bootstrap/1.0.0": {
+        "dependencies": {
+          "NETStandard.Library": "2.0.3",
+          "TapTap.Common": "1.0.0",
+          "TapTap.Login": "1.0.0",
+          "Common": "1.0.0.0",
+          "LiveQuery": "1.0.0.0",
+          "Storage": "1.0.0.0",
+          "Storage.Unity": "1.0.0.0",
+          "UnityEngine": "0.0.0.0"
+        },
+        "runtime": {
+          "TapTap.Bootstrap.dll": {}
+        }
+      },
+      "Microsoft.NETCore.Platforms/1.1.0": {},
+      "NETStandard.Library/2.0.3": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.1.0"
+        }
+      },
+      "TapTap.Common/1.0.0": {
+        "runtime": {
+          "TapTap.Common.dll": {}
+        }
+      },
+      "TapTap.Login/1.0.0": {
+        "dependencies": {
+          "TapTap.Common": "1.0.0"
+        },
+        "runtime": {
+          "TapTap.Login.dll": {}
+        }
+      },
+      "Common/1.0.0.0": {
+        "runtime": {
+          "Common.dll": {
+            "assemblyVersion": "1.0.0.0",
+            "fileVersion": "1.0.0.0"
+          }
+        }
+      },
+      "LiveQuery/1.0.0.0": {
+        "runtime": {
+          "LiveQuery.dll": {
+            "assemblyVersion": "1.0.0.0",
+            "fileVersion": "1.0.0.0"
+          }
+        }
+      },
+      "Storage/1.0.0.0": {
+        "runtime": {
+          "Storage.dll": {
+            "assemblyVersion": "1.0.0.0",
+            "fileVersion": "1.0.0.0"
+          }
+        }
+      },
+      "Storage.Unity/1.0.0.0": {
+        "runtime": {
+          "Storage.Unity.dll": {
+            "assemblyVersion": "1.0.0.0",
+            "fileVersion": "1.0.0.0"
+          }
+        }
+      },
+      "UnityEngine/0.0.0.0": {
+        "runtime": {
+          "UnityEngine.dll": {
+            "assemblyVersion": "0.0.0.0",
+            "fileVersion": "0.0.0.0"
+          }
+        }
+      },
+      "LC.Newtonsoft.Json/11.0.0.0": {
+        "runtime": {
+          "LC.Newtonsoft.Json.dll": {
+            "assemblyVersion": "11.0.0.0",
+            "fileVersion": "11.0.1.0"
+          }
+        }
+      },
+      "Realtime/1.0.0.0": {
+        "runtime": {
+          "Realtime.dll": {
+            "assemblyVersion": "1.0.0.0",
+            "fileVersion": "1.0.0.0"
+          }
+        }
+      },
+      "LC.Google.Protobuf/3.14.0.0": {
+        "runtime": {
+          "LC.Google.Protobuf.dll": {
+            "assemblyVersion": "3.14.0.0",
+            "fileVersion": "3.14.0.0"
+          }
+        }
+      },
+      "System.Memory/4.0.1.1": {
+        "runtime": {
+          "System.Memory.dll": {
+            "assemblyVersion": "4.0.1.1",
+            "fileVersion": "4.6.27617.2"
+          }
+        }
+      },
+      "System.Runtime.CompilerServices.Unsafe/4.0.4.1": {
+        "runtime": {
+          "System.Runtime.CompilerServices.Unsafe.dll": {
+            "assemblyVersion": "4.0.4.1",
+            "fileVersion": "4.0.0.0"
+          }
+        }
+      },
+      "System.Buffers/4.0.2.0": {
+        "runtime": {
+          "System.Buffers.dll": {
+            "assemblyVersion": "4.0.2.0",
+            "fileVersion": "4.6.25519.3"
+          }
+        }
+      },
+      "System.Numerics.Vectors/4.1.3.0": {
+        "runtime": {
+          "System.Numerics.Vectors.dll": {
+            "assemblyVersion": "4.1.3.0",
+            "fileVersion": "4.6.25519.3"
+          }
+        }
+      }
+    }
+  },
+  "libraries": {
+    "TapTap.Bootstrap/1.0.0": {
+      "type": "project",
+      "serviceable": false,
+      "sha512": ""
+    },
+    "Microsoft.NETCore.Platforms/1.1.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A==",
+      "path": "microsoft.netcore.platforms/1.1.0",
+      "hashPath": "microsoft.netcore.platforms.1.1.0.nupkg.sha512"
+    },
+    "NETStandard.Library/2.0.3": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==",
+      "path": "netstandard.library/2.0.3",
+      "hashPath": "netstandard.library.2.0.3.nupkg.sha512"
+    },
+    "TapTap.Common/1.0.0": {
+      "type": "project",
+      "serviceable": false,
+      "sha512": ""
+    },
+    "TapTap.Login/1.0.0": {
+      "type": "project",
+      "serviceable": false,
+      "sha512": ""
+    },
+    "Common/1.0.0.0": {
+      "type": "reference",
+      "serviceable": false,
+      "sha512": ""
+    },
+    "LiveQuery/1.0.0.0": {
+      "type": "reference",
+      "serviceable": false,
+      "sha512": ""
+    },
+    "Storage/1.0.0.0": {
+      "type": "reference",
+      "serviceable": false,
+      "sha512": ""
+    },
+    "Storage.Unity/1.0.0.0": {
+      "type": "reference",
+      "serviceable": false,
+      "sha512": ""
+    },
+    "UnityEngine/0.0.0.0": {
+      "type": "reference",
+      "serviceable": false,
+      "sha512": ""
+    },
+    "LC.Newtonsoft.Json/11.0.0.0": {
+      "type": "reference",
+      "serviceable": false,
+      "sha512": ""
+    },
+    "Realtime/1.0.0.0": {
+      "type": "reference",
+      "serviceable": false,
+      "sha512": ""
+    },
+    "LC.Google.Protobuf/3.14.0.0": {
+      "type": "reference",
+      "serviceable": false,
+      "sha512": ""
+    },
+    "System.Memory/4.0.1.1": {
+      "type": "reference",
+      "serviceable": false,
+      "sha512": ""
+    },
+    "System.Runtime.CompilerServices.Unsafe/4.0.4.1": {
+      "type": "reference",
+      "serviceable": false,
+      "sha512": ""
+    },
+    "System.Buffers/4.0.2.0": {
+      "type": "reference",
+      "serviceable": false,
+      "sha512": ""
+    },
+    "System.Numerics.Vectors/4.1.3.0": {
+      "type": "reference",
+      "serviceable": false,
+      "sha512": ""
+    }
+  }
+}

+ 7 - 0
GameClient/Assets/TapTap/Bootstrap/Plugins/TapTap.Bootstrap.deps.json.meta

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

BIN
GameClient/Assets/TapTap/Bootstrap/Plugins/TapTap.Bootstrap.dll


+ 33 - 0
GameClient/Assets/TapTap/Bootstrap/Plugins/TapTap.Bootstrap.dll.meta

@@ -0,0 +1,33 @@
+fileFormatVersion: 2
+guid: 03acb073a9f88474581401ef1020c1c4
+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: 

BIN
GameClient/Assets/TapTap/Bootstrap/Plugins/TapTap.Bootstrap.pdb


+ 7 - 0
GameClient/Assets/TapTap/Bootstrap/Plugins/TapTap.Bootstrap.pdb.meta

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

+ 254 - 0
GameClient/Assets/TapTap/Bootstrap/README.md

@@ -0,0 +1,254 @@
+# [使用 TapTap.Bootstrap ](./Documentation/README.md)
+
+## 使用前提
+
+使用 TapTap.Bootstrap 前提是必须依赖以下库:
+* [TapTap.Common](https://github.com/TapTap/TapCommon-Unity.git)
+* [TapTap.Login](https://github.com/TapTap/TapLogin-Unity.git)
+* [LeanCloud.Storage](https://github.com/leancloud/csharp-sdk)
+* [LeanCloud.RealTime](https://github.com/leancloud/csharp-sdk)
+
+## 命名空间
+
+```c#
+using TapTap.Bootstrap;
+```
+
+## 接口描述
+
+## 1.初始化
+
+TapBootstrap 会根据 TapConfig 中的 TapDBConfig 配置来进行 TapDB 的自动初始化。
+
+### 开启 TapDB
+```c#
+var config = new TapConfig.Builder()
+    .ClientID("client_id")
+    .ClientToken("client_token")
+    .ServerURL("https://ikggdre2.lc-cn-n1-shared.com")
+    .RegionType(RegionType.CN)
+    .TapDBConfig(true,"channel","gameVersion",true)
+    .Builder();
+```
+### 关闭 TapDB
+```c#
+var config = new TapConfig.Builder()
+    .ClientID("client_id")
+    .ClientToken("client_token")
+    .ServerURL("https://ikggdre2.lc-cn-n1-shared.com")
+    .RegionType(RegionType.CN)
+//# .TapDBConfig(false,null,null,false)
+    .EnableTapDB(false)
+    .Builder();
+```
+### 初始化
+```c#
+TapBootstrap.Init(config);
+```
+
+## 2.账户系统
+
+> 登陆成功之后,都会得到一个 `TDSUser` 实例
+
+### 使用 TapTap OAuth 授权结果直接登陆/注册账户系统
+
+```c#
+var tdsUser = await TDSUser.LoginWithTapTap();
+```
+
+### 游客登陆
+
+```c#
+var tdsUser = await TDSUser.LoginAnonymously();
+```
+
+### 使用第三方平台授权登录/注册账户
+
+```c#
+var tdsUser = await TDSUser.LoginWithAuthData(Dictionary<string, object> authData, string platform,
+LCUserAuthDataLoginOption option = null);
+```
+
+### 绑定第三方平台授权
+
+```c#
+await TDSUser.AssociateAuthData(Dictionary<string, object> authData, string platform);
+```
+
+### 退出登陆
+
+```c#
+TDSUser.Logout();
+```
+
+## 3.好友系统
+
+### 申请成为好友
+
+```c#
+TDSUser tom, jerry;
+await tom.ApplyFriendship(jerry);
+```
+申请成功的回调中,我们会得到一个 LCFriendshipRequest 的实例,这个实例中包含了两个用户:
+- sourceUser,指请求的发起方,上面的例子中就是 `tom`。
+- friend,指请求的目的方,上面的例子中就是 `jerry`。
+
+tom 也可以在申请好友的时候,添加更多的属性,例如 tom 希望加 jerry 为好友的时候,也设定一个名为 cat 的圈子,可以这样操作:
+
+```cs
+Dictionary<string, object> attrs = new Dictionary<string, object> {
+    { "group", "cat" }
+};
+await tom.ApplyFriendship(jerry, attrs);
+```
+
+### 获取好友申请列表
+好友申请有三种状态:
+
+- `pending`,对方没有回应,还处于等待中。
+- `accepted`,对方已经接受,现在双方成为好友。
+- `declined`,对方已经拒绝。
+
+好友请求创建之后默认是 `pending` 状态。
+
+jerry 这里可以通过 `friendshipRequestQuery` 来查找不同状态的请求。例如 jerry 想看看新的好友请求,可以这样操作:
+
+```cs
+LCQuery<LCFriendshipRequest> query = jerry.GetFriendshipRequestQuery(LCFriendshipRequest.STATUS_PENDING, false, true);
+ReadOnlyCollection<LCFriendshipRequest> reqs = await query.Find();
+foreach (LCFriendshipRequest req in reqs) {
+    Console.WriteLine(req);
+}
+```
+
+### 处理好友申请
+
+jerry 对于新的好友请求,可以同意或者拒绝,也可以什么都不做,无视这些请求,甚至直接删除。这些操作我们都是支持的,请看下面的示例:
+
+```cs
+LCFriendshipRequest tomRequest, tuffyRequest, otherRequest;
+await jerry.AcceptFriendshipRequest(tomRequest);
+await jerry.DeclineFriendshipRequest(tuffyRequest);
+await jerry.DeleteFriendshipRequest(otherRequest);
+```
+
+注意:
+* 在 jerry 拒绝了 tom 的好友请求之后,如果 tom 再次请求成为 jerry 的好友,tom 在执行 applyFriendshipInBackground 时会直接得到错误的应答,表明 jerry 不想和 ta 成为好友。
+* jerry 同意了 tuffy 的好友请求之后,它们就成为了好友,之后两个人中任何一人再次调用 applyFriendshipInBackground 申请横位好友时,也会直接得到错误的应答,表明它们已经是好友无需再次申请。
+* jerry 删除陌生人的好友请求后,对方还可以再次发起请求。
+
+### 响应好友变化通知
+
+TDS 好友模块支持客户端监听好友状态变化,在游戏中实时给玩家提示。好友状态变化的接口包括
+
+```cs
+public class FriendshipNotification {
+    public Action<LCFriendshipRequest> OnNewRequestComing { get; set; }
+    public Action<LCFriendshipRequest> OnRequestAccepted { get; set; }
+    public Action<LCFriendshipRequest> OnRequestDeclined { get; set; }
+}
+```
+
+其中:
+- onNewRequestComing 表示有其他人申请成为当前用户的好友,通过调用 `LCFriendshipRequest#getSourceUser()` 方法可以获得发起方用户信息。
+- onRequestAccepted 表示当前用户的好友申请被对方通过,通过调用 `LCFriendshipRequest#getFriend()` 方法可以获得对方用户信息。
+- onRequestDeclined 表示当前用户的好友申请被对方拒绝,通过调用 `LCFriendshipRequest#getFriend()` 方法可以获得对方用户信息。
+
+开发者可以通过 `TDSUser#registerFriendshipNotification` 来注册通知接收器,通过调用 `TDSUser#unregisterFriendshipNotification` 来取消通知接收器。
+
+### 获取好友列表
+
+调用 `TDSUser#friendshipQuery()` 可以得到查询好友的 `LCQuery` 实例,之后调用 `LCQuery#findInBackground()` 方法就可以得到好友列表。示例如下:
+
+```cs
+LCQuery<LCObject> query = jerry.GetFirendshipQuery();
+```
+
+LCFriendship 里面会包含两个用户:
+
+- `LCFriendship#getLCUser(LCFriendship.ATTR_USER)` 得到的是 jerry 自己;
+- `LCFriendship#getLCUser(LCFriendship.ATTR_FOLLOWEE)` 得到的就是另一方的用户信息。
+
+### 删除好友
+
+成为好友关系的两个用户,之后也可以单方面删除好友。例如 jerry 不想再和 tom 成为好友,那只需要在自己的好友列表中删除包含 tom 的那条 LCFriendship 记录即可:
+
+```cs
+await friendship.Delete();
+```
+
+### 查询好友关系
+
+我们使用 LCQuery 可以单独查询两个用户是否为好友关系。
+
+```cs
+LCQuery<LCObject> query = jerry.GetFirendshipQuery();
+query.whereEqualTo("followee", tom);
+int count = await query.Count();
+if (count > 0) {
+    // tom is a friend of jerry.
+} else {
+    // tom isn't a friend of jerry.
+}
+```
+
+这一查询是通过网络发送到服务端执行的,一般情况下,我们推荐开发者在游戏启动时拉取一次当前登录用户的好友列表,然后缓存在本地,以后需要检查另外玩家是否为当前用户的好友时,直接从缓存中查询即可。如果担心好友数据变化,缓存没有得到及时更新,可以调用前面「响应好友变化通知」的方法,对好友数据更新进行监听,这样在绝大部分时候数据同步都是可以保证的。
+
+## 4.云存档
+
+### 构建云存档元数据
+
+```c#
+var gameSave = new TapGameSave
+{
+    Name = "GameSave_Name",// 存档名称
+    Summary = "GameSave_Description", // 该字段会作为展示给用户的实际存档名
+    ModifiedAt = DateTime.Now.ToLocalTime(), // 原文件修改时间
+    PlayedTime = 1000L, // 游戏时长,单位 ms (非必填)
+    ProgressValue = 100, // 游戏进度 ,单位 int (非必填)
+    CoverFilePath = pic, // 游戏封面,可以传入一个本地文件路径,SDK 限制为 png/jpeg 格式
+    GameFilePath = dll // 存档源文件,可以传入一个本地文件路径
+};
+
+```
+### 保存存档
+
+保存存档时,会去检查当前`TDSUser`是否已经登录以及元数据。
+
+同时 SDK 在上传时会去限制存档本身以及相关联的两个文件( Cover 以及 GameFile )的权限为当前用户本身。
+```c#
+await gameSave.Save();
+```
+
+### 查询当前用户的所有存档
+
+```c#
+var collection = await TapGameSave.GetCurrentUserGameSaves();
+
+foreach(var gameSave in collection){
+    // 存档概览
+    var name = gameSave.Summary; 
+    // 原文件修改时间
+    var modifiedAt = gameSave.ModifiedAt;
+    // 游戏时长
+    var playedTime = gameSave.PlayedTime;
+    // 游戏进度
+    var progressValue = gameSave.ProgressValue;
+    // 游戏封面
+    var coverFile = gameSave.CoverFile;
+    // 存档源文件
+    var gameFile = gameSave.GameFile;
+    // 源文件下载地址
+    var gameFileUrl = gameFile.Url;
+}
+```
+
+### 查询云存档
+云存档只能查询当前用户的所有存档,需要查询该用户的特定存档时,可以增加相应过滤,可参考 [查询条件](https://developer.taptap.com/docs/sdk/storage/guide/objc/#%E6%9F%A5%E8%AF%A2%E6%9D%A1%E4%BB%B6)
+```c#
+TDSUser user = await TDSUser.GetCurrent();
+LCQuery<TapGameSave> gameSaveQuery = TapGameSave.GetQueryWithUser(user);
+// 查询 Name 为 TDSUser_GameSave_Name 的云存档
+gameSaveQuery.WhereEqualTo("name","TDSUser_GameSave_Name");
+var collection = await gameSaveQuery.Find();
+```

+ 3 - 0
GameClient/Assets/TapTap/Bootstrap/README.md.meta

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: c5330aab2c6a41699a1601f1af6b27d9
+timeCreated: 1616755935

+ 6 - 0
GameClient/Assets/TapTap/Bootstrap/VERSIONNOTE.md

@@ -0,0 +1,6 @@
+### Dependencies
+
+- TapTap.Login v3.10.0
+- TapTap.Common v3.10.0
+- LeanCloud.Realtime v0.10.11
+- LeanCloud.Storage v0.10.11

+ 7 - 0
GameClient/Assets/TapTap/Bootstrap/VERSIONNOTE.md.meta

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

+ 14 - 0
GameClient/Assets/TapTap/Bootstrap/package.json

@@ -0,0 +1,14 @@
+{
+  "name": "com.taptap.tds.bootstrap",
+  "displayName": "TapTap Bootstrap",
+  "description": "TapTap Develop Service",
+  "version": "3.10.0",
+  "unity": "2018.3",
+  "license": "MIT",
+  "dependencies": {
+    "com.taptap.tds.common": "https://github.com/TapTap/TapCommon-Unity.git#3.9.0",
+    "com.taptap.tds.login": "https://github.com/TapTap/TapLogin-Unity.git#3.9.0",
+    "com.leancloud.realtime": "https://github.com/leancloud/csharp-sdk-upm.git#realtime-0.10.11",
+    "com.leancloud.storage": "https://github.com/leancloud/csharp-sdk-upm.git#storage-0.10.11"
+  }
+}

+ 7 - 0
GameClient/Assets/TapTap/Bootstrap/package.json.meta

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

+ 8 - 0
GameClient/Assets/TapTap/Common.meta

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

+ 103 - 0
GameClient/Assets/TapTap/Common/CHANGELOG.md

@@ -0,0 +1,103 @@
+# ChangeLog
+
+## 3.10.0
+
+## 3.9.0
+
+## 3.8.0
+
+## 3.7.1
+
+## 3.7.0
+
+## 3.6.3
+
+### Optimization and fixed bugs
+- Android 修复特定机型上繁体中文的识别
+- Android 修复初始化时未配置 TapDBConfig 会初始化失败的问题
+
+## 3.6.1
+
+## 3.6.0
+
+## 3.5.2
+
+### New Feature
+- 新增多语言配置
+
+## 3.5.0
+
+### Optimization and fixed bugs
+- 支持性更新
+
+## 3.4.0
+
+## 3.3.0
+
+- Native Update
+
+## 3.2.0
+
+- Native Update
+
+## 3.1.0
+
+- Native Update
+
+## 3.0.0
+
+### Optimization
+
+- Bridge 新增 Task 桥接
+
+## 2.1.7
+
+### None
+
+## 2.1.6
+
+### BreakingChanges
+
+- 修改 **TapCommon.OpenReviewInTapGlobal()** 方法命名
+
+## 2.1.5
+
+### Optimization and fixed bugs
+
+- 内部优化
+
+## 2.1.4
+
+### Optimization and fixed bugs
+
+- 优化多语言相关
+- 修复 JSON 解析错误
+
+## 2.1.3
+
+### New Feature
+
+* iOS 新增 TapTap 以及 Tap.IO 客户端安装判断
+
+## 2.1.2
+
+### Optimization and fixed bugs
+
+* 修复 iOS ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES 设置问题可能导致的 AppStore 审核无法通过
+
+## 2.1.1
+
+### Feature
+
+* Android 新增 TapTap App 相关支持功能
+
+## 2.1.0
+
+* 新增长链接支持 TapTap.Friends
+* 海内外域名切换
+
+## 2.0.0
+
+### Feature
+
+* TapTap Common

+ 3 - 0
GameClient/Assets/TapTap/Common/CHANGELOG.md.meta

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 89a2f2ba3f4d4cf0b55f2f992c6b6afb
+timeCreated: 1616744142

+ 8 - 0
GameClient/Assets/TapTap/Common/Documentation.meta

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

+ 178 - 0
GameClient/Assets/TapTap/Common/Documentation/Bridge.md

@@ -0,0 +1,178 @@
+# TapCommon 用于支持 TapSDK 其他模块中 Android、iOS 与 Unity 的通信
+
+> 目前 TapSDK 业务中,Unity 业务层实现的功能不多,主要作为桥接来调用 Android、iOS SDK 中的方法。
+
+## 一、实现 Unity 调用 Android、iOS 方法
+
+> 为了方便 Unity 一套代码可以调用双端方法,所以定义原生接口时,需要考虑 Android、iOS 语言之间的差异。
+
+### Android 接口定义
+
+- 使用 `@BridgeService` 、`@BridgeMethod` 、`@BridgeParam` 注解修饰 `类`、`方法`、`参数`。
+- `Activity`、`BridgeCallback` 这两个类型参数不需要 `@BridgeParam` 注解。
+- `@BridgeParam` 仅支持基本数据类型(包含 `String`)。
+
+```java
+@BridgeService("TestService")
+public class TestService implementation IBridgeService {
+    
+    @BridgeMethod("testMethodWithCallback")
+    void testMethodWithCallback(BridgeCallback callback);
+    
+    @BridgeMethod("testMethodWithArgsAndCallback")
+    void testMethodWithArgsAndCallback(Activity activity, @BridgeParam("args1") String appId, @BridgeParam("args2") int args2, BridgeCallback callback);
+    
+}
+
+```
+
+### Android 接口实现
+
+```java
+public class TestService implementation TestService {
+    
+    @Override
+    public void testMethodWithCallback(BridgeCallback callback){
+        callback.onResult("testMethodWithCallback 回调给 Unity 的参数");        
+    }
+    
+    @Override
+    public void testMethodWithArgsAndCallback(Activity activity, String appId,int args2, BridgeCallback callback){
+        callback.onResult("testMethodWithArgsAndCallback 回调给 Unity 的参数");        
+    }
+
+}
+
+```
+
+### iOS 接口定义
+
+> iOS 方法名通过反射获取到的为 `args1:args2:bridgeCallback` ,所以 iOS 的方法定义与 Android 略有不同。
+
+- 类名必须同 Android `@BridgeService` 所修饰的类名一致。
+- 参数名例如 `args1`、`args2` 必须同 Android `@BridgeParam` 修饰的一致,用于回调的 `iOS` 闭包的参数名必须为 `bridgeCallback`。
+- 当参数个数仅为 0 或者 仅为 闭包时,方法名必须同 Android `@BridgeMethod` 修饰的方法一致。
+
+```objectivec
+@interface TestService
+
+// 匹配的是 Android 中 testMethodWithCallback 方法
++(void) testMethodWithCallback:(void (^)(NSString *result))callback;
+
+// 匹配的是 Android 中 testMethodWithArgsAndCallback 方法
++(void) args1:(NSString*)args1 args2:(NSNumber*)args2 bridgeCallback:(void (^)(NSString *result))callback;
+
+@end
+```
+
+### iOS 接口实现
+
+```objectivec
+@implementation TestService
+
++(void) testMethodWithCallback:(void (^)(NSString *result)) callback{
+    callback(@"testMethodWithCallback 回调给 Unity 的参数");
+}
+
++(void) args1:(NSString*)args1 args2:(NSNumber*)args2 bridgeCallback:(void (^)(NSString *result))callback{
+    callback(@"testMethodWithArgsAndCallback 回调给 Unity 的参数");
+}
+
+@end
+```
+
+### Unity 调用上文中定义的 Android、iOS 接口
+
+#### 1.初始化
+
+```c#
+// Android 初始化
+//CLZ_NAME 和IMP_NAME为 接口以及实现类的全路径包名 例如:com.tds.bridge.TestService,com.tds.bridge.TestServiceImpl
+EngineBridge.GetInstance().Register(CLZ_NAME, IMP_NAME);
+
+// iOS 无需初始化
+```
+#### 2.调用方法
+
+`Bridge.CallHandler` 为异步方法,执行线程的流程为:
+
+Unity Thread -> Native MainThread -> Execute Function -> Unity Thread
+
+所以执行 `CallHandler` 的 Thread 和 `Action<Result>` 的 Thread 都为 Unity 当前 Thread。
+
+```c#
+ var command = new Command.Builder()
+            .Service("TestService") // @BridgeService 值以及 iOS 类名
+            .Method("testMethodWithArgsAndCallback")  // @BridgeMethod 值 以及 iOS 方法名
+            .Args("args1","value") // @BridgeParam 值 以及 iOS 参数名
+            .Args("args2",1) // 同上
+            .Callback(true) // 是否需要添加 BridgeCallback
+            .OnceTime(true) // 当前 BridgeCallback 是否常驻内存
+            .CommandBuilder();
+ 
+ // 需要回调
+ EngineBridge.GetInstance().CallHandler(command,result=>{
+     if(EngineBridge.CheckResult(result)){
+        // 桥接调用成功
+        // 当前 Content 则为 Android、iOS 通过 BridgeCallback 传给 Unity 的值
+        var content = result.content;
+     }
+ });
+ 
+ // 不需要回调
+ EngineBridge.GetInstance().CallHandler(command);
+```
+
+## 二、Android 、iOS 调用 Unity
+
+鉴于 TapSDK 3.1.+ 之后,Android 与 iOS 需要同步 `TapBootstrap` 中 `TDSUser` 的部分参数,所以 `TapCommon` 在当前版本支持了原生简单的调用 Unity 接口。
+
+以下以 Android、iOS 需要 Unity 提供 `sessionToken` 以及 `objectId` 为例
+
+### Unity 实现 ITapPropertiesProxy 接口并注册
+
+```c#
+public class SessionTokenProxy:ITapPropertiesProxy{
+
+    public string GetProperties(){
+       return "sessionToken-kafjaskldfjasjdhfajkdfajdfas";
+    }
+
+}
+
+public class ObjectIdProxy:ITapPropertiesProxy {
+    
+    public string GetProperties(){
+        return "objectId-dafasdfad";
+    }
+    
+}
+
+// 通过 TapCommon 注册 Native 需要调用的接口
+TapCommon.RegisterProperties("sessionToken",new SessionTokenProxy());
+
+TapCommon.RegisterProperties("objectid",new ObjectIdProxy());
+```
+
+### Android、iOS 调用 Unity 实现的 ITapPropertiesProxy 来获取所需要的值
+
+Android 获取 `sessionToken` 以及 `objectId`
+
+```java
+String sessionToken = TapPropertiesHolder.INSTANCE.getProperty("sessionToken");
+String objectId = TapPropertiesHolder.INSTANCE.getProperty("objectId");
+```
+
+iOS 获取 `sessionToken` 以及 `objectId`
+
+```objectivec
+NSString* sessionToken = [[TapPropertiesHolder shareInstance] getProperty:@"sessionToken"];
+NSString* objectId = [[TapPropertiesHolder shareInstance] getProperty:@"objectId"];
+```
+
+
+
+
+
+
+

+ 7 - 0
GameClient/Assets/TapTap/Common/Documentation/Bridge.md.meta

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

+ 89 - 0
GameClient/Assets/TapTap/Common/Documentation/README.md

@@ -0,0 +1,89 @@
+## TapTap.Common
+
+### 接口描述
+
+#### 1.获取地区
+
+```c#
+TapCommon.GetRegionCode(isMainland =>
+{
+    // true 中国大陆 false 非中国大陆
+});
+```
+
+#### 2. TapTap 是否安装
+
+```c#
+TapCommon.IsTapTapInstalled(installed =>
+{
+    // true 安装 false 未安装
+});
+```
+
+#### 3. TapTap IO 是否安装
+
+```c#
+TapCommon.IsTapTapGlobalInstalled(installed =>
+{
+    // true 安装  false 未安装
+});
+```
+
+### Android 独占方法
+
+#### 4. 在 TapTap 更新游戏
+
+```c#
+TapCommon.UpdateGameInTapTap(appId,updateSuccess =>
+{
+    // true 更新成功 false 更新失败
+});
+```
+
+#### 5. 在 TapTap IO 更新游戏
+
+```c#
+TapCommon.UpdateGameInTapGlobal(appId,updateSuccess =>
+{
+    // true 更新成功 false 更新失败
+});
+```
+
+#### 6. 在 TapTap 打开当前游戏的评论区
+
+```c#
+TapCommon.OpenReviewInTapTap(appId,openSuccess =>
+{
+    // true 打开评论区 false 打开失败
+});
+```
+
+#### 6. 在 TapTap IO 打开当前游戏的评论区
+
+```c#
+TapCommon.OpenReviewInTapGlobal(appId,openSuccess =>
+{
+    // true 打开评论区 false 打开失败
+});
+```
+
+#### 7. 唤起 TapTap 客户端更新游戏
+
+appId: 游戏在 TapTap 商店的唯一身份标识
+
+例如:https://www.taptap.com/app/187168 ,其中 187168 是 appid.
+
+```c#
+// 在 TapTap 客户端更新游戏,失败时通过浏览器打开 Tap 网站对应的游戏页面
+// 当你在国内区上架时使用
+bool isSuccess = await TapCommon.UpdateGameAndFailToWebInTapTap(string appId);
+// 当你在海外区上架时使用
+bool isSuccess = await TapCommon.UpdateGameAndFailToWebInTapGlobal(string appId):
+```
+
+如果你需要在唤起 Tap 客户端失败时跳转到自己的网页
+
+```c#
+bool isSuccess = await TapCommon.UpdateGameAndFailToWebInTapTap(string appId, string webUrl)
+bool isSuccess = await TapCommon.UpdateGameAndFailToWebInTapGlobal(string appId, string webUrl)
+```

+ 3 - 0
GameClient/Assets/TapTap/Common/Documentation/README.md.meta

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 1d7008a3a22e45a4bfe9605e6d050a29
+timeCreated: 1616744132

+ 8 - 0
GameClient/Assets/TapTap/Common/Editor.meta

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

+ 954 - 0
GameClient/Assets/TapTap/Common/Editor/Plist.cs

@@ -0,0 +1,954 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.IO;
+using System.Text;
+using System.Xml;
+
+namespace TapTap.Common.Editor
+{
+    public static class Plist
+    {
+        private static List<int> offsetTable = new List<int>();
+        private static List<byte> objectTable = new List<byte>();
+        private static int refCount;
+        private static int objRefSize;
+        private static int offsetByteSize;
+        private static long offsetTableOffset;
+        
+        #region Public Functions
+
+        public static object readPlist(string path)
+        {
+            using (FileStream f = new FileStream(path, FileMode.Open, FileAccess.Read))
+            {
+                return readPlist(f, plistType.Auto);
+            }
+        }
+
+        public static object readPlistSource(string source)
+        {
+            return readPlist(System.Text.Encoding.UTF8.GetBytes(source));
+        }
+
+        public static object readPlist(byte[] data)
+        {
+            return readPlist(new MemoryStream(data), plistType.Auto);
+        }
+
+        public static plistType getPlistType(Stream stream)
+        {
+            byte[] magicHeader = new byte[8];
+            stream.Read(magicHeader, 0, 8);
+
+            if (BitConverter.ToInt64(magicHeader, 0) == 3472403351741427810)
+            {
+                return plistType.Binary;
+            }
+            else
+            {
+                return plistType.Xml;
+            }
+        }
+
+        public static object readPlist(Stream stream, plistType type)
+        {
+            if (type == plistType.Auto)
+            {
+                type = getPlistType(stream);
+                stream.Seek(0, SeekOrigin.Begin);
+            }
+
+            if (type == plistType.Binary)
+            {
+                using (BinaryReader reader = new BinaryReader(stream))
+                {
+                    byte[] data = reader.ReadBytes((int) reader.BaseStream.Length);
+                    return readBinary(data);
+                }
+            }
+            else
+            {
+                XmlDocument xml = new XmlDocument();
+                xml.XmlResolver = null;
+                xml.Load(stream);
+                return readXml(xml);
+            }
+        }
+
+        public static void writeXml(object value, string path)
+        {
+            using (StreamWriter writer = new StreamWriter(path))
+            {
+                writer.Write(writeXml(value));
+            }
+        }
+
+        public static void writeXml(object value, Stream stream)
+        {
+            using (StreamWriter writer = new StreamWriter(stream))
+            {
+                writer.Write(writeXml(value));
+            }
+        }
+
+        public static string writeXml(object value)
+        {
+            using (MemoryStream ms = new MemoryStream())
+            {
+                XmlWriterSettings xmlWriterSettings = new XmlWriterSettings();
+                xmlWriterSettings.Encoding = new System.Text.UTF8Encoding(false);
+                xmlWriterSettings.ConformanceLevel = ConformanceLevel.Document;
+                xmlWriterSettings.Indent = true;
+
+                using (XmlWriter xmlWriter = XmlWriter.Create(ms, xmlWriterSettings))
+                {
+                    xmlWriter.WriteStartDocument();
+                    //xmlWriter.WriteComment("DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" " + "\"http://www.apple.com/DTDs/PropertyList-1.0.dtd\"");
+                    xmlWriter.WriteDocType("plist", "-//Apple Computer//DTD PLIST 1.0//EN",
+                        "http://www.apple.com/DTDs/PropertyList-1.0.dtd", null);
+                    xmlWriter.WriteStartElement("plist");
+                    xmlWriter.WriteAttributeString("version", "1.0");
+                    compose(value, xmlWriter);
+                    xmlWriter.WriteEndElement();
+                    xmlWriter.WriteEndDocument();
+                    xmlWriter.Flush();
+                    xmlWriter.Close();
+                    return System.Text.Encoding.UTF8.GetString(ms.ToArray());
+                }
+            }
+        }
+
+        public static void writeBinary(object value, string path)
+        {
+            using (BinaryWriter writer = new BinaryWriter(new FileStream(path, FileMode.Create)))
+            {
+                writer.Write(writeBinary(value));
+            }
+        }
+
+        public static void writeBinary(object value, Stream stream)
+        {
+            using (BinaryWriter writer = new BinaryWriter(stream))
+            {
+                writer.Write(writeBinary(value));
+            }
+        }
+
+        public static byte[] writeBinary(object value)
+        {
+            offsetTable.Clear();
+            objectTable.Clear();
+            refCount = 0;
+            objRefSize = 0;
+            offsetByteSize = 0;
+            offsetTableOffset = 0;
+
+            //Do not count the root node, subtract by 1
+            int totalRefs = countObject(value) - 1;
+
+            refCount = totalRefs;
+
+            objRefSize = RegulateNullBytes(BitConverter.GetBytes(refCount)).Length;
+
+            composeBinary(value);
+
+            writeBinaryString("bplist00", false);
+
+            offsetTableOffset = (long) objectTable.Count;
+
+            offsetTable.Add(objectTable.Count - 8);
+
+            offsetByteSize = RegulateNullBytes(BitConverter.GetBytes(offsetTable[offsetTable.Count - 1])).Length;
+
+            List<byte> offsetBytes = new List<byte>();
+
+            offsetTable.Reverse();
+
+            for (int i = 0; i < offsetTable.Count; i++)
+            {
+                offsetTable[i] = objectTable.Count - offsetTable[i];
+                byte[] buffer = RegulateNullBytes(BitConverter.GetBytes(offsetTable[i]), offsetByteSize);
+                Array.Reverse(buffer);
+                offsetBytes.AddRange(buffer);
+            }
+
+            objectTable.AddRange(offsetBytes);
+
+            objectTable.AddRange(new byte[6]);
+            objectTable.Add(Convert.ToByte(offsetByteSize));
+            objectTable.Add(Convert.ToByte(objRefSize));
+
+            var a = BitConverter.GetBytes((long) totalRefs + 1);
+            Array.Reverse(a);
+            objectTable.AddRange(a);
+
+            objectTable.AddRange(BitConverter.GetBytes((long) 0));
+            a = BitConverter.GetBytes(offsetTableOffset);
+            Array.Reverse(a);
+            objectTable.AddRange(a);
+
+            return objectTable.ToArray();
+        }
+
+        #endregion
+
+        #region Private Functions
+
+        private static object readXml(XmlDocument xml)
+        {
+            XmlNode rootNode = xml.DocumentElement.ChildNodes[0];
+            return parse(rootNode);
+        }
+
+        private static object readBinary(byte[] data)
+        {
+            offsetTable.Clear();
+            List<byte> offsetTableBytes = new List<byte>();
+            objectTable.Clear();
+            refCount = 0;
+            objRefSize = 0;
+            offsetByteSize = 0;
+            offsetTableOffset = 0;
+
+            List<byte> bList = new List<byte>(data);
+
+            List<byte> trailer = bList.GetRange(bList.Count - 32, 32);
+
+            parseTrailer(trailer);
+
+            objectTable = bList.GetRange(0, (int) offsetTableOffset);
+
+            offsetTableBytes = bList.GetRange((int) offsetTableOffset, bList.Count - (int) offsetTableOffset - 32);
+
+            parseOffsetTable(offsetTableBytes);
+
+            return parseBinary(0);
+        }
+
+        private static Dictionary<string, object> parseDictionary(XmlNode node)
+        {
+            XmlNodeList children = node.ChildNodes;
+            if (children.Count % 2 != 0)
+            {
+                throw new DataMisalignedException("Dictionary elements must have an even number of child nodes");
+            }
+
+            Dictionary<string, object> dict = new Dictionary<string, object>();
+
+            for (int i = 0; i < children.Count; i += 2)
+            {
+                XmlNode keynode = children[i];
+                XmlNode valnode = children[i + 1];
+
+                if (keynode.Name != "key")
+                {
+                    throw new ApplicationException("expected a key node");
+                }
+
+                object result = parse(valnode);
+
+                if (result != null)
+                {
+                    dict.Add(keynode.InnerText, result);
+                }
+            }
+
+            return dict;
+        }
+
+        private static List<object> parseArray(XmlNode node)
+        {
+            List<object> array = new List<object>();
+
+            foreach (XmlNode child in node.ChildNodes)
+            {
+                object result = parse(child);
+                if (result != null)
+                {
+                    array.Add(result);
+                }
+            }
+
+            return array;
+        }
+
+        private static void composeArray(List<object> value, XmlWriter writer)
+        {
+            writer.WriteStartElement("array");
+            foreach (object obj in value)
+            {
+                compose(obj, writer);
+            }
+
+            writer.WriteEndElement();
+        }
+
+        private static object parse(XmlNode node)
+        {
+            switch (node.Name)
+            {
+                case "dict":
+                    return parseDictionary(node);
+                case "array":
+                    return parseArray(node);
+                case "string":
+                    return node.InnerText;
+                case "integer":
+                    //  int result;
+                    //int.TryParse(node.InnerText, System.Globalization.NumberFormatInfo.InvariantInfo, out result);
+                    return Convert.ToInt32(node.InnerText, System.Globalization.NumberFormatInfo.InvariantInfo);
+                case "real":
+                    return Convert.ToDouble(node.InnerText, System.Globalization.NumberFormatInfo.InvariantInfo);
+                case "false":
+                    return false;
+                case "true":
+                    return true;
+                case "null":
+                    return null;
+                case "date":
+                    return XmlConvert.ToDateTime(node.InnerText, XmlDateTimeSerializationMode.Utc);
+                case "data":
+                    return Convert.FromBase64String(node.InnerText);
+            }
+
+            throw new ApplicationException(String.Format("Plist Node `{0}' is not supported", node.Name));
+        }
+
+        private static void compose(object value, XmlWriter writer)
+        {
+            if (value == null || value is string)
+            {
+                writer.WriteElementString("string", value as string);
+            }
+            else if (value is int || value is long)
+            {
+                writer.WriteElementString("integer",
+                    ((int) value).ToString(System.Globalization.NumberFormatInfo.InvariantInfo));
+            }
+            else if (value is System.Collections.Generic.Dictionary<string, object> ||
+                     value.GetType().ToString().StartsWith("System.Collections.Generic.Dictionary`2[System.String"))
+            {
+                //Convert to Dictionary<string, object>
+                Dictionary<string, object> dic = value as Dictionary<string, object>;
+                if (dic == null)
+                {
+                    dic = new Dictionary<string, object>();
+                    IDictionary idic = (IDictionary) value;
+                    foreach (var key in idic.Keys)
+                    {
+                        dic.Add(key.ToString(), idic[key]);
+                    }
+                }
+
+                writeDictionaryValues(dic, writer);
+            }
+            else if (value is List<object>)
+            {
+                composeArray((List<object>) value, writer);
+            }
+            else if (value is byte[])
+            {
+                writer.WriteElementString("data", Convert.ToBase64String((Byte[]) value));
+            }
+            else if (value is float || value is double)
+            {
+                writer.WriteElementString("real",
+                    ((double) value).ToString(System.Globalization.NumberFormatInfo.InvariantInfo));
+            }
+            else if (value is DateTime)
+            {
+                DateTime time = (DateTime) value;
+                string theString = XmlConvert.ToString(time, XmlDateTimeSerializationMode.Utc);
+                writer.WriteElementString("date", theString); //, "yyyy-MM-ddTHH:mm:ssZ"));
+            }
+            else if (value is bool)
+            {
+                writer.WriteElementString(value.ToString().ToLower(), "");
+            }
+            else
+            {
+                throw new Exception(String.Format("Value type '{0}' is unhandled", value.GetType().ToString()));
+            }
+        }
+
+        private static void writeDictionaryValues(Dictionary<string, object> dictionary, XmlWriter writer)
+        {
+            writer.WriteStartElement("dict");
+            foreach (string key in dictionary.Keys)
+            {
+                object value = dictionary[key];
+                writer.WriteElementString("key", key);
+                compose(value, writer);
+            }
+
+            writer.WriteEndElement();
+        }
+
+        private static int countObject(object value)
+        {
+            int count = 0;
+            switch (value.GetType().ToString())
+            {
+                case "System.Collections.Generic.Dictionary`2[System.String,System.Object]":
+                    Dictionary<string, object> dict = (Dictionary<string, object>) value;
+                    foreach (string key in dict.Keys)
+                    {
+                        count += countObject(dict[key]);
+                    }
+
+                    count += dict.Keys.Count;
+                    count++;
+                    break;
+                case "System.Collections.Generic.List`1[System.Object]":
+                    List<object> list = (List<object>) value;
+                    foreach (object obj in list)
+                    {
+                        count += countObject(obj);
+                    }
+
+                    count++;
+                    break;
+                default:
+                    count++;
+                    break;
+            }
+
+            return count;
+        }
+
+        private static byte[] writeBinaryDictionary(Dictionary<string, object> dictionary)
+        {
+            List<byte> buffer = new List<byte>();
+            List<byte> header = new List<byte>();
+            List<int> refs = new List<int>();
+            for (int i = dictionary.Count - 1; i >= 0; i--)
+            {
+                var o = new object[dictionary.Count];
+                dictionary.Values.CopyTo(o, 0);
+                composeBinary(o[i]);
+                offsetTable.Add(objectTable.Count);
+                refs.Add(refCount);
+                refCount--;
+            }
+
+            for (int i = dictionary.Count - 1; i >= 0; i--)
+            {
+                var o = new string[dictionary.Count];
+                dictionary.Keys.CopyTo(o, 0);
+                composeBinary(o[i]); //);
+                offsetTable.Add(objectTable.Count);
+                refs.Add(refCount);
+                refCount--;
+            }
+
+            if (dictionary.Count < 15)
+            {
+                header.Add(Convert.ToByte(0xD0 | Convert.ToByte(dictionary.Count)));
+            }
+            else
+            {
+                header.Add(0xD0 | 0xf);
+                header.AddRange(writeBinaryInteger(dictionary.Count, false));
+            }
+
+
+            foreach (int val in refs)
+            {
+                byte[] refBuffer = RegulateNullBytes(BitConverter.GetBytes(val), objRefSize);
+                Array.Reverse(refBuffer);
+                buffer.InsertRange(0, refBuffer);
+            }
+
+            buffer.InsertRange(0, header);
+
+
+            objectTable.InsertRange(0, buffer);
+
+            return buffer.ToArray();
+        }
+
+        private static byte[] composeBinaryArray(List<object> objects)
+        {
+            List<byte> buffer = new List<byte>();
+            List<byte> header = new List<byte>();
+            List<int> refs = new List<int>();
+
+            for (int i = objects.Count - 1; i >= 0; i--)
+            {
+                composeBinary(objects[i]);
+                offsetTable.Add(objectTable.Count);
+                refs.Add(refCount);
+                refCount--;
+            }
+
+            if (objects.Count < 15)
+            {
+                header.Add(Convert.ToByte(0xA0 | Convert.ToByte(objects.Count)));
+            }
+            else
+            {
+                header.Add(0xA0 | 0xf);
+                header.AddRange(writeBinaryInteger(objects.Count, false));
+            }
+
+            foreach (int val in refs)
+            {
+                byte[] refBuffer = RegulateNullBytes(BitConverter.GetBytes(val), objRefSize);
+                Array.Reverse(refBuffer);
+                buffer.InsertRange(0, refBuffer);
+            }
+
+            buffer.InsertRange(0, header);
+
+            objectTable.InsertRange(0, buffer);
+
+            return buffer.ToArray();
+        }
+
+        private static byte[] composeBinary(object obj)
+        {
+            byte[] value;
+            switch (obj.GetType().ToString())
+            {
+                case "System.Collections.Generic.Dictionary`2[System.String,System.Object]":
+                    value = writeBinaryDictionary((Dictionary<string, object>) obj);
+                    return value;
+
+                case "System.Collections.Generic.List`1[System.Object]":
+                    value = composeBinaryArray((List<object>) obj);
+                    return value;
+
+                case "System.Byte[]":
+                    value = writeBinaryByteArray((byte[]) obj);
+                    return value;
+
+                case "System.Double":
+                    value = writeBinaryDouble((double) obj);
+                    return value;
+
+                case "System.Int32":
+                    value = writeBinaryInteger((int) obj, true);
+                    return value;
+
+                case "System.String":
+                    value = writeBinaryString((string) obj, true);
+                    return value;
+
+                case "System.DateTime":
+                    value = writeBinaryDate((DateTime) obj);
+                    return value;
+
+                case "System.Boolean":
+                    value = writeBinaryBool((bool) obj);
+                    return value;
+
+                default:
+                    return new byte[0];
+            }
+        }
+
+        public static byte[] writeBinaryDate(DateTime obj)
+        {
+            List<byte> buffer =
+                new List<byte>(RegulateNullBytes(BitConverter.GetBytes(PlistDateConverter.ConvertToAppleTimeStamp(obj)),
+                    8));
+            buffer.Reverse();
+            buffer.Insert(0, 0x33);
+            objectTable.InsertRange(0, buffer);
+            return buffer.ToArray();
+        }
+
+        public static byte[] writeBinaryBool(bool obj)
+        {
+            List<byte> buffer = new List<byte>(new byte[1] {(bool) obj ? (byte) 9 : (byte) 8});
+            objectTable.InsertRange(0, buffer);
+            return buffer.ToArray();
+        }
+
+        private static byte[] writeBinaryInteger(int value, bool write)
+        {
+            List<byte> buffer = new List<byte>(BitConverter.GetBytes((long) value));
+            buffer = new List<byte>(RegulateNullBytes(buffer.ToArray()));
+            while (buffer.Count != Math.Pow(2, Math.Log(buffer.Count) / Math.Log(2)))
+                buffer.Add(0);
+            int header = 0x10 | (int) (Math.Log(buffer.Count) / Math.Log(2));
+
+            buffer.Reverse();
+
+            buffer.Insert(0, Convert.ToByte(header));
+
+            if (write)
+                objectTable.InsertRange(0, buffer);
+
+            return buffer.ToArray();
+        }
+
+        private static byte[] writeBinaryDouble(double value)
+        {
+            List<byte> buffer = new List<byte>(RegulateNullBytes(BitConverter.GetBytes(value), 4));
+            while (buffer.Count != Math.Pow(2, Math.Log(buffer.Count) / Math.Log(2)))
+                buffer.Add(0);
+            int header = 0x20 | (int) (Math.Log(buffer.Count) / Math.Log(2));
+
+            buffer.Reverse();
+
+            buffer.Insert(0, Convert.ToByte(header));
+
+            objectTable.InsertRange(0, buffer);
+
+            return buffer.ToArray();
+        }
+
+        private static byte[] writeBinaryByteArray(byte[] value)
+        {
+            List<byte> buffer = new List<byte>(value);
+            List<byte> header = new List<byte>();
+            if (value.Length < 15)
+            {
+                header.Add(Convert.ToByte(0x40 | Convert.ToByte(value.Length)));
+            }
+            else
+            {
+                header.Add(0x40 | 0xf);
+                header.AddRange(writeBinaryInteger(buffer.Count, false));
+            }
+
+            buffer.InsertRange(0, header);
+
+            objectTable.InsertRange(0, buffer);
+
+            return buffer.ToArray();
+        }
+
+        private static byte[] writeBinaryString(string value, bool head)
+        {
+            List<byte> buffer = new List<byte>();
+            List<byte> header = new List<byte>();
+            foreach (char chr in value.ToCharArray())
+                buffer.Add(Convert.ToByte(chr));
+
+            if (head)
+            {
+                if (value.Length < 15)
+                {
+                    header.Add(Convert.ToByte(0x50 | Convert.ToByte(value.Length)));
+                }
+                else
+                {
+                    header.Add(0x50 | 0xf);
+                    header.AddRange(writeBinaryInteger(buffer.Count, false));
+                }
+            }
+
+            buffer.InsertRange(0, header);
+
+            objectTable.InsertRange(0, buffer);
+
+            return buffer.ToArray();
+        }
+
+        private static byte[] RegulateNullBytes(byte[] value)
+        {
+            return RegulateNullBytes(value, 1);
+        }
+
+        private static byte[] RegulateNullBytes(byte[] value, int minBytes)
+        {
+            Array.Reverse(value);
+            List<byte> bytes = new List<byte>(value);
+            for (int i = 0; i < bytes.Count; i++)
+            {
+                if (bytes[i] == 0 && bytes.Count > minBytes)
+                {
+                    bytes.Remove(bytes[i]);
+                    i--;
+                }
+                else
+                    break;
+            }
+
+            if (bytes.Count < minBytes)
+            {
+                int dist = minBytes - bytes.Count;
+                for (int i = 0; i < dist; i++)
+                    bytes.Insert(0, 0);
+            }
+
+            value = bytes.ToArray();
+            Array.Reverse(value);
+            return value;
+        }
+
+        private static void parseTrailer(List<byte> trailer)
+        {
+            offsetByteSize = BitConverter.ToInt32(RegulateNullBytes(trailer.GetRange(6, 1).ToArray(), 4), 0);
+            objRefSize = BitConverter.ToInt32(RegulateNullBytes(trailer.GetRange(7, 1).ToArray(), 4), 0);
+            byte[] refCountBytes = trailer.GetRange(12, 4).ToArray();
+            Array.Reverse(refCountBytes);
+            refCount = BitConverter.ToInt32(refCountBytes, 0);
+            byte[] offsetTableOffsetBytes = trailer.GetRange(24, 8).ToArray();
+            Array.Reverse(offsetTableOffsetBytes);
+            offsetTableOffset = BitConverter.ToInt64(offsetTableOffsetBytes, 0);
+        }
+
+        private static void parseOffsetTable(List<byte> offsetTableBytes)
+        {
+            for (int i = 0; i < offsetTableBytes.Count; i += offsetByteSize)
+            {
+                byte[] buffer = offsetTableBytes.GetRange(i, offsetByteSize).ToArray();
+                Array.Reverse(buffer);
+                offsetTable.Add(BitConverter.ToInt32(RegulateNullBytes(buffer, 4), 0));
+            }
+        }
+
+        private static object parseBinaryDictionary(int objRef)
+        {
+            Dictionary<string, object> buffer = new Dictionary<string, object>();
+            List<int> refs = new List<int>();
+            int refCount = 0;
+
+            int refStartPosition;
+            refCount = getCount(offsetTable[objRef], out refStartPosition);
+
+
+            if (refCount < 15)
+                refStartPosition = offsetTable[objRef] + 1;
+            else
+                refStartPosition = offsetTable[objRef] + 2 +
+                                   RegulateNullBytes(BitConverter.GetBytes(refCount), 1).Length;
+
+            for (int i = refStartPosition; i < refStartPosition + refCount * 2 * objRefSize; i += objRefSize)
+            {
+                byte[] refBuffer = objectTable.GetRange(i, objRefSize).ToArray();
+                Array.Reverse(refBuffer);
+                refs.Add(BitConverter.ToInt32(RegulateNullBytes(refBuffer, 4), 0));
+            }
+
+            for (int i = 0; i < refCount; i++)
+            {
+                buffer.Add((string) parseBinary(refs[i]), parseBinary(refs[i + refCount]));
+            }
+
+            return buffer;
+        }
+
+        private static object parseBinaryArray(int objRef)
+        {
+            List<object> buffer = new List<object>();
+            List<int> refs = new List<int>();
+            int refCount = 0;
+
+            int refStartPosition;
+            refCount = getCount(offsetTable[objRef], out refStartPosition);
+
+
+            if (refCount < 15)
+                refStartPosition = offsetTable[objRef] + 1;
+            else
+                //The following integer has a header aswell so we increase the refStartPosition by two to account for that.
+                refStartPosition = offsetTable[objRef] + 2 +
+                                   RegulateNullBytes(BitConverter.GetBytes(refCount), 1).Length;
+
+            for (int i = refStartPosition; i < refStartPosition + refCount * objRefSize; i += objRefSize)
+            {
+                byte[] refBuffer = objectTable.GetRange(i, objRefSize).ToArray();
+                Array.Reverse(refBuffer);
+                refs.Add(BitConverter.ToInt32(RegulateNullBytes(refBuffer, 4), 0));
+            }
+
+            for (int i = 0; i < refCount; i++)
+            {
+                buffer.Add(parseBinary(refs[i]));
+            }
+
+            return buffer;
+        }
+
+        private static int getCount(int bytePosition, out int newBytePosition)
+        {
+            byte headerByte = objectTable[bytePosition];
+            byte headerByteTrail = Convert.ToByte(headerByte & 0xf);
+            int count;
+            if (headerByteTrail < 15)
+            {
+                count = headerByteTrail;
+                newBytePosition = bytePosition + 1;
+            }
+            else
+                count = (int) parseBinaryInt(bytePosition + 1, out newBytePosition);
+
+            return count;
+        }
+
+        private static object parseBinary(int objRef)
+        {
+            byte header = objectTable[offsetTable[objRef]];
+            switch (header & 0xF0)
+            {
+                case 0:
+                {
+                    //If the byte is
+                    //0 return null
+                    //9 return true
+                    //8 return false
+                    return (objectTable[offsetTable[objRef]] == 0)
+                        ? (object) null
+                        : ((objectTable[offsetTable[objRef]] == 9) ? true : false);
+                }
+                case 0x10:
+                {
+                    return parseBinaryInt(offsetTable[objRef]);
+                }
+                case 0x20:
+                {
+                    return parseBinaryReal(offsetTable[objRef]);
+                }
+                case 0x30:
+                {
+                    return parseBinaryDate(offsetTable[objRef]);
+                }
+                case 0x40:
+                {
+                    return parseBinaryByteArray(offsetTable[objRef]);
+                }
+                case 0x50: //String ASCII
+                {
+                    return parseBinaryAsciiString(offsetTable[objRef]);
+                }
+                case 0x60: //String Unicode
+                {
+                    return parseBinaryUnicodeString(offsetTable[objRef]);
+                }
+                case 0xD0:
+                {
+                    return parseBinaryDictionary(objRef);
+                }
+                case 0xA0:
+                {
+                    return parseBinaryArray(objRef);
+                }
+            }
+
+            throw new Exception("This type is not supported");
+        }
+
+        public static object parseBinaryDate(int headerPosition)
+        {
+            byte[] buffer = objectTable.GetRange(headerPosition + 1, 8).ToArray();
+            Array.Reverse(buffer);
+            double appleTime = BitConverter.ToDouble(buffer, 0);
+            DateTime result = PlistDateConverter.ConvertFromAppleTimeStamp(appleTime);
+            return result;
+        }
+
+        private static object parseBinaryInt(int headerPosition)
+        {
+            int output;
+            return parseBinaryInt(headerPosition, out output);
+        }
+
+        private static object parseBinaryInt(int headerPosition, out int newHeaderPosition)
+        {
+            byte header = objectTable[headerPosition];
+            int byteCount = (int) Math.Pow(2, header & 0xf);
+            byte[] buffer = objectTable.GetRange(headerPosition + 1, byteCount).ToArray();
+            Array.Reverse(buffer);
+            //Add one to account for the header byte
+            newHeaderPosition = headerPosition + byteCount + 1;
+            return BitConverter.ToInt32(RegulateNullBytes(buffer, 4), 0);
+        }
+
+        private static object parseBinaryReal(int headerPosition)
+        {
+            byte header = objectTable[headerPosition];
+            int byteCount = (int) Math.Pow(2, header & 0xf);
+            byte[] buffer = objectTable.GetRange(headerPosition + 1, byteCount).ToArray();
+            Array.Reverse(buffer);
+
+            return BitConverter.ToDouble(RegulateNullBytes(buffer, 8), 0);
+        }
+
+        private static object parseBinaryAsciiString(int headerPosition)
+        {
+            int charStartPosition;
+            int charCount = getCount(headerPosition, out charStartPosition);
+
+            var buffer = objectTable.GetRange(charStartPosition, charCount);
+            return buffer.Count > 0 ? Encoding.ASCII.GetString(buffer.ToArray()) : string.Empty;
+        }
+
+        private static object parseBinaryUnicodeString(int headerPosition)
+        {
+            int charStartPosition;
+            int charCount = getCount(headerPosition, out charStartPosition);
+            charCount = charCount * 2;
+
+            byte[] buffer = new byte[charCount];
+            byte one, two;
+
+            for (int i = 0; i < charCount; i += 2)
+            {
+                one = objectTable.GetRange(charStartPosition + i, 1)[0];
+                two = objectTable.GetRange(charStartPosition + i + 1, 1)[0];
+
+                if (BitConverter.IsLittleEndian)
+                {
+                    buffer[i] = two;
+                    buffer[i + 1] = one;
+                }
+                else
+                {
+                    buffer[i] = one;
+                    buffer[i + 1] = two;
+                }
+            }
+
+            return Encoding.Unicode.GetString(buffer);
+        }
+
+        private static object parseBinaryByteArray(int headerPosition)
+        {
+            int byteStartPosition;
+            int byteCount = getCount(headerPosition, out byteStartPosition);
+            return objectTable.GetRange(byteStartPosition, byteCount).ToArray();
+        }
+
+        #endregion
+    }
+
+    public enum plistType
+    {
+        Auto,
+        Binary,
+        Xml
+    }
+
+    public static class PlistDateConverter
+    {
+        public static long timeDifference = 978307200;
+
+        public static long GetAppleTime(long unixTime)
+        {
+            return unixTime - timeDifference;
+        }
+
+        public static long GetUnixTime(long appleTime)
+        {
+            return appleTime + timeDifference;
+        }
+
+        public static DateTime ConvertFromAppleTimeStamp(double timestamp)
+        {
+            DateTime origin = new DateTime(2001, 1, 1, 0, 0, 0, 0);
+            return origin.AddSeconds(timestamp);
+        }
+
+        public static double ConvertToAppleTimeStamp(DateTime date)
+        {
+            DateTime begin = new DateTime(2001, 1, 1, 0, 0, 0, 0);
+            TimeSpan diff = date - begin;
+            return Math.Floor(diff.TotalSeconds);
+        }
+    }
+}

+ 3 - 0
GameClient/Assets/TapTap/Common/Editor/Plist.cs.meta

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 66eefeda055244c784769597b08e679e
+timeCreated: 1617120740

+ 232 - 0
GameClient/Assets/TapTap/Common/Editor/TapCommonCompile.cs

@@ -0,0 +1,232 @@
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using UnityEditor;
+using UnityEngine;
+#if UNITY_IOS || UNITY_STANDALONE_OSX
+using UnityEditor.iOS.Xcode;
+
+#endif
+
+namespace TapTap.Common.Editor
+{
+#if UNITY_IOS || UNITY_STANDALONE_OSX
+    public static class TapCommonCompile
+    {
+        public static string GetProjPath(string path)
+        {
+            return PBXProject.GetPBXProjectPath(path);
+        }
+
+        public static PBXProject ParseProjPath(string path)
+        {
+            var proj = new PBXProject();
+            proj.ReadFromString(File.ReadAllText(path));
+            return proj;
+        }
+
+        public static string GetUnityFrameworkTarget(PBXProject proj)
+        {
+#if UNITY_2019_3_OR_NEWER
+            string target = proj.GetUnityFrameworkTargetGuid();
+            return target;
+#endif
+            var unityPhoneTarget = proj.TargetGuidByName("Unity-iPhone");
+            return unityPhoneTarget;
+        }
+
+        public static string GetUnityTarget(PBXProject proj)
+        {
+#if UNITY_2019_3_OR_NEWER
+            string target = proj.GetUnityMainTargetGuid();
+            return target;
+#endif
+            var unityPhoneTarget = proj.TargetGuidByName("Unity-iPhone");
+            return unityPhoneTarget;
+        }
+
+
+        public static bool CheckTarget(string target)
+        {
+            return string.IsNullOrEmpty(target);
+        }
+
+        public static bool HandlerIOSSetting(string path, string appDataPath, string resourceName,
+            string modulePackageName,
+            string moduleName, string[] bundleNames, string target, string projPath, PBXProject proj)
+        {
+            var resourcePath = Path.Combine(path, resourceName);
+
+            var parentFolder = Directory.GetParent(appDataPath).FullName;
+
+            Debug.Log($"ProjectFolder path:{parentFolder}");
+
+            if (Directory.Exists(resourcePath))
+            {
+                Directory.Delete(resourcePath, true);
+            }
+
+            Directory.CreateDirectory(resourcePath);
+
+            var remotePackagePath =
+                TapFileHelper.FilterFileByPrefix(parentFolder + "/Library/PackageCache/", $"{modulePackageName}@");
+
+            var assetLocalPackagePath = TapFileHelper.FilterFileByPrefix(parentFolder + "/Assets/TapTap/", moduleName);
+
+            var localPackagePath = TapFileHelper.FilterFileByPrefix(parentFolder, moduleName);
+
+            var tdsResourcePath = "";
+
+            if (!string.IsNullOrEmpty(remotePackagePath))
+            {
+                tdsResourcePath = remotePackagePath;
+            }
+            else if (!string.IsNullOrEmpty(assetLocalPackagePath))
+            {
+                tdsResourcePath = assetLocalPackagePath;
+            }
+            else if (!string.IsNullOrEmpty(localPackagePath))
+            {
+                tdsResourcePath = localPackagePath;
+            }
+
+            if (string.IsNullOrEmpty(tdsResourcePath))
+            {
+                Debug.LogError("tdsResourcePath is NUll");
+                return false;
+            }
+
+            tdsResourcePath = $"{tdsResourcePath}/Plugins/iOS/Resource";
+
+            Debug.Log($"Find {moduleName} path:{tdsResourcePath}");
+
+            if (!Directory.Exists(tdsResourcePath))
+            {
+                Debug.LogError($"Can't Find {bundleNames}");
+                return false;
+            }
+
+            TapFileHelper.CopyAndReplaceDirectory(tdsResourcePath, resourcePath);
+            foreach (var name in bundleNames)
+            {
+                proj.AddFileToBuild(target,
+                    proj.AddFile(Path.Combine(resourcePath, name), Path.Combine(resourcePath, name),
+                        PBXSourceTree.Source));
+            }
+
+            File.WriteAllText(projPath, proj.WriteToString());
+            return true;
+        }
+
+        public static bool HandlerPlist(string pathToBuildProject, string infoPlistPath, bool macos = false)
+        {
+// #if UNITY_2020_1_OR_NEWER
+//             var macosXCodePlistPath =
+//                 $"{pathToBuildProject}/{PlayerSettings.productName}/Info.plist";
+// #elif UNITY_2019_1_OR_NEWER
+//             var macosXCodePlistPath =
+//                 $"{Path.GetDirectoryName(pathToBuildProject)}/{PlayerSettings.productName}/Info.plist";
+// #endif
+
+            string plistPath;
+
+            if (pathToBuildProject.EndsWith(".app"))
+            {
+                plistPath = $"{pathToBuildProject}/Contents/Info.plist";
+            }
+            else
+            {
+                var macosXCodePlistPath =
+                    $"{Path.GetDirectoryName(pathToBuildProject)}/{PlayerSettings.productName}/Info.plist";
+                if (!File.Exists(macosXCodePlistPath))
+                {
+                    macosXCodePlistPath = $"{pathToBuildProject}/{PlayerSettings.productName}/Info.plist";
+                }
+
+                plistPath = !macos
+                    ? pathToBuildProject + "/Info.plist"
+                    : macosXCodePlistPath;
+            }
+
+            Debug.Log($"plist path:{plistPath}");
+
+            var plist = new PlistDocument();
+            plist.ReadFromString(File.ReadAllText(plistPath));
+            var rootDic = plist.root;
+
+            var items = new List<string>
+            {
+                "tapsdk",
+                "tapiosdk",
+            };
+
+            if (!(rootDic["LSApplicationQueriesSchemes"] is PlistElementArray plistElementList))
+            {
+                plistElementList = rootDic.CreateArray("LSApplicationQueriesSchemes");
+            }
+
+            foreach (var t in items)
+            {
+                plistElementList.AddString(t);
+            }
+
+            if (string.IsNullOrEmpty(infoPlistPath)) return false;
+            var dic = (Dictionary<string, object>) Plist.readPlist(infoPlistPath);
+            var taptapId = "";
+
+            foreach (var item in dic)
+            {
+                if (item.Key.Equals("taptap"))
+                {
+                    var taptapDic = (Dictionary<string, object>) item.Value;
+                    foreach (var taptapItem in taptapDic.Where(taptapItem => taptapItem.Key.Equals("client_id")))
+                    {
+                        taptapId = (string) taptapItem.Value;
+                    }
+                }
+                else
+                {
+                    rootDic.SetString(item.Key, item.Value.ToString());
+                }
+            }
+
+            //添加url
+            var dict = plist.root.AsDict();
+            if (!(dict["CFBundleURLTypes"] is PlistElementArray array))
+            {
+                array = dict.CreateArray("CFBundleURLTypes");
+            }
+
+            if (!macos)
+            {
+                var dict2 = array.AddDict();
+                dict2.SetString("CFBundleURLName", "TapTap");
+                var array2 = dict2.CreateArray("CFBundleURLSchemes");
+                array2.AddString($"tt{taptapId}");
+            }
+            else
+            {
+                var dict2 = array.AddDict();
+                dict2.SetString("CFBundleURLName", "TapWeb");
+                var array2 = dict2.CreateArray("CFBundleURLSchemes");
+                array2.AddString($"open-taptap-{taptapId}");
+            }
+
+            Debug.Log("TapSDK change plist Success");
+            File.WriteAllText(plistPath, plist.WriteToString());
+            return true;
+        }
+
+        public static string GetValueFromPlist(string infoPlistPath, string key)
+        {
+            if (infoPlistPath == null)
+            {
+                return null;
+            }
+
+            var dic = (Dictionary<string, object>) Plist.readPlist(infoPlistPath);
+            return (from item in dic where item.Key.Equals(key) select (string) item.Value).FirstOrDefault();
+        }
+    }
+#endif
+}

+ 3 - 0
GameClient/Assets/TapTap/Common/Editor/TapCommonCompile.cs.meta

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: c5475af505e04119831448fe963f9c2c
+timeCreated: 1617120740

+ 71 - 0
GameClient/Assets/TapTap/Common/Editor/TapCommonIOSProcessor.cs

@@ -0,0 +1,71 @@
+using System.IO;
+using UnityEditor;
+using UnityEditor.Callbacks;
+# if UNITY_IOS
+using UnityEditor.iOS.Xcode;
+#endif
+using UnityEngine;
+
+namespace TapTap.Common.Editor
+{
+# if UNITY_IOS
+    public static class TapCommonIOSProcessor
+    {
+        // 添加标签,unity导出工程后自动执行该函数
+        [PostProcessBuild(99)]
+        public static void OnPostprocessBuild(BuildTarget buildTarget, string path)
+        {
+            if (buildTarget != BuildTarget.iOS) return;
+
+            // 获得工程路径
+            var projPath = TapCommonCompile.GetProjPath(path);
+            var proj = TapCommonCompile.ParseProjPath(projPath);
+            var target = TapCommonCompile.GetUnityTarget(proj);
+            var unityFrameworkTarget = TapCommonCompile.GetUnityFrameworkTarget(proj);
+
+            if (TapCommonCompile.CheckTarget(target))
+            {
+                Debug.LogError("Unity-iPhone is NUll");
+                return;
+            }
+
+            proj.AddBuildProperty(target, "OTHER_LDFLAGS", "-ObjC");
+            proj.AddBuildProperty(unityFrameworkTarget, "OTHER_LDFLAGS", "-ObjC");
+
+            proj.SetBuildProperty(target, "ENABLE_BITCODE", "NO");
+            proj.SetBuildProperty(target, "ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES", "YES");
+            proj.SetBuildProperty(target, "SWIFT_VERSION", "5.0");
+            proj.SetBuildProperty(target, "CLANG_ENABLE_MODULES", "YES");
+
+            proj.SetBuildProperty(unityFrameworkTarget, "ENABLE_BITCODE", "NO");
+            proj.SetBuildProperty(unityFrameworkTarget, "ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES", "NO");
+            proj.SetBuildProperty(unityFrameworkTarget, "SWIFT_VERSION", "5.0");
+            proj.SetBuildProperty(unityFrameworkTarget, "CLANG_ENABLE_MODULES", "YES");
+
+            proj.AddFrameworkToProject(unityFrameworkTarget, "MobileCoreServices.framework", false);
+            proj.AddFrameworkToProject(unityFrameworkTarget, "WebKit.framework", false);
+            proj.AddFrameworkToProject(unityFrameworkTarget, "Security.framework", false);
+            proj.AddFrameworkToProject(unityFrameworkTarget, "SystemConfiguration.framework", false);
+            proj.AddFrameworkToProject(unityFrameworkTarget, "CoreTelephony.framework", false);
+            proj.AddFrameworkToProject(unityFrameworkTarget, "SystemConfiguration.framework", false);
+
+            proj.AddFileToBuild(unityFrameworkTarget,
+                proj.AddFile("usr/lib/libc++.tbd", "libc++.tbd", PBXSourceTree.Sdk));
+
+            if (TapCommonCompile.HandlerIOSSetting(path,
+                Application.dataPath,
+                "TapCommonResource",
+                "com.taptap.tds.common",
+                "Common",
+                new[] {"TapCommonResource.bundle"},
+                target, projPath, proj))
+            {
+                Debug.Log("TapCommon add Bundle Success!");
+                return;
+            }
+
+            Debug.LogError("TapCommon add Bundle Failed!");
+        }
+    }
+#endif
+}

+ 3 - 0
GameClient/Assets/TapTap/Common/Editor/TapCommonIOSProcessor.cs.meta

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 28d4870389ed406eac7c8849da60c644
+timeCreated: 1617120740

+ 168 - 0
GameClient/Assets/TapTap/Common/Editor/TapFileHelper.cs

@@ -0,0 +1,168 @@
+using System;
+using System.Collections.Generic;
+using System.IO;
+using UnityEngine;
+
+namespace TapTap.Common.Editor
+{
+    public class TapFileHelper : System.IDisposable
+    {
+        private string filePath;
+
+        public TapFileHelper(string fPath)
+        {
+            filePath = fPath;
+            if (!System.IO.File.Exists(filePath))
+            {
+                Debug.LogError(filePath + "路径下文件不存在");
+                return;
+            }
+        }
+
+        public void WriteBelow(string below, string text)
+        {
+            StreamReader streamReader = new StreamReader(filePath);
+            string all = streamReader.ReadToEnd();
+            streamReader.Close();
+            int beginIndex = all.IndexOf(below, StringComparison.Ordinal);
+            if (beginIndex == -1)
+            {
+                Debug.LogError(filePath + "中没有找到字符串" + below);
+                return;
+            }
+
+            int endIndex = all.LastIndexOf("\n", beginIndex + below.Length, StringComparison.Ordinal);
+            all = all.Substring(0, endIndex) + "\n" + text + "\n" + all.Substring(endIndex);
+            StreamWriter streamWriter = new StreamWriter(filePath);
+            streamWriter.Write(all);
+            streamWriter.Close();
+        }
+
+        public void Replace(string below, string newText)
+        {
+            StreamReader streamReader = new StreamReader(filePath);
+            string all = streamReader.ReadToEnd();
+            streamReader.Close();
+            int beginIndex = all.IndexOf(below, StringComparison.Ordinal);
+            if (beginIndex == -1)
+            {
+                Debug.LogError(filePath + "中没有找到字符串" + below);
+                return;
+            }
+
+            all = all.Replace(below, newText);
+            StreamWriter streamWriter = new StreamWriter(filePath);
+            streamWriter.Write(all);
+            streamWriter.Close();
+        }
+
+        public void Dispose()
+        {
+        }
+
+        public static void CopyAndReplaceDirectory(string srcPath, string dstPath)
+        {
+            if (Directory.Exists(dstPath))
+                Directory.Delete(dstPath, true);
+            if (File.Exists(dstPath))
+                File.Delete(dstPath);
+
+            Directory.CreateDirectory(dstPath);
+
+            foreach (var file in Directory.GetFiles(srcPath))
+                File.Copy(file, Path.Combine(dstPath, Path.GetFileName(file)));
+
+            foreach (var dir in Directory.GetDirectories(srcPath))
+                CopyAndReplaceDirectory(dir, Path.Combine(dstPath, Path.GetFileName(dir)));
+        }
+
+
+        public static void DeleteFileBySuffix(string dir, string[] suffix)
+        {
+            if (!Directory.Exists(dir))
+            {
+                return;
+            }
+
+            foreach (var file in Directory.GetFiles(dir))
+            {
+                foreach (var suffixName in suffix)
+                {
+                    if (file.Contains(suffixName))
+                    {
+                        File.Delete(file);
+                    }
+                }
+            }
+        }
+
+        public static string FilterFileByPrefix(string srcPath, string filterName)
+        {
+            if (!Directory.Exists(srcPath))
+            {
+                return null;
+            }
+
+            foreach (var dir in Directory.GetDirectories(srcPath))
+            {
+                string fileName = Path.GetFileName(dir);
+                if (fileName.StartsWith(filterName))
+                {
+                    return Path.Combine(srcPath, Path.GetFileName(dir));
+                }
+            }
+
+            return null;
+        }
+
+        public static string FilterFileBySuffix(string srcPath, string suffix)
+        {
+            if (!Directory.Exists(srcPath))
+            {
+                return null;
+            }
+
+            foreach (var dir in Directory.GetDirectories(srcPath))
+            {
+                string fileName = Path.GetFileName(dir);
+                if (fileName.StartsWith(suffix))
+                {
+                    return Path.Combine(srcPath, Path.GetFileName(dir));
+                }
+            }
+
+            return null;
+        }
+
+        public static FileInfo RecursionFilterFile(string dir, string fileName)
+        {
+            List<FileInfo> fileInfoList = new List<FileInfo>();
+            Director(dir, fileInfoList);
+            foreach (FileInfo item in fileInfoList)
+            {
+                if (fileName.Equals(item.Name))
+                {
+                    return item;
+                }
+            }
+
+            return null;
+        }
+
+        public static void Director(string dir, List<FileInfo> list)
+        {
+            DirectoryInfo d = new DirectoryInfo(dir);
+            FileInfo[] files = d.GetFiles();
+            DirectoryInfo[] directs = d.GetDirectories();
+            foreach (FileInfo f in files)
+            {
+                list.Add(f);
+            }
+
+            foreach (DirectoryInfo dd in directs)
+            {
+                Director(dd.FullName, list);
+            }
+        }
+    }
+}

+ 3 - 0
GameClient/Assets/TapTap/Common/Editor/TapFileHelper.cs.meta

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: d1556fcb81944af6a42170d3e1c99269
+timeCreated: 1617120740

+ 13 - 0
GameClient/Assets/TapTap/Common/Editor/TapTap.Common.Editor.asmdef

@@ -0,0 +1,13 @@
+{
+  "name": "TapTap.Common.Editor",
+  "optionalUnityReferences": [],
+  "includePlatforms": [
+    "Editor"
+  ],
+  "excludePlatforms": [],
+  "allowUnsafeCode": false,
+  "overrideReferences": false,
+  "precompiledReferences": [],
+  "autoReferenced": true,
+  "defineConstraints": []
+}

+ 7 - 0
GameClient/Assets/TapTap/Common/Editor/TapTap.Common.Editor.asmdef.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 616cea76def2d4f059b94440fc8cc03d
+AssemblyDefinitionImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

Alguns ficheiros não foram mostrados porque muitos ficheiros mudaram neste diff