diff --git a/RestSharp.UAP/Properties/AssemblyInfo.cs b/RestSharp.UAP/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..a2069954c --- /dev/null +++ b/RestSharp.UAP/Properties/AssemblyInfo.cs @@ -0,0 +1,12 @@ +using System.Reflection; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("RestSharp")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] \ No newline at end of file diff --git a/RestSharp.UAP/Properties/RestSharp.rd.xml b/RestSharp.UAP/Properties/RestSharp.rd.xml new file mode 100644 index 000000000..34086ba7b --- /dev/null +++ b/RestSharp.UAP/Properties/RestSharp.rd.xml @@ -0,0 +1,32 @@ + + + + + + + + \ No newline at end of file diff --git a/RestSharp.UAP/RestSharp.UAP.csproj b/RestSharp.UAP/RestSharp.UAP.csproj new file mode 100644 index 000000000..4f8797001 --- /dev/null +++ b/RestSharp.UAP/RestSharp.UAP.csproj @@ -0,0 +1,343 @@ + + + + + Debug + AnyCPU + {7D7F4D91-9EB4-4F01-8490-B5B2B12C9E64} + Library + Properties + RestSharp + RestSharp + en-US + UAP + 10.0.10240.0 + 10.0.10240.0 + 14 + 512 + {A5A43C5B-DE2A-4C0C-9213-0A381AF9435A};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE;NETFX_CORE;WINDOWS_UWP + prompt + 4 + + + ARM + true + bin\ARM\Debug\ + DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP + ;2008 + full + ARM + false + prompt + + + ARM + bin\ARM\Release\ + TRACE;NETFX_CORE;WINDOWS_UWP + true + ;2008 + pdbonly + ARM + false + prompt + + + x64 + true + bin\x64\Debug\ + DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP + ;2008 + full + x64 + false + prompt + + + x64 + bin\x64\Release\ + TRACE;NETFX_CORE;WINDOWS_UWP + true + ;2008 + pdbonly + x64 + false + prompt + + + x86 + true + bin\x86\Debug\ + DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP + ;2008 + full + x86 + false + prompt + + + x86 + bin\x86\Release\ + TRACE;NETFX_CORE;WINDOWS_UWP + true + ;2008 + pdbonly + x86 + false + prompt + + + + + + + + Authenticators\HttpBasicAuthenticator.cs + + + Authenticators\IAuthenticator.cs + + + Authenticators\JwtAuthenticator.cs + + + Authenticators\NtlmAuthenticator.cs + + + Authenticators\OAuth1Authenticator.cs + + + Authenticators\OAuth2Authenticator.cs + + + Authenticators\OAuth\Extensions\CollectionExtensions.cs + + + Authenticators\OAuth\Extensions\OAuthExtensions.cs + + + Authenticators\OAuth\Extensions\StringExtensions.cs + + + Authenticators\OAuth\Extensions\TimeExtensions.cs + + + Authenticators\OAuth\HttpPostParameter.cs + + + Authenticators\OAuth\HttpPostParameterType.cs + + + Authenticators\OAuth\OAuthParameterHandling.cs + + + Authenticators\OAuth\OAuthSignatureMethod.cs + + + Authenticators\OAuth\OAuthSignatureTreatment.cs + + + Authenticators\OAuth\OAuthTools.cs + + + Authenticators\OAuth\OAuthType.cs + + + Authenticators\OAuth\OAuthWebQueryInfo.cs + + + Authenticators\OAuth\OAuthWorkflow.cs + + + Authenticators\OAuth\WebPair.cs + + + Authenticators\OAuth\WebPairCollection.cs + + + Authenticators\OAuth\WebParameter.cs + + + Authenticators\OAuth\WebParameterCollection.cs + + + Authenticators\SimpleAuthenticator.cs + + + Deserializers\DeserializeAsAttribute.cs + + + Deserializers\DotNetXmlDeserializer.cs + + + Deserializers\IDeserializer.cs + + + Deserializers\JsonDeserializer.cs + + + Deserializers\XmlAttributeDeserializer.cs + + + Deserializers\XmlDeserializer.cs + + + Enum.cs + + + Extensions\MiscExtensions.cs + + + Extensions\MonoHttp\Helpers.cs + + + Extensions\MonoHttp\HtmlEncoder.cs + + + Extensions\MonoHttp\HttpUtility.cs + + + Extensions\ReflectionExtensions.cs + + + Extensions\ResponseExtensions.cs + + + Extensions\ResponseStatusExtensions.cs + + + Extensions\StringExtensions.cs + + + Extensions\XmlExtensions.cs + + + FileParameter.cs + + + Http.Async.cs + + + Http.cs + + + Http.Sync.cs + + + HttpCookie.cs + + + HttpFile.cs + + + HttpHeader.cs + + + HttpParameter.cs + + + HttpResponse.cs + + + IHttp.cs + + + IHttpFactory.cs + + + IHttpResponse.cs + + + IRestClient.cs + + + IRestRequest.cs + + + IRestResponse.cs + + + Parameter.cs + + + RestClient.Async.cs + + + RestClient.cs + + + RestClient.Sync.cs + + + RestClientExtensions.cs + + + RestRequest.cs + + + RestRequestAsyncHandle.cs + + + RestResponse.cs + + + RestResponseCookie.cs + + + Serializers\DotNetXmlSerializer.cs + + + Serializers\ISerializer.cs + + + Serializers\JsonSerializer.cs + + + Serializers\SerializeAsAttribute.cs + + + Serializers\XmlSerializer.cs + + + SharedAssemblyInfo.cs + + + Validation\Require.cs + + + SimpleJson.cs + + + Validation\Validate.cs + + + + + + 14.0 + + + + \ No newline at end of file diff --git a/RestSharp.UAP/project.json b/RestSharp.UAP/project.json new file mode 100644 index 000000000..c59493927 --- /dev/null +++ b/RestSharp.UAP/project.json @@ -0,0 +1,16 @@ +{ + "dependencies": { + "Microsoft.NETCore.UniversalWindowsPlatform": "5.0.0" + }, + "frameworks": { + "uap10.0": {} + }, + "runtimes": { + "win10-arm": {}, + "win10-arm-aot": {}, + "win10-x86": {}, + "win10-x86-aot": {}, + "win10-x64": {}, + "win10-x64-aot": {} + } +} \ No newline at end of file diff --git a/RestSharp.sln b/RestSharp.sln index b88fd5004..c25f8b50a 100644 --- a/RestSharp.sln +++ b/RestSharp.sln @@ -79,19 +79,24 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RestSharp.WindowsPhone.8.1" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RestSharp.Silverlight.Signed", "RestSharp.Silverlight\RestSharp.Silverlight.Signed.csproj", "{E08E5B69-4F6D-4DE1-ABB8-77E0441D1AEF}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RestSharp.UAP", "RestSharp.UAP\RestSharp.UAP.csproj", "{7D7F4D91-9EB4-4F01-8490-B5B2B12C9E64}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug.Appveyor|Any CPU = Debug.Appveyor|Any CPU Debug.Appveyor|ARM = Debug.Appveyor|ARM Debug.Appveyor|Mixed Platforms = Debug.Appveyor|Mixed Platforms + Debug.Appveyor|x64 = Debug.Appveyor|x64 Debug.Appveyor|x86 = Debug.Appveyor|x86 Debug|Any CPU = Debug|Any CPU Debug|ARM = Debug|ARM Debug|Mixed Platforms = Debug|Mixed Platforms + Debug|x64 = Debug|x64 Debug|x86 = Debug|x86 Release|Any CPU = Release|Any CPU Release|ARM = Release|ARM Release|Mixed Platforms = Release|Mixed Platforms + Release|x64 = Release|x64 Release|x86 = Release|x86 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution @@ -100,423 +105,564 @@ Global {2ECECFBF-5F3E-40EE-A963-72336DC7ABE2}.Debug.Appveyor|ARM.ActiveCfg = Debug|Any CPU {2ECECFBF-5F3E-40EE-A963-72336DC7ABE2}.Debug.Appveyor|Mixed Platforms.ActiveCfg = Debug|Any CPU {2ECECFBF-5F3E-40EE-A963-72336DC7ABE2}.Debug.Appveyor|Mixed Platforms.Build.0 = Debug|Any CPU + {2ECECFBF-5F3E-40EE-A963-72336DC7ABE2}.Debug.Appveyor|x64.ActiveCfg = Debug|Any CPU + {2ECECFBF-5F3E-40EE-A963-72336DC7ABE2}.Debug.Appveyor|x64.Build.0 = Debug|Any CPU {2ECECFBF-5F3E-40EE-A963-72336DC7ABE2}.Debug.Appveyor|x86.ActiveCfg = Debug|Any CPU {2ECECFBF-5F3E-40EE-A963-72336DC7ABE2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {2ECECFBF-5F3E-40EE-A963-72336DC7ABE2}.Debug|Any CPU.Build.0 = Debug|Any CPU {2ECECFBF-5F3E-40EE-A963-72336DC7ABE2}.Debug|ARM.ActiveCfg = Debug|Any CPU {2ECECFBF-5F3E-40EE-A963-72336DC7ABE2}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU {2ECECFBF-5F3E-40EE-A963-72336DC7ABE2}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {2ECECFBF-5F3E-40EE-A963-72336DC7ABE2}.Debug|x64.ActiveCfg = Debug|Any CPU + {2ECECFBF-5F3E-40EE-A963-72336DC7ABE2}.Debug|x64.Build.0 = Debug|Any CPU {2ECECFBF-5F3E-40EE-A963-72336DC7ABE2}.Debug|x86.ActiveCfg = Debug|Any CPU {2ECECFBF-5F3E-40EE-A963-72336DC7ABE2}.Release|Any CPU.ActiveCfg = Release|Any CPU {2ECECFBF-5F3E-40EE-A963-72336DC7ABE2}.Release|Any CPU.Build.0 = Release|Any CPU {2ECECFBF-5F3E-40EE-A963-72336DC7ABE2}.Release|ARM.ActiveCfg = Release|Any CPU {2ECECFBF-5F3E-40EE-A963-72336DC7ABE2}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {2ECECFBF-5F3E-40EE-A963-72336DC7ABE2}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {2ECECFBF-5F3E-40EE-A963-72336DC7ABE2}.Release|x64.ActiveCfg = Release|Any CPU + {2ECECFBF-5F3E-40EE-A963-72336DC7ABE2}.Release|x64.Build.0 = Release|Any CPU {2ECECFBF-5F3E-40EE-A963-72336DC7ABE2}.Release|x86.ActiveCfg = Release|Any CPU {1464E4AC-18BB-4F23-8A0B-68196F9E1871}.Debug.Appveyor|Any CPU.ActiveCfg = Debug|Any CPU {1464E4AC-18BB-4F23-8A0B-68196F9E1871}.Debug.Appveyor|Any CPU.Build.0 = Debug|Any CPU {1464E4AC-18BB-4F23-8A0B-68196F9E1871}.Debug.Appveyor|ARM.ActiveCfg = Debug|Any CPU {1464E4AC-18BB-4F23-8A0B-68196F9E1871}.Debug.Appveyor|Mixed Platforms.ActiveCfg = Debug|Any CPU {1464E4AC-18BB-4F23-8A0B-68196F9E1871}.Debug.Appveyor|Mixed Platforms.Build.0 = Debug|Any CPU + {1464E4AC-18BB-4F23-8A0B-68196F9E1871}.Debug.Appveyor|x64.ActiveCfg = Debug|Any CPU + {1464E4AC-18BB-4F23-8A0B-68196F9E1871}.Debug.Appveyor|x64.Build.0 = Debug|Any CPU {1464E4AC-18BB-4F23-8A0B-68196F9E1871}.Debug.Appveyor|x86.ActiveCfg = Debug|Any CPU {1464E4AC-18BB-4F23-8A0B-68196F9E1871}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {1464E4AC-18BB-4F23-8A0B-68196F9E1871}.Debug|Any CPU.Build.0 = Debug|Any CPU {1464E4AC-18BB-4F23-8A0B-68196F9E1871}.Debug|ARM.ActiveCfg = Debug|Any CPU {1464E4AC-18BB-4F23-8A0B-68196F9E1871}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU {1464E4AC-18BB-4F23-8A0B-68196F9E1871}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {1464E4AC-18BB-4F23-8A0B-68196F9E1871}.Debug|x64.ActiveCfg = Debug|Any CPU + {1464E4AC-18BB-4F23-8A0B-68196F9E1871}.Debug|x64.Build.0 = Debug|Any CPU {1464E4AC-18BB-4F23-8A0B-68196F9E1871}.Debug|x86.ActiveCfg = Debug|Any CPU {1464E4AC-18BB-4F23-8A0B-68196F9E1871}.Release|Any CPU.ActiveCfg = Release|Any CPU {1464E4AC-18BB-4F23-8A0B-68196F9E1871}.Release|Any CPU.Build.0 = Release|Any CPU {1464E4AC-18BB-4F23-8A0B-68196F9E1871}.Release|ARM.ActiveCfg = Release|Any CPU {1464E4AC-18BB-4F23-8A0B-68196F9E1871}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {1464E4AC-18BB-4F23-8A0B-68196F9E1871}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {1464E4AC-18BB-4F23-8A0B-68196F9E1871}.Release|x64.ActiveCfg = Release|Any CPU + {1464E4AC-18BB-4F23-8A0B-68196F9E1871}.Release|x64.Build.0 = Release|Any CPU {1464E4AC-18BB-4F23-8A0B-68196F9E1871}.Release|x86.ActiveCfg = Release|Any CPU {47D3EBB9-0300-4AF8-BAC5-740D51454A63}.Debug.Appveyor|Any CPU.ActiveCfg = Debug|Any CPU {47D3EBB9-0300-4AF8-BAC5-740D51454A63}.Debug.Appveyor|Any CPU.Build.0 = Debug|Any CPU {47D3EBB9-0300-4AF8-BAC5-740D51454A63}.Debug.Appveyor|ARM.ActiveCfg = Debug|Any CPU {47D3EBB9-0300-4AF8-BAC5-740D51454A63}.Debug.Appveyor|Mixed Platforms.ActiveCfg = Debug.Appveyor|Any CPU {47D3EBB9-0300-4AF8-BAC5-740D51454A63}.Debug.Appveyor|Mixed Platforms.Build.0 = Debug.Appveyor|Any CPU + {47D3EBB9-0300-4AF8-BAC5-740D51454A63}.Debug.Appveyor|x64.ActiveCfg = Debug.Appveyor|Any CPU + {47D3EBB9-0300-4AF8-BAC5-740D51454A63}.Debug.Appveyor|x64.Build.0 = Debug.Appveyor|Any CPU {47D3EBB9-0300-4AF8-BAC5-740D51454A63}.Debug.Appveyor|x86.ActiveCfg = Debug|Any CPU {47D3EBB9-0300-4AF8-BAC5-740D51454A63}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {47D3EBB9-0300-4AF8-BAC5-740D51454A63}.Debug|Any CPU.Build.0 = Debug|Any CPU {47D3EBB9-0300-4AF8-BAC5-740D51454A63}.Debug|ARM.ActiveCfg = Debug|Any CPU {47D3EBB9-0300-4AF8-BAC5-740D51454A63}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU {47D3EBB9-0300-4AF8-BAC5-740D51454A63}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {47D3EBB9-0300-4AF8-BAC5-740D51454A63}.Debug|x64.ActiveCfg = Debug|Any CPU + {47D3EBB9-0300-4AF8-BAC5-740D51454A63}.Debug|x64.Build.0 = Debug|Any CPU {47D3EBB9-0300-4AF8-BAC5-740D51454A63}.Debug|x86.ActiveCfg = Debug|Any CPU {47D3EBB9-0300-4AF8-BAC5-740D51454A63}.Release|Any CPU.ActiveCfg = Release|Any CPU {47D3EBB9-0300-4AF8-BAC5-740D51454A63}.Release|Any CPU.Build.0 = Release|Any CPU {47D3EBB9-0300-4AF8-BAC5-740D51454A63}.Release|ARM.ActiveCfg = Release|Any CPU {47D3EBB9-0300-4AF8-BAC5-740D51454A63}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {47D3EBB9-0300-4AF8-BAC5-740D51454A63}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {47D3EBB9-0300-4AF8-BAC5-740D51454A63}.Release|x64.ActiveCfg = Release|Any CPU + {47D3EBB9-0300-4AF8-BAC5-740D51454A63}.Release|x64.Build.0 = Release|Any CPU {47D3EBB9-0300-4AF8-BAC5-740D51454A63}.Release|x86.ActiveCfg = Release|Any CPU {11F84600-0978-48B9-A28F-63B3781E54B3}.Debug.Appveyor|Any CPU.ActiveCfg = Debug|Any CPU {11F84600-0978-48B9-A28F-63B3781E54B3}.Debug.Appveyor|Any CPU.Build.0 = Debug|Any CPU {11F84600-0978-48B9-A28F-63B3781E54B3}.Debug.Appveyor|ARM.ActiveCfg = Debug|Any CPU {11F84600-0978-48B9-A28F-63B3781E54B3}.Debug.Appveyor|Mixed Platforms.ActiveCfg = Debug|Any CPU {11F84600-0978-48B9-A28F-63B3781E54B3}.Debug.Appveyor|Mixed Platforms.Build.0 = Debug|Any CPU + {11F84600-0978-48B9-A28F-63B3781E54B3}.Debug.Appveyor|x64.ActiveCfg = Debug|Any CPU {11F84600-0978-48B9-A28F-63B3781E54B3}.Debug.Appveyor|x86.ActiveCfg = Debug|Any CPU {11F84600-0978-48B9-A28F-63B3781E54B3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {11F84600-0978-48B9-A28F-63B3781E54B3}.Debug|Any CPU.Build.0 = Debug|Any CPU {11F84600-0978-48B9-A28F-63B3781E54B3}.Debug|ARM.ActiveCfg = Debug|Any CPU {11F84600-0978-48B9-A28F-63B3781E54B3}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU {11F84600-0978-48B9-A28F-63B3781E54B3}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {11F84600-0978-48B9-A28F-63B3781E54B3}.Debug|x64.ActiveCfg = Debug|Any CPU {11F84600-0978-48B9-A28F-63B3781E54B3}.Debug|x86.ActiveCfg = Debug|Any CPU {11F84600-0978-48B9-A28F-63B3781E54B3}.Release|Any CPU.ActiveCfg = Release|Any CPU {11F84600-0978-48B9-A28F-63B3781E54B3}.Release|Any CPU.Build.0 = Release|Any CPU {11F84600-0978-48B9-A28F-63B3781E54B3}.Release|ARM.ActiveCfg = Release|Any CPU {11F84600-0978-48B9-A28F-63B3781E54B3}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {11F84600-0978-48B9-A28F-63B3781E54B3}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {11F84600-0978-48B9-A28F-63B3781E54B3}.Release|x64.ActiveCfg = Release|Any CPU {11F84600-0978-48B9-A28F-63B3781E54B3}.Release|x86.ActiveCfg = Release|Any CPU {5FF943A5-260F-4042-B4CE-C4977BAD4EBB}.Debug.Appveyor|Any CPU.ActiveCfg = Debug|Any CPU {5FF943A5-260F-4042-B4CE-C4977BAD4EBB}.Debug.Appveyor|Any CPU.Build.0 = Debug|Any CPU {5FF943A5-260F-4042-B4CE-C4977BAD4EBB}.Debug.Appveyor|ARM.ActiveCfg = Debug|Any CPU {5FF943A5-260F-4042-B4CE-C4977BAD4EBB}.Debug.Appveyor|Mixed Platforms.ActiveCfg = Debug|Any CPU {5FF943A5-260F-4042-B4CE-C4977BAD4EBB}.Debug.Appveyor|Mixed Platforms.Build.0 = Debug|Any CPU + {5FF943A5-260F-4042-B4CE-C4977BAD4EBB}.Debug.Appveyor|x64.ActiveCfg = Debug|Any CPU + {5FF943A5-260F-4042-B4CE-C4977BAD4EBB}.Debug.Appveyor|x64.Build.0 = Debug|Any CPU {5FF943A5-260F-4042-B4CE-C4977BAD4EBB}.Debug.Appveyor|x86.ActiveCfg = Debug|Any CPU {5FF943A5-260F-4042-B4CE-C4977BAD4EBB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {5FF943A5-260F-4042-B4CE-C4977BAD4EBB}.Debug|Any CPU.Build.0 = Debug|Any CPU {5FF943A5-260F-4042-B4CE-C4977BAD4EBB}.Debug|ARM.ActiveCfg = Debug|Any CPU {5FF943A5-260F-4042-B4CE-C4977BAD4EBB}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU {5FF943A5-260F-4042-B4CE-C4977BAD4EBB}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {5FF943A5-260F-4042-B4CE-C4977BAD4EBB}.Debug|x64.ActiveCfg = Debug|Any CPU + {5FF943A5-260F-4042-B4CE-C4977BAD4EBB}.Debug|x64.Build.0 = Debug|Any CPU {5FF943A5-260F-4042-B4CE-C4977BAD4EBB}.Debug|x86.ActiveCfg = Debug|Any CPU {5FF943A5-260F-4042-B4CE-C4977BAD4EBB}.Release|Any CPU.ActiveCfg = Release|Any CPU {5FF943A5-260F-4042-B4CE-C4977BAD4EBB}.Release|Any CPU.Build.0 = Release|Any CPU {5FF943A5-260F-4042-B4CE-C4977BAD4EBB}.Release|ARM.ActiveCfg = Release|Any CPU {5FF943A5-260F-4042-B4CE-C4977BAD4EBB}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {5FF943A5-260F-4042-B4CE-C4977BAD4EBB}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {5FF943A5-260F-4042-B4CE-C4977BAD4EBB}.Release|x64.ActiveCfg = Release|Any CPU + {5FF943A5-260F-4042-B4CE-C4977BAD4EBB}.Release|x64.Build.0 = Release|Any CPU {5FF943A5-260F-4042-B4CE-C4977BAD4EBB}.Release|x86.ActiveCfg = Release|Any CPU {CCC30138-3D68-44D8-AF1A-D22F769EE8DC}.Debug.Appveyor|Any CPU.ActiveCfg = Debug|Any CPU {CCC30138-3D68-44D8-AF1A-D22F769EE8DC}.Debug.Appveyor|Any CPU.Build.0 = Debug|Any CPU {CCC30138-3D68-44D8-AF1A-D22F769EE8DC}.Debug.Appveyor|ARM.ActiveCfg = Debug|Any CPU {CCC30138-3D68-44D8-AF1A-D22F769EE8DC}.Debug.Appveyor|Mixed Platforms.ActiveCfg = Debug|Any CPU {CCC30138-3D68-44D8-AF1A-D22F769EE8DC}.Debug.Appveyor|Mixed Platforms.Build.0 = Debug|Any CPU + {CCC30138-3D68-44D8-AF1A-D22F769EE8DC}.Debug.Appveyor|x64.ActiveCfg = Debug|Any CPU + {CCC30138-3D68-44D8-AF1A-D22F769EE8DC}.Debug.Appveyor|x64.Build.0 = Debug|Any CPU {CCC30138-3D68-44D8-AF1A-D22F769EE8DC}.Debug.Appveyor|x86.ActiveCfg = Debug|Any CPU {CCC30138-3D68-44D8-AF1A-D22F769EE8DC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {CCC30138-3D68-44D8-AF1A-D22F769EE8DC}.Debug|Any CPU.Build.0 = Debug|Any CPU {CCC30138-3D68-44D8-AF1A-D22F769EE8DC}.Debug|ARM.ActiveCfg = Debug|Any CPU {CCC30138-3D68-44D8-AF1A-D22F769EE8DC}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU {CCC30138-3D68-44D8-AF1A-D22F769EE8DC}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {CCC30138-3D68-44D8-AF1A-D22F769EE8DC}.Debug|x64.ActiveCfg = Debug|Any CPU + {CCC30138-3D68-44D8-AF1A-D22F769EE8DC}.Debug|x64.Build.0 = Debug|Any CPU {CCC30138-3D68-44D8-AF1A-D22F769EE8DC}.Debug|x86.ActiveCfg = Debug|Any CPU {CCC30138-3D68-44D8-AF1A-D22F769EE8DC}.Release|Any CPU.ActiveCfg = Release|Any CPU {CCC30138-3D68-44D8-AF1A-D22F769EE8DC}.Release|Any CPU.Build.0 = Release|Any CPU {CCC30138-3D68-44D8-AF1A-D22F769EE8DC}.Release|ARM.ActiveCfg = Release|Any CPU {CCC30138-3D68-44D8-AF1A-D22F769EE8DC}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {CCC30138-3D68-44D8-AF1A-D22F769EE8DC}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {CCC30138-3D68-44D8-AF1A-D22F769EE8DC}.Release|x64.ActiveCfg = Release|Any CPU + {CCC30138-3D68-44D8-AF1A-D22F769EE8DC}.Release|x64.Build.0 = Release|Any CPU {CCC30138-3D68-44D8-AF1A-D22F769EE8DC}.Release|x86.ActiveCfg = Release|Any CPU {D5D62FE9-1679-4697-BDC6-9574D907A717}.Debug.Appveyor|Any CPU.ActiveCfg = Debug|Any CPU {D5D62FE9-1679-4697-BDC6-9574D907A717}.Debug.Appveyor|Any CPU.Build.0 = Debug|Any CPU {D5D62FE9-1679-4697-BDC6-9574D907A717}.Debug.Appveyor|ARM.ActiveCfg = Debug|Any CPU {D5D62FE9-1679-4697-BDC6-9574D907A717}.Debug.Appveyor|Mixed Platforms.ActiveCfg = Debug|Any CPU {D5D62FE9-1679-4697-BDC6-9574D907A717}.Debug.Appveyor|Mixed Platforms.Build.0 = Debug|Any CPU + {D5D62FE9-1679-4697-BDC6-9574D907A717}.Debug.Appveyor|x64.ActiveCfg = Debug|Any CPU + {D5D62FE9-1679-4697-BDC6-9574D907A717}.Debug.Appveyor|x64.Build.0 = Debug|Any CPU {D5D62FE9-1679-4697-BDC6-9574D907A717}.Debug.Appveyor|x86.ActiveCfg = Debug|Any CPU {D5D62FE9-1679-4697-BDC6-9574D907A717}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {D5D62FE9-1679-4697-BDC6-9574D907A717}.Debug|Any CPU.Build.0 = Debug|Any CPU {D5D62FE9-1679-4697-BDC6-9574D907A717}.Debug|ARM.ActiveCfg = Debug|Any CPU {D5D62FE9-1679-4697-BDC6-9574D907A717}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU {D5D62FE9-1679-4697-BDC6-9574D907A717}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {D5D62FE9-1679-4697-BDC6-9574D907A717}.Debug|x64.ActiveCfg = Debug|Any CPU + {D5D62FE9-1679-4697-BDC6-9574D907A717}.Debug|x64.Build.0 = Debug|Any CPU {D5D62FE9-1679-4697-BDC6-9574D907A717}.Debug|x86.ActiveCfg = Debug|Any CPU {D5D62FE9-1679-4697-BDC6-9574D907A717}.Release|Any CPU.ActiveCfg = Release|Any CPU {D5D62FE9-1679-4697-BDC6-9574D907A717}.Release|Any CPU.Build.0 = Release|Any CPU {D5D62FE9-1679-4697-BDC6-9574D907A717}.Release|ARM.ActiveCfg = Release|Any CPU {D5D62FE9-1679-4697-BDC6-9574D907A717}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {D5D62FE9-1679-4697-BDC6-9574D907A717}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {D5D62FE9-1679-4697-BDC6-9574D907A717}.Release|x64.ActiveCfg = Release|Any CPU + {D5D62FE9-1679-4697-BDC6-9574D907A717}.Release|x64.Build.0 = Release|Any CPU {D5D62FE9-1679-4697-BDC6-9574D907A717}.Release|x86.ActiveCfg = Release|Any CPU {53F45A1D-088B-4A2C-A8E2-5901F0DB5EA8}.Debug.Appveyor|Any CPU.ActiveCfg = Debug|Any CPU {53F45A1D-088B-4A2C-A8E2-5901F0DB5EA8}.Debug.Appveyor|Any CPU.Build.0 = Debug|Any CPU {53F45A1D-088B-4A2C-A8E2-5901F0DB5EA8}.Debug.Appveyor|ARM.ActiveCfg = Debug|Any CPU {53F45A1D-088B-4A2C-A8E2-5901F0DB5EA8}.Debug.Appveyor|Mixed Platforms.ActiveCfg = Debug|Any CPU {53F45A1D-088B-4A2C-A8E2-5901F0DB5EA8}.Debug.Appveyor|Mixed Platforms.Build.0 = Debug|Any CPU + {53F45A1D-088B-4A2C-A8E2-5901F0DB5EA8}.Debug.Appveyor|x64.ActiveCfg = Debug|Any CPU + {53F45A1D-088B-4A2C-A8E2-5901F0DB5EA8}.Debug.Appveyor|x64.Build.0 = Debug|Any CPU {53F45A1D-088B-4A2C-A8E2-5901F0DB5EA8}.Debug.Appveyor|x86.ActiveCfg = Debug|Any CPU {53F45A1D-088B-4A2C-A8E2-5901F0DB5EA8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {53F45A1D-088B-4A2C-A8E2-5901F0DB5EA8}.Debug|Any CPU.Build.0 = Debug|Any CPU {53F45A1D-088B-4A2C-A8E2-5901F0DB5EA8}.Debug|ARM.ActiveCfg = Debug|Any CPU {53F45A1D-088B-4A2C-A8E2-5901F0DB5EA8}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU {53F45A1D-088B-4A2C-A8E2-5901F0DB5EA8}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {53F45A1D-088B-4A2C-A8E2-5901F0DB5EA8}.Debug|x64.ActiveCfg = Debug|Any CPU + {53F45A1D-088B-4A2C-A8E2-5901F0DB5EA8}.Debug|x64.Build.0 = Debug|Any CPU {53F45A1D-088B-4A2C-A8E2-5901F0DB5EA8}.Debug|x86.ActiveCfg = Debug|Any CPU {53F45A1D-088B-4A2C-A8E2-5901F0DB5EA8}.Release|Any CPU.ActiveCfg = Release|Any CPU {53F45A1D-088B-4A2C-A8E2-5901F0DB5EA8}.Release|Any CPU.Build.0 = Release|Any CPU {53F45A1D-088B-4A2C-A8E2-5901F0DB5EA8}.Release|ARM.ActiveCfg = Release|Any CPU {53F45A1D-088B-4A2C-A8E2-5901F0DB5EA8}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {53F45A1D-088B-4A2C-A8E2-5901F0DB5EA8}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {53F45A1D-088B-4A2C-A8E2-5901F0DB5EA8}.Release|x64.ActiveCfg = Release|Any CPU + {53F45A1D-088B-4A2C-A8E2-5901F0DB5EA8}.Release|x64.Build.0 = Release|Any CPU {53F45A1D-088B-4A2C-A8E2-5901F0DB5EA8}.Release|x86.ActiveCfg = Release|Any CPU {353349A9-4E6C-4706-A1C4-8363EAE0DBF3}.Debug.Appveyor|Any CPU.ActiveCfg = Debug|Any CPU {353349A9-4E6C-4706-A1C4-8363EAE0DBF3}.Debug.Appveyor|Any CPU.Build.0 = Debug|Any CPU {353349A9-4E6C-4706-A1C4-8363EAE0DBF3}.Debug.Appveyor|ARM.ActiveCfg = Debug|Any CPU {353349A9-4E6C-4706-A1C4-8363EAE0DBF3}.Debug.Appveyor|Mixed Platforms.ActiveCfg = Debug|Any CPU {353349A9-4E6C-4706-A1C4-8363EAE0DBF3}.Debug.Appveyor|Mixed Platforms.Build.0 = Debug|Any CPU + {353349A9-4E6C-4706-A1C4-8363EAE0DBF3}.Debug.Appveyor|x64.ActiveCfg = Debug|Any CPU + {353349A9-4E6C-4706-A1C4-8363EAE0DBF3}.Debug.Appveyor|x64.Build.0 = Debug|Any CPU {353349A9-4E6C-4706-A1C4-8363EAE0DBF3}.Debug.Appveyor|x86.ActiveCfg = Debug|Any CPU {353349A9-4E6C-4706-A1C4-8363EAE0DBF3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {353349A9-4E6C-4706-A1C4-8363EAE0DBF3}.Debug|Any CPU.Build.0 = Debug|Any CPU {353349A9-4E6C-4706-A1C4-8363EAE0DBF3}.Debug|ARM.ActiveCfg = Debug|Any CPU {353349A9-4E6C-4706-A1C4-8363EAE0DBF3}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU {353349A9-4E6C-4706-A1C4-8363EAE0DBF3}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {353349A9-4E6C-4706-A1C4-8363EAE0DBF3}.Debug|x64.ActiveCfg = Debug|Any CPU + {353349A9-4E6C-4706-A1C4-8363EAE0DBF3}.Debug|x64.Build.0 = Debug|Any CPU {353349A9-4E6C-4706-A1C4-8363EAE0DBF3}.Debug|x86.ActiveCfg = Debug|Any CPU {353349A9-4E6C-4706-A1C4-8363EAE0DBF3}.Release|Any CPU.ActiveCfg = Release|Any CPU {353349A9-4E6C-4706-A1C4-8363EAE0DBF3}.Release|Any CPU.Build.0 = Release|Any CPU {353349A9-4E6C-4706-A1C4-8363EAE0DBF3}.Release|ARM.ActiveCfg = Release|Any CPU {353349A9-4E6C-4706-A1C4-8363EAE0DBF3}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {353349A9-4E6C-4706-A1C4-8363EAE0DBF3}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {353349A9-4E6C-4706-A1C4-8363EAE0DBF3}.Release|x64.ActiveCfg = Release|Any CPU + {353349A9-4E6C-4706-A1C4-8363EAE0DBF3}.Release|x64.Build.0 = Release|Any CPU {353349A9-4E6C-4706-A1C4-8363EAE0DBF3}.Release|x86.ActiveCfg = Release|Any CPU {47C29B0E-D6F9-4FAA-B321-20053A1E3EE2}.Debug.Appveyor|Any CPU.ActiveCfg = Debug|Any CPU {47C29B0E-D6F9-4FAA-B321-20053A1E3EE2}.Debug.Appveyor|Any CPU.Build.0 = Debug|Any CPU {47C29B0E-D6F9-4FAA-B321-20053A1E3EE2}.Debug.Appveyor|ARM.ActiveCfg = Debug|Any CPU {47C29B0E-D6F9-4FAA-B321-20053A1E3EE2}.Debug.Appveyor|Mixed Platforms.ActiveCfg = Debug|Any CPU {47C29B0E-D6F9-4FAA-B321-20053A1E3EE2}.Debug.Appveyor|Mixed Platforms.Build.0 = Debug|Any CPU + {47C29B0E-D6F9-4FAA-B321-20053A1E3EE2}.Debug.Appveyor|x64.ActiveCfg = Debug|Any CPU + {47C29B0E-D6F9-4FAA-B321-20053A1E3EE2}.Debug.Appveyor|x64.Build.0 = Debug|Any CPU {47C29B0E-D6F9-4FAA-B321-20053A1E3EE2}.Debug.Appveyor|x86.ActiveCfg = Debug|Any CPU {47C29B0E-D6F9-4FAA-B321-20053A1E3EE2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {47C29B0E-D6F9-4FAA-B321-20053A1E3EE2}.Debug|Any CPU.Build.0 = Debug|Any CPU {47C29B0E-D6F9-4FAA-B321-20053A1E3EE2}.Debug|ARM.ActiveCfg = Debug|Any CPU {47C29B0E-D6F9-4FAA-B321-20053A1E3EE2}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU {47C29B0E-D6F9-4FAA-B321-20053A1E3EE2}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {47C29B0E-D6F9-4FAA-B321-20053A1E3EE2}.Debug|x64.ActiveCfg = Debug|Any CPU + {47C29B0E-D6F9-4FAA-B321-20053A1E3EE2}.Debug|x64.Build.0 = Debug|Any CPU {47C29B0E-D6F9-4FAA-B321-20053A1E3EE2}.Debug|x86.ActiveCfg = Debug|Any CPU {47C29B0E-D6F9-4FAA-B321-20053A1E3EE2}.Release|Any CPU.ActiveCfg = Release|Any CPU {47C29B0E-D6F9-4FAA-B321-20053A1E3EE2}.Release|Any CPU.Build.0 = Release|Any CPU {47C29B0E-D6F9-4FAA-B321-20053A1E3EE2}.Release|ARM.ActiveCfg = Release|Any CPU {47C29B0E-D6F9-4FAA-B321-20053A1E3EE2}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {47C29B0E-D6F9-4FAA-B321-20053A1E3EE2}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {47C29B0E-D6F9-4FAA-B321-20053A1E3EE2}.Release|x64.ActiveCfg = Release|Any CPU + {47C29B0E-D6F9-4FAA-B321-20053A1E3EE2}.Release|x64.Build.0 = Release|Any CPU {47C29B0E-D6F9-4FAA-B321-20053A1E3EE2}.Release|x86.ActiveCfg = Release|Any CPU {3190E0DC-674C-4C41-A7A3-BD2F406963B0}.Debug.Appveyor|Any CPU.ActiveCfg = Debug|Any CPU {3190E0DC-674C-4C41-A7A3-BD2F406963B0}.Debug.Appveyor|Any CPU.Build.0 = Debug|Any CPU {3190E0DC-674C-4C41-A7A3-BD2F406963B0}.Debug.Appveyor|ARM.ActiveCfg = Debug|Any CPU {3190E0DC-674C-4C41-A7A3-BD2F406963B0}.Debug.Appveyor|Mixed Platforms.ActiveCfg = Debug|Any CPU {3190E0DC-674C-4C41-A7A3-BD2F406963B0}.Debug.Appveyor|Mixed Platforms.Build.0 = Debug|Any CPU + {3190E0DC-674C-4C41-A7A3-BD2F406963B0}.Debug.Appveyor|x64.ActiveCfg = Debug|Any CPU + {3190E0DC-674C-4C41-A7A3-BD2F406963B0}.Debug.Appveyor|x64.Build.0 = Debug|Any CPU {3190E0DC-674C-4C41-A7A3-BD2F406963B0}.Debug.Appveyor|x86.ActiveCfg = Debug|Any CPU {3190E0DC-674C-4C41-A7A3-BD2F406963B0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {3190E0DC-674C-4C41-A7A3-BD2F406963B0}.Debug|Any CPU.Build.0 = Debug|Any CPU {3190E0DC-674C-4C41-A7A3-BD2F406963B0}.Debug|ARM.ActiveCfg = Debug|Any CPU {3190E0DC-674C-4C41-A7A3-BD2F406963B0}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU {3190E0DC-674C-4C41-A7A3-BD2F406963B0}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {3190E0DC-674C-4C41-A7A3-BD2F406963B0}.Debug|x64.ActiveCfg = Debug|Any CPU + {3190E0DC-674C-4C41-A7A3-BD2F406963B0}.Debug|x64.Build.0 = Debug|Any CPU {3190E0DC-674C-4C41-A7A3-BD2F406963B0}.Debug|x86.ActiveCfg = Debug|Any CPU {3190E0DC-674C-4C41-A7A3-BD2F406963B0}.Release|Any CPU.ActiveCfg = Release|Any CPU {3190E0DC-674C-4C41-A7A3-BD2F406963B0}.Release|Any CPU.Build.0 = Release|Any CPU {3190E0DC-674C-4C41-A7A3-BD2F406963B0}.Release|ARM.ActiveCfg = Release|Any CPU {3190E0DC-674C-4C41-A7A3-BD2F406963B0}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {3190E0DC-674C-4C41-A7A3-BD2F406963B0}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {3190E0DC-674C-4C41-A7A3-BD2F406963B0}.Release|x64.ActiveCfg = Release|Any CPU + {3190E0DC-674C-4C41-A7A3-BD2F406963B0}.Release|x64.Build.0 = Release|Any CPU {3190E0DC-674C-4C41-A7A3-BD2F406963B0}.Release|x86.ActiveCfg = Release|Any CPU {60CF35B5-ABE3-47E4-BA0C-0ABAF1618475}.Debug.Appveyor|Any CPU.ActiveCfg = Debug|Any CPU {60CF35B5-ABE3-47E4-BA0C-0ABAF1618475}.Debug.Appveyor|Any CPU.Build.0 = Debug|Any CPU {60CF35B5-ABE3-47E4-BA0C-0ABAF1618475}.Debug.Appveyor|ARM.ActiveCfg = Debug|Any CPU {60CF35B5-ABE3-47E4-BA0C-0ABAF1618475}.Debug.Appveyor|Mixed Platforms.ActiveCfg = Debug|Any CPU {60CF35B5-ABE3-47E4-BA0C-0ABAF1618475}.Debug.Appveyor|Mixed Platforms.Build.0 = Debug|Any CPU + {60CF35B5-ABE3-47E4-BA0C-0ABAF1618475}.Debug.Appveyor|x64.ActiveCfg = Debug|Any CPU + {60CF35B5-ABE3-47E4-BA0C-0ABAF1618475}.Debug.Appveyor|x64.Build.0 = Debug|Any CPU {60CF35B5-ABE3-47E4-BA0C-0ABAF1618475}.Debug.Appveyor|x86.ActiveCfg = Debug|Any CPU {60CF35B5-ABE3-47E4-BA0C-0ABAF1618475}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {60CF35B5-ABE3-47E4-BA0C-0ABAF1618475}.Debug|Any CPU.Build.0 = Debug|Any CPU {60CF35B5-ABE3-47E4-BA0C-0ABAF1618475}.Debug|ARM.ActiveCfg = Debug|Any CPU {60CF35B5-ABE3-47E4-BA0C-0ABAF1618475}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU {60CF35B5-ABE3-47E4-BA0C-0ABAF1618475}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {60CF35B5-ABE3-47E4-BA0C-0ABAF1618475}.Debug|x64.ActiveCfg = Debug|Any CPU + {60CF35B5-ABE3-47E4-BA0C-0ABAF1618475}.Debug|x64.Build.0 = Debug|Any CPU {60CF35B5-ABE3-47E4-BA0C-0ABAF1618475}.Debug|x86.ActiveCfg = Debug|Any CPU {60CF35B5-ABE3-47E4-BA0C-0ABAF1618475}.Release|Any CPU.ActiveCfg = Release|Any CPU {60CF35B5-ABE3-47E4-BA0C-0ABAF1618475}.Release|Any CPU.Build.0 = Release|Any CPU {60CF35B5-ABE3-47E4-BA0C-0ABAF1618475}.Release|ARM.ActiveCfg = Release|Any CPU {60CF35B5-ABE3-47E4-BA0C-0ABAF1618475}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {60CF35B5-ABE3-47E4-BA0C-0ABAF1618475}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {60CF35B5-ABE3-47E4-BA0C-0ABAF1618475}.Release|x64.ActiveCfg = Release|Any CPU + {60CF35B5-ABE3-47E4-BA0C-0ABAF1618475}.Release|x64.Build.0 = Release|Any CPU {60CF35B5-ABE3-47E4-BA0C-0ABAF1618475}.Release|x86.ActiveCfg = Release|Any CPU {3AC3B97E-D5AF-4462-BF5D-0EC28F4619C6}.Debug.Appveyor|Any CPU.ActiveCfg = Debug|Any CPU {3AC3B97E-D5AF-4462-BF5D-0EC28F4619C6}.Debug.Appveyor|Any CPU.Build.0 = Debug|Any CPU {3AC3B97E-D5AF-4462-BF5D-0EC28F4619C6}.Debug.Appveyor|ARM.ActiveCfg = Debug|Any CPU {3AC3B97E-D5AF-4462-BF5D-0EC28F4619C6}.Debug.Appveyor|Mixed Platforms.ActiveCfg = Debug|Any CPU {3AC3B97E-D5AF-4462-BF5D-0EC28F4619C6}.Debug.Appveyor|Mixed Platforms.Build.0 = Debug|Any CPU + {3AC3B97E-D5AF-4462-BF5D-0EC28F4619C6}.Debug.Appveyor|x64.ActiveCfg = Debug|Any CPU + {3AC3B97E-D5AF-4462-BF5D-0EC28F4619C6}.Debug.Appveyor|x64.Build.0 = Debug|Any CPU {3AC3B97E-D5AF-4462-BF5D-0EC28F4619C6}.Debug.Appveyor|x86.ActiveCfg = Debug|Any CPU {3AC3B97E-D5AF-4462-BF5D-0EC28F4619C6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {3AC3B97E-D5AF-4462-BF5D-0EC28F4619C6}.Debug|Any CPU.Build.0 = Debug|Any CPU {3AC3B97E-D5AF-4462-BF5D-0EC28F4619C6}.Debug|ARM.ActiveCfg = Debug|Any CPU {3AC3B97E-D5AF-4462-BF5D-0EC28F4619C6}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU {3AC3B97E-D5AF-4462-BF5D-0EC28F4619C6}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {3AC3B97E-D5AF-4462-BF5D-0EC28F4619C6}.Debug|x64.ActiveCfg = Debug|Any CPU + {3AC3B97E-D5AF-4462-BF5D-0EC28F4619C6}.Debug|x64.Build.0 = Debug|Any CPU {3AC3B97E-D5AF-4462-BF5D-0EC28F4619C6}.Debug|x86.ActiveCfg = Debug|Any CPU {3AC3B97E-D5AF-4462-BF5D-0EC28F4619C6}.Release|Any CPU.ActiveCfg = Release|Any CPU {3AC3B97E-D5AF-4462-BF5D-0EC28F4619C6}.Release|Any CPU.Build.0 = Release|Any CPU {3AC3B97E-D5AF-4462-BF5D-0EC28F4619C6}.Release|ARM.ActiveCfg = Release|Any CPU {3AC3B97E-D5AF-4462-BF5D-0EC28F4619C6}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {3AC3B97E-D5AF-4462-BF5D-0EC28F4619C6}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {3AC3B97E-D5AF-4462-BF5D-0EC28F4619C6}.Release|x64.ActiveCfg = Release|Any CPU + {3AC3B97E-D5AF-4462-BF5D-0EC28F4619C6}.Release|x64.Build.0 = Release|Any CPU {3AC3B97E-D5AF-4462-BF5D-0EC28F4619C6}.Release|x86.ActiveCfg = Release|Any CPU {ED71EEE1-29E5-437A-A4C7-06DA0EC1AA92}.Debug.Appveyor|Any CPU.ActiveCfg = Debug|Any CPU {ED71EEE1-29E5-437A-A4C7-06DA0EC1AA92}.Debug.Appveyor|Any CPU.Build.0 = Debug|Any CPU {ED71EEE1-29E5-437A-A4C7-06DA0EC1AA92}.Debug.Appveyor|ARM.ActiveCfg = Debug|Any CPU {ED71EEE1-29E5-437A-A4C7-06DA0EC1AA92}.Debug.Appveyor|Mixed Platforms.ActiveCfg = Debug|Any CPU {ED71EEE1-29E5-437A-A4C7-06DA0EC1AA92}.Debug.Appveyor|Mixed Platforms.Build.0 = Debug|Any CPU + {ED71EEE1-29E5-437A-A4C7-06DA0EC1AA92}.Debug.Appveyor|x64.ActiveCfg = Debug|Any CPU + {ED71EEE1-29E5-437A-A4C7-06DA0EC1AA92}.Debug.Appveyor|x64.Build.0 = Debug|Any CPU {ED71EEE1-29E5-437A-A4C7-06DA0EC1AA92}.Debug.Appveyor|x86.ActiveCfg = Debug|Any CPU {ED71EEE1-29E5-437A-A4C7-06DA0EC1AA92}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {ED71EEE1-29E5-437A-A4C7-06DA0EC1AA92}.Debug|Any CPU.Build.0 = Debug|Any CPU {ED71EEE1-29E5-437A-A4C7-06DA0EC1AA92}.Debug|ARM.ActiveCfg = Debug|Any CPU {ED71EEE1-29E5-437A-A4C7-06DA0EC1AA92}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU {ED71EEE1-29E5-437A-A4C7-06DA0EC1AA92}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {ED71EEE1-29E5-437A-A4C7-06DA0EC1AA92}.Debug|x64.ActiveCfg = Debug|Any CPU + {ED71EEE1-29E5-437A-A4C7-06DA0EC1AA92}.Debug|x64.Build.0 = Debug|Any CPU {ED71EEE1-29E5-437A-A4C7-06DA0EC1AA92}.Debug|x86.ActiveCfg = Debug|Any CPU {ED71EEE1-29E5-437A-A4C7-06DA0EC1AA92}.Release|Any CPU.ActiveCfg = Release|Any CPU {ED71EEE1-29E5-437A-A4C7-06DA0EC1AA92}.Release|Any CPU.Build.0 = Release|Any CPU {ED71EEE1-29E5-437A-A4C7-06DA0EC1AA92}.Release|ARM.ActiveCfg = Release|Any CPU {ED71EEE1-29E5-437A-A4C7-06DA0EC1AA92}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {ED71EEE1-29E5-437A-A4C7-06DA0EC1AA92}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {ED71EEE1-29E5-437A-A4C7-06DA0EC1AA92}.Release|x64.ActiveCfg = Release|Any CPU + {ED71EEE1-29E5-437A-A4C7-06DA0EC1AA92}.Release|x64.Build.0 = Release|Any CPU {ED71EEE1-29E5-437A-A4C7-06DA0EC1AA92}.Release|x86.ActiveCfg = Release|Any CPU {EC77CB3A-A55C-4A00-8471-C9AADAE2EED4}.Debug.Appveyor|Any CPU.ActiveCfg = Debug|Any CPU {EC77CB3A-A55C-4A00-8471-C9AADAE2EED4}.Debug.Appveyor|Any CPU.Build.0 = Debug|Any CPU {EC77CB3A-A55C-4A00-8471-C9AADAE2EED4}.Debug.Appveyor|ARM.ActiveCfg = Debug|Any CPU {EC77CB3A-A55C-4A00-8471-C9AADAE2EED4}.Debug.Appveyor|Mixed Platforms.ActiveCfg = Debug|Any CPU {EC77CB3A-A55C-4A00-8471-C9AADAE2EED4}.Debug.Appveyor|Mixed Platforms.Build.0 = Debug|Any CPU + {EC77CB3A-A55C-4A00-8471-C9AADAE2EED4}.Debug.Appveyor|x64.ActiveCfg = Debug|Any CPU + {EC77CB3A-A55C-4A00-8471-C9AADAE2EED4}.Debug.Appveyor|x64.Build.0 = Debug|Any CPU {EC77CB3A-A55C-4A00-8471-C9AADAE2EED4}.Debug.Appveyor|x86.ActiveCfg = Debug|Any CPU {EC77CB3A-A55C-4A00-8471-C9AADAE2EED4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {EC77CB3A-A55C-4A00-8471-C9AADAE2EED4}.Debug|Any CPU.Build.0 = Debug|Any CPU {EC77CB3A-A55C-4A00-8471-C9AADAE2EED4}.Debug|ARM.ActiveCfg = Debug|Any CPU {EC77CB3A-A55C-4A00-8471-C9AADAE2EED4}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU {EC77CB3A-A55C-4A00-8471-C9AADAE2EED4}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {EC77CB3A-A55C-4A00-8471-C9AADAE2EED4}.Debug|x64.ActiveCfg = Debug|Any CPU + {EC77CB3A-A55C-4A00-8471-C9AADAE2EED4}.Debug|x64.Build.0 = Debug|Any CPU {EC77CB3A-A55C-4A00-8471-C9AADAE2EED4}.Debug|x86.ActiveCfg = Debug|Any CPU {EC77CB3A-A55C-4A00-8471-C9AADAE2EED4}.Release|Any CPU.ActiveCfg = Release|Any CPU {EC77CB3A-A55C-4A00-8471-C9AADAE2EED4}.Release|Any CPU.Build.0 = Release|Any CPU {EC77CB3A-A55C-4A00-8471-C9AADAE2EED4}.Release|ARM.ActiveCfg = Release|Any CPU {EC77CB3A-A55C-4A00-8471-C9AADAE2EED4}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {EC77CB3A-A55C-4A00-8471-C9AADAE2EED4}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {EC77CB3A-A55C-4A00-8471-C9AADAE2EED4}.Release|x64.ActiveCfg = Release|Any CPU + {EC77CB3A-A55C-4A00-8471-C9AADAE2EED4}.Release|x64.Build.0 = Release|Any CPU {EC77CB3A-A55C-4A00-8471-C9AADAE2EED4}.Release|x86.ActiveCfg = Release|Any CPU {BD61DB80-63AC-4BFD-8232-A5C4DD9B8110}.Debug.Appveyor|Any CPU.ActiveCfg = Debug|Any CPU {BD61DB80-63AC-4BFD-8232-A5C4DD9B8110}.Debug.Appveyor|Any CPU.Build.0 = Debug|Any CPU {BD61DB80-63AC-4BFD-8232-A5C4DD9B8110}.Debug.Appveyor|ARM.ActiveCfg = Debug|Any CPU {BD61DB80-63AC-4BFD-8232-A5C4DD9B8110}.Debug.Appveyor|Mixed Platforms.ActiveCfg = Debug|Any CPU {BD61DB80-63AC-4BFD-8232-A5C4DD9B8110}.Debug.Appveyor|Mixed Platforms.Build.0 = Debug|Any CPU + {BD61DB80-63AC-4BFD-8232-A5C4DD9B8110}.Debug.Appveyor|x64.ActiveCfg = Debug|Any CPU + {BD61DB80-63AC-4BFD-8232-A5C4DD9B8110}.Debug.Appveyor|x64.Build.0 = Debug|Any CPU {BD61DB80-63AC-4BFD-8232-A5C4DD9B8110}.Debug.Appveyor|x86.ActiveCfg = Debug|Any CPU {BD61DB80-63AC-4BFD-8232-A5C4DD9B8110}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {BD61DB80-63AC-4BFD-8232-A5C4DD9B8110}.Debug|Any CPU.Build.0 = Debug|Any CPU {BD61DB80-63AC-4BFD-8232-A5C4DD9B8110}.Debug|ARM.ActiveCfg = Debug|Any CPU {BD61DB80-63AC-4BFD-8232-A5C4DD9B8110}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU {BD61DB80-63AC-4BFD-8232-A5C4DD9B8110}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {BD61DB80-63AC-4BFD-8232-A5C4DD9B8110}.Debug|x64.ActiveCfg = Debug|Any CPU + {BD61DB80-63AC-4BFD-8232-A5C4DD9B8110}.Debug|x64.Build.0 = Debug|Any CPU {BD61DB80-63AC-4BFD-8232-A5C4DD9B8110}.Debug|x86.ActiveCfg = Debug|Any CPU {BD61DB80-63AC-4BFD-8232-A5C4DD9B8110}.Release|Any CPU.ActiveCfg = Release|Any CPU {BD61DB80-63AC-4BFD-8232-A5C4DD9B8110}.Release|Any CPU.Build.0 = Release|Any CPU {BD61DB80-63AC-4BFD-8232-A5C4DD9B8110}.Release|ARM.ActiveCfg = Release|Any CPU {BD61DB80-63AC-4BFD-8232-A5C4DD9B8110}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {BD61DB80-63AC-4BFD-8232-A5C4DD9B8110}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {BD61DB80-63AC-4BFD-8232-A5C4DD9B8110}.Release|x64.ActiveCfg = Release|Any CPU + {BD61DB80-63AC-4BFD-8232-A5C4DD9B8110}.Release|x64.Build.0 = Release|Any CPU {BD61DB80-63AC-4BFD-8232-A5C4DD9B8110}.Release|x86.ActiveCfg = Release|Any CPU {142BC56F-48B2-4BAE-A33D-583D0B77232C}.Debug.Appveyor|Any CPU.ActiveCfg = Debug|Any CPU {142BC56F-48B2-4BAE-A33D-583D0B77232C}.Debug.Appveyor|Any CPU.Build.0 = Debug|Any CPU {142BC56F-48B2-4BAE-A33D-583D0B77232C}.Debug.Appveyor|ARM.ActiveCfg = Debug|Any CPU {142BC56F-48B2-4BAE-A33D-583D0B77232C}.Debug.Appveyor|Mixed Platforms.ActiveCfg = Debug|Any CPU {142BC56F-48B2-4BAE-A33D-583D0B77232C}.Debug.Appveyor|Mixed Platforms.Build.0 = Debug|Any CPU + {142BC56F-48B2-4BAE-A33D-583D0B77232C}.Debug.Appveyor|x64.ActiveCfg = Debug|Any CPU + {142BC56F-48B2-4BAE-A33D-583D0B77232C}.Debug.Appveyor|x64.Build.0 = Debug|Any CPU {142BC56F-48B2-4BAE-A33D-583D0B77232C}.Debug.Appveyor|x86.ActiveCfg = Debug|Any CPU {142BC56F-48B2-4BAE-A33D-583D0B77232C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {142BC56F-48B2-4BAE-A33D-583D0B77232C}.Debug|Any CPU.Build.0 = Debug|Any CPU {142BC56F-48B2-4BAE-A33D-583D0B77232C}.Debug|ARM.ActiveCfg = Debug|Any CPU {142BC56F-48B2-4BAE-A33D-583D0B77232C}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU {142BC56F-48B2-4BAE-A33D-583D0B77232C}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {142BC56F-48B2-4BAE-A33D-583D0B77232C}.Debug|x64.ActiveCfg = Debug|Any CPU + {142BC56F-48B2-4BAE-A33D-583D0B77232C}.Debug|x64.Build.0 = Debug|Any CPU {142BC56F-48B2-4BAE-A33D-583D0B77232C}.Debug|x86.ActiveCfg = Debug|Any CPU {142BC56F-48B2-4BAE-A33D-583D0B77232C}.Release|Any CPU.ActiveCfg = Release|Any CPU {142BC56F-48B2-4BAE-A33D-583D0B77232C}.Release|Any CPU.Build.0 = Release|Any CPU {142BC56F-48B2-4BAE-A33D-583D0B77232C}.Release|ARM.ActiveCfg = Release|Any CPU {142BC56F-48B2-4BAE-A33D-583D0B77232C}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {142BC56F-48B2-4BAE-A33D-583D0B77232C}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {142BC56F-48B2-4BAE-A33D-583D0B77232C}.Release|x64.ActiveCfg = Release|Any CPU + {142BC56F-48B2-4BAE-A33D-583D0B77232C}.Release|x64.Build.0 = Release|Any CPU {142BC56F-48B2-4BAE-A33D-583D0B77232C}.Release|x86.ActiveCfg = Release|Any CPU {F4C74773-8D8E-4A7D-977B-DE985B4D49D9}.Debug.Appveyor|Any CPU.ActiveCfg = Debug|Any CPU {F4C74773-8D8E-4A7D-977B-DE985B4D49D9}.Debug.Appveyor|Any CPU.Build.0 = Debug|Any CPU {F4C74773-8D8E-4A7D-977B-DE985B4D49D9}.Debug.Appveyor|ARM.ActiveCfg = Debug|Any CPU {F4C74773-8D8E-4A7D-977B-DE985B4D49D9}.Debug.Appveyor|Mixed Platforms.ActiveCfg = Debug|Any CPU {F4C74773-8D8E-4A7D-977B-DE985B4D49D9}.Debug.Appveyor|Mixed Platforms.Build.0 = Debug|Any CPU + {F4C74773-8D8E-4A7D-977B-DE985B4D49D9}.Debug.Appveyor|x64.ActiveCfg = Debug|Any CPU + {F4C74773-8D8E-4A7D-977B-DE985B4D49D9}.Debug.Appveyor|x64.Build.0 = Debug|Any CPU {F4C74773-8D8E-4A7D-977B-DE985B4D49D9}.Debug.Appveyor|x86.ActiveCfg = Debug|Any CPU {F4C74773-8D8E-4A7D-977B-DE985B4D49D9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {F4C74773-8D8E-4A7D-977B-DE985B4D49D9}.Debug|Any CPU.Build.0 = Debug|Any CPU {F4C74773-8D8E-4A7D-977B-DE985B4D49D9}.Debug|ARM.ActiveCfg = Debug|Any CPU {F4C74773-8D8E-4A7D-977B-DE985B4D49D9}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU {F4C74773-8D8E-4A7D-977B-DE985B4D49D9}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {F4C74773-8D8E-4A7D-977B-DE985B4D49D9}.Debug|x64.ActiveCfg = Debug|Any CPU + {F4C74773-8D8E-4A7D-977B-DE985B4D49D9}.Debug|x64.Build.0 = Debug|Any CPU {F4C74773-8D8E-4A7D-977B-DE985B4D49D9}.Debug|x86.ActiveCfg = Debug|Any CPU {F4C74773-8D8E-4A7D-977B-DE985B4D49D9}.Release|Any CPU.ActiveCfg = Release|Any CPU {F4C74773-8D8E-4A7D-977B-DE985B4D49D9}.Release|Any CPU.Build.0 = Release|Any CPU {F4C74773-8D8E-4A7D-977B-DE985B4D49D9}.Release|ARM.ActiveCfg = Release|Any CPU {F4C74773-8D8E-4A7D-977B-DE985B4D49D9}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {F4C74773-8D8E-4A7D-977B-DE985B4D49D9}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {F4C74773-8D8E-4A7D-977B-DE985B4D49D9}.Release|x64.ActiveCfg = Release|Any CPU + {F4C74773-8D8E-4A7D-977B-DE985B4D49D9}.Release|x64.Build.0 = Release|Any CPU {F4C74773-8D8E-4A7D-977B-DE985B4D49D9}.Release|x86.ActiveCfg = Release|Any CPU {25D4AAB0-B538-4F13-AB0E-96247307858B}.Debug.Appveyor|Any CPU.ActiveCfg = Debug|Any CPU {25D4AAB0-B538-4F13-AB0E-96247307858B}.Debug.Appveyor|Any CPU.Build.0 = Debug|Any CPU {25D4AAB0-B538-4F13-AB0E-96247307858B}.Debug.Appveyor|ARM.ActiveCfg = Debug|Any CPU {25D4AAB0-B538-4F13-AB0E-96247307858B}.Debug.Appveyor|Mixed Platforms.ActiveCfg = Debug|Any CPU {25D4AAB0-B538-4F13-AB0E-96247307858B}.Debug.Appveyor|Mixed Platforms.Build.0 = Debug|Any CPU + {25D4AAB0-B538-4F13-AB0E-96247307858B}.Debug.Appveyor|x64.ActiveCfg = Debug|Any CPU + {25D4AAB0-B538-4F13-AB0E-96247307858B}.Debug.Appveyor|x64.Build.0 = Debug|Any CPU {25D4AAB0-B538-4F13-AB0E-96247307858B}.Debug.Appveyor|x86.ActiveCfg = Debug|Any CPU {25D4AAB0-B538-4F13-AB0E-96247307858B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {25D4AAB0-B538-4F13-AB0E-96247307858B}.Debug|Any CPU.Build.0 = Debug|Any CPU {25D4AAB0-B538-4F13-AB0E-96247307858B}.Debug|ARM.ActiveCfg = Debug|Any CPU {25D4AAB0-B538-4F13-AB0E-96247307858B}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU {25D4AAB0-B538-4F13-AB0E-96247307858B}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {25D4AAB0-B538-4F13-AB0E-96247307858B}.Debug|x64.ActiveCfg = Debug|Any CPU + {25D4AAB0-B538-4F13-AB0E-96247307858B}.Debug|x64.Build.0 = Debug|Any CPU {25D4AAB0-B538-4F13-AB0E-96247307858B}.Debug|x86.ActiveCfg = Debug|Any CPU {25D4AAB0-B538-4F13-AB0E-96247307858B}.Release|Any CPU.ActiveCfg = Release|Any CPU {25D4AAB0-B538-4F13-AB0E-96247307858B}.Release|Any CPU.Build.0 = Release|Any CPU {25D4AAB0-B538-4F13-AB0E-96247307858B}.Release|ARM.ActiveCfg = Release|Any CPU {25D4AAB0-B538-4F13-AB0E-96247307858B}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {25D4AAB0-B538-4F13-AB0E-96247307858B}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {25D4AAB0-B538-4F13-AB0E-96247307858B}.Release|x64.ActiveCfg = Release|Any CPU + {25D4AAB0-B538-4F13-AB0E-96247307858B}.Release|x64.Build.0 = Release|Any CPU {25D4AAB0-B538-4F13-AB0E-96247307858B}.Release|x86.ActiveCfg = Release|Any CPU {67D441EA-FE5A-419F-ABD2-32E5B954A7C8}.Debug.Appveyor|Any CPU.ActiveCfg = Debug|Any CPU {67D441EA-FE5A-419F-ABD2-32E5B954A7C8}.Debug.Appveyor|Any CPU.Build.0 = Debug|Any CPU {67D441EA-FE5A-419F-ABD2-32E5B954A7C8}.Debug.Appveyor|ARM.ActiveCfg = Debug|Any CPU {67D441EA-FE5A-419F-ABD2-32E5B954A7C8}.Debug.Appveyor|Mixed Platforms.ActiveCfg = Debug|Any CPU {67D441EA-FE5A-419F-ABD2-32E5B954A7C8}.Debug.Appveyor|Mixed Platforms.Build.0 = Debug|Any CPU + {67D441EA-FE5A-419F-ABD2-32E5B954A7C8}.Debug.Appveyor|x64.ActiveCfg = Debug|Any CPU + {67D441EA-FE5A-419F-ABD2-32E5B954A7C8}.Debug.Appveyor|x64.Build.0 = Debug|Any CPU {67D441EA-FE5A-419F-ABD2-32E5B954A7C8}.Debug.Appveyor|x86.ActiveCfg = Debug|Any CPU {67D441EA-FE5A-419F-ABD2-32E5B954A7C8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {67D441EA-FE5A-419F-ABD2-32E5B954A7C8}.Debug|Any CPU.Build.0 = Debug|Any CPU {67D441EA-FE5A-419F-ABD2-32E5B954A7C8}.Debug|ARM.ActiveCfg = Debug|Any CPU {67D441EA-FE5A-419F-ABD2-32E5B954A7C8}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU {67D441EA-FE5A-419F-ABD2-32E5B954A7C8}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {67D441EA-FE5A-419F-ABD2-32E5B954A7C8}.Debug|x64.ActiveCfg = Debug|Any CPU + {67D441EA-FE5A-419F-ABD2-32E5B954A7C8}.Debug|x64.Build.0 = Debug|Any CPU {67D441EA-FE5A-419F-ABD2-32E5B954A7C8}.Debug|x86.ActiveCfg = Debug|Any CPU {67D441EA-FE5A-419F-ABD2-32E5B954A7C8}.Release|Any CPU.ActiveCfg = Release|Any CPU {67D441EA-FE5A-419F-ABD2-32E5B954A7C8}.Release|Any CPU.Build.0 = Release|Any CPU {67D441EA-FE5A-419F-ABD2-32E5B954A7C8}.Release|ARM.ActiveCfg = Release|Any CPU {67D441EA-FE5A-419F-ABD2-32E5B954A7C8}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {67D441EA-FE5A-419F-ABD2-32E5B954A7C8}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {67D441EA-FE5A-419F-ABD2-32E5B954A7C8}.Release|x64.ActiveCfg = Release|Any CPU + {67D441EA-FE5A-419F-ABD2-32E5B954A7C8}.Release|x64.Build.0 = Release|Any CPU {67D441EA-FE5A-419F-ABD2-32E5B954A7C8}.Release|x86.ActiveCfg = Release|Any CPU {CE439183-9CC6-4767-9041-016E3576D0F6}.Debug.Appveyor|Any CPU.ActiveCfg = Debug|Any CPU {CE439183-9CC6-4767-9041-016E3576D0F6}.Debug.Appveyor|Any CPU.Build.0 = Debug|Any CPU {CE439183-9CC6-4767-9041-016E3576D0F6}.Debug.Appveyor|ARM.ActiveCfg = Debug|Any CPU {CE439183-9CC6-4767-9041-016E3576D0F6}.Debug.Appveyor|Mixed Platforms.ActiveCfg = Debug|Any CPU {CE439183-9CC6-4767-9041-016E3576D0F6}.Debug.Appveyor|Mixed Platforms.Build.0 = Debug|Any CPU + {CE439183-9CC6-4767-9041-016E3576D0F6}.Debug.Appveyor|x64.ActiveCfg = Debug|Any CPU + {CE439183-9CC6-4767-9041-016E3576D0F6}.Debug.Appveyor|x64.Build.0 = Debug|Any CPU {CE439183-9CC6-4767-9041-016E3576D0F6}.Debug.Appveyor|x86.ActiveCfg = Debug|Any CPU {CE439183-9CC6-4767-9041-016E3576D0F6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {CE439183-9CC6-4767-9041-016E3576D0F6}.Debug|Any CPU.Build.0 = Debug|Any CPU {CE439183-9CC6-4767-9041-016E3576D0F6}.Debug|ARM.ActiveCfg = Debug|Any CPU {CE439183-9CC6-4767-9041-016E3576D0F6}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU {CE439183-9CC6-4767-9041-016E3576D0F6}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {CE439183-9CC6-4767-9041-016E3576D0F6}.Debug|x64.ActiveCfg = Debug|Any CPU + {CE439183-9CC6-4767-9041-016E3576D0F6}.Debug|x64.Build.0 = Debug|Any CPU {CE439183-9CC6-4767-9041-016E3576D0F6}.Debug|x86.ActiveCfg = Debug|Any CPU {CE439183-9CC6-4767-9041-016E3576D0F6}.Release|Any CPU.ActiveCfg = Release|Any CPU {CE439183-9CC6-4767-9041-016E3576D0F6}.Release|Any CPU.Build.0 = Release|Any CPU {CE439183-9CC6-4767-9041-016E3576D0F6}.Release|ARM.ActiveCfg = Release|Any CPU {CE439183-9CC6-4767-9041-016E3576D0F6}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {CE439183-9CC6-4767-9041-016E3576D0F6}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {CE439183-9CC6-4767-9041-016E3576D0F6}.Release|x64.ActiveCfg = Release|Any CPU + {CE439183-9CC6-4767-9041-016E3576D0F6}.Release|x64.Build.0 = Release|Any CPU {CE439183-9CC6-4767-9041-016E3576D0F6}.Release|x86.ActiveCfg = Release|Any CPU {1B662C38-984F-4B6A-89B5-AFF7FCBE43A2}.Debug.Appveyor|Any CPU.ActiveCfg = Debug|Any CPU {1B662C38-984F-4B6A-89B5-AFF7FCBE43A2}.Debug.Appveyor|Any CPU.Build.0 = Debug|Any CPU {1B662C38-984F-4B6A-89B5-AFF7FCBE43A2}.Debug.Appveyor|ARM.ActiveCfg = Debug|Any CPU {1B662C38-984F-4B6A-89B5-AFF7FCBE43A2}.Debug.Appveyor|Mixed Platforms.ActiveCfg = Debug|Any CPU + {1B662C38-984F-4B6A-89B5-AFF7FCBE43A2}.Debug.Appveyor|x64.ActiveCfg = Debug|Any CPU + {1B662C38-984F-4B6A-89B5-AFF7FCBE43A2}.Debug.Appveyor|x64.Build.0 = Debug|Any CPU {1B662C38-984F-4B6A-89B5-AFF7FCBE43A2}.Debug.Appveyor|x86.ActiveCfg = Debug|Any CPU {1B662C38-984F-4B6A-89B5-AFF7FCBE43A2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {1B662C38-984F-4B6A-89B5-AFF7FCBE43A2}.Debug|ARM.ActiveCfg = Debug|Any CPU {1B662C38-984F-4B6A-89B5-AFF7FCBE43A2}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU {1B662C38-984F-4B6A-89B5-AFF7FCBE43A2}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {1B662C38-984F-4B6A-89B5-AFF7FCBE43A2}.Debug|x64.ActiveCfg = Debug|Any CPU + {1B662C38-984F-4B6A-89B5-AFF7FCBE43A2}.Debug|x64.Build.0 = Debug|Any CPU {1B662C38-984F-4B6A-89B5-AFF7FCBE43A2}.Debug|x86.ActiveCfg = Debug|Any CPU {1B662C38-984F-4B6A-89B5-AFF7FCBE43A2}.Release|Any CPU.ActiveCfg = Release|Any CPU {1B662C38-984F-4B6A-89B5-AFF7FCBE43A2}.Release|ARM.ActiveCfg = Release|Any CPU {1B662C38-984F-4B6A-89B5-AFF7FCBE43A2}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {1B662C38-984F-4B6A-89B5-AFF7FCBE43A2}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {1B662C38-984F-4B6A-89B5-AFF7FCBE43A2}.Release|x64.ActiveCfg = Release|Any CPU + {1B662C38-984F-4B6A-89B5-AFF7FCBE43A2}.Release|x64.Build.0 = Release|Any CPU {1B662C38-984F-4B6A-89B5-AFF7FCBE43A2}.Release|x86.ActiveCfg = Release|Any CPU {7CBC38E5-BABF-4E79-86CA-41C42222FC85}.Debug.Appveyor|Any CPU.ActiveCfg = Debug|Any CPU {7CBC38E5-BABF-4E79-86CA-41C42222FC85}.Debug.Appveyor|Any CPU.Build.0 = Debug|Any CPU {7CBC38E5-BABF-4E79-86CA-41C42222FC85}.Debug.Appveyor|ARM.ActiveCfg = Debug|Any CPU {7CBC38E5-BABF-4E79-86CA-41C42222FC85}.Debug.Appveyor|Mixed Platforms.ActiveCfg = Debug|Any CPU + {7CBC38E5-BABF-4E79-86CA-41C42222FC85}.Debug.Appveyor|x64.ActiveCfg = Debug|Any CPU + {7CBC38E5-BABF-4E79-86CA-41C42222FC85}.Debug.Appveyor|x64.Build.0 = Debug|Any CPU {7CBC38E5-BABF-4E79-86CA-41C42222FC85}.Debug.Appveyor|x86.ActiveCfg = Debug|Any CPU {7CBC38E5-BABF-4E79-86CA-41C42222FC85}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {7CBC38E5-BABF-4E79-86CA-41C42222FC85}.Debug|ARM.ActiveCfg = Debug|Any CPU {7CBC38E5-BABF-4E79-86CA-41C42222FC85}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU {7CBC38E5-BABF-4E79-86CA-41C42222FC85}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {7CBC38E5-BABF-4E79-86CA-41C42222FC85}.Debug|x64.ActiveCfg = Debug|Any CPU + {7CBC38E5-BABF-4E79-86CA-41C42222FC85}.Debug|x64.Build.0 = Debug|Any CPU {7CBC38E5-BABF-4E79-86CA-41C42222FC85}.Debug|x86.ActiveCfg = Debug|Any CPU {7CBC38E5-BABF-4E79-86CA-41C42222FC85}.Release|Any CPU.ActiveCfg = Release|Any CPU {7CBC38E5-BABF-4E79-86CA-41C42222FC85}.Release|ARM.ActiveCfg = Release|Any CPU {7CBC38E5-BABF-4E79-86CA-41C42222FC85}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {7CBC38E5-BABF-4E79-86CA-41C42222FC85}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {7CBC38E5-BABF-4E79-86CA-41C42222FC85}.Release|x64.ActiveCfg = Release|Any CPU + {7CBC38E5-BABF-4E79-86CA-41C42222FC85}.Release|x64.Build.0 = Release|Any CPU {7CBC38E5-BABF-4E79-86CA-41C42222FC85}.Release|x86.ActiveCfg = Release|Any CPU {E9A9D1C5-4E06-4D31-9809-A97188C70B2C}.Debug.Appveyor|Any CPU.ActiveCfg = Debug|Any CPU {E9A9D1C5-4E06-4D31-9809-A97188C70B2C}.Debug.Appveyor|Any CPU.Build.0 = Debug|Any CPU {E9A9D1C5-4E06-4D31-9809-A97188C70B2C}.Debug.Appveyor|ARM.ActiveCfg = Debug|Any CPU {E9A9D1C5-4E06-4D31-9809-A97188C70B2C}.Debug.Appveyor|Mixed Platforms.ActiveCfg = Debug|Any CPU + {E9A9D1C5-4E06-4D31-9809-A97188C70B2C}.Debug.Appveyor|x64.ActiveCfg = Debug|Any CPU + {E9A9D1C5-4E06-4D31-9809-A97188C70B2C}.Debug.Appveyor|x64.Build.0 = Debug|Any CPU {E9A9D1C5-4E06-4D31-9809-A97188C70B2C}.Debug.Appveyor|x86.ActiveCfg = Debug|Any CPU {E9A9D1C5-4E06-4D31-9809-A97188C70B2C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {E9A9D1C5-4E06-4D31-9809-A97188C70B2C}.Debug|ARM.ActiveCfg = Debug|Any CPU {E9A9D1C5-4E06-4D31-9809-A97188C70B2C}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU {E9A9D1C5-4E06-4D31-9809-A97188C70B2C}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {E9A9D1C5-4E06-4D31-9809-A97188C70B2C}.Debug|x64.ActiveCfg = Debug|Any CPU + {E9A9D1C5-4E06-4D31-9809-A97188C70B2C}.Debug|x64.Build.0 = Debug|Any CPU {E9A9D1C5-4E06-4D31-9809-A97188C70B2C}.Debug|x86.ActiveCfg = Debug|Any CPU {E9A9D1C5-4E06-4D31-9809-A97188C70B2C}.Release|Any CPU.ActiveCfg = Release|Any CPU {E9A9D1C5-4E06-4D31-9809-A97188C70B2C}.Release|ARM.ActiveCfg = Release|Any CPU {E9A9D1C5-4E06-4D31-9809-A97188C70B2C}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {E9A9D1C5-4E06-4D31-9809-A97188C70B2C}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {E9A9D1C5-4E06-4D31-9809-A97188C70B2C}.Release|x64.ActiveCfg = Release|Any CPU + {E9A9D1C5-4E06-4D31-9809-A97188C70B2C}.Release|x64.Build.0 = Release|Any CPU {E9A9D1C5-4E06-4D31-9809-A97188C70B2C}.Release|x86.ActiveCfg = Release|Any CPU {F4D48DF6-316E-4963-B5C1-59CA39B431B7}.Debug.Appveyor|Any CPU.ActiveCfg = Debug|Any CPU {F4D48DF6-316E-4963-B5C1-59CA39B431B7}.Debug.Appveyor|Any CPU.Build.0 = Debug|Any CPU @@ -524,6 +670,7 @@ Global {F4D48DF6-316E-4963-B5C1-59CA39B431B7}.Debug.Appveyor|ARM.Build.0 = Debug|ARM {F4D48DF6-316E-4963-B5C1-59CA39B431B7}.Debug.Appveyor|Mixed Platforms.ActiveCfg = Debug|x86 {F4D48DF6-316E-4963-B5C1-59CA39B431B7}.Debug.Appveyor|Mixed Platforms.Build.0 = Debug|x86 + {F4D48DF6-316E-4963-B5C1-59CA39B431B7}.Debug.Appveyor|x64.ActiveCfg = Debug|Any CPU {F4D48DF6-316E-4963-B5C1-59CA39B431B7}.Debug.Appveyor|x86.ActiveCfg = Debug|x86 {F4D48DF6-316E-4963-B5C1-59CA39B431B7}.Debug.Appveyor|x86.Build.0 = Debug|x86 {F4D48DF6-316E-4963-B5C1-59CA39B431B7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU @@ -532,6 +679,7 @@ Global {F4D48DF6-316E-4963-B5C1-59CA39B431B7}.Debug|ARM.Build.0 = Debug|ARM {F4D48DF6-316E-4963-B5C1-59CA39B431B7}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 {F4D48DF6-316E-4963-B5C1-59CA39B431B7}.Debug|Mixed Platforms.Build.0 = Debug|x86 + {F4D48DF6-316E-4963-B5C1-59CA39B431B7}.Debug|x64.ActiveCfg = Debug|Any CPU {F4D48DF6-316E-4963-B5C1-59CA39B431B7}.Debug|x86.ActiveCfg = Debug|x86 {F4D48DF6-316E-4963-B5C1-59CA39B431B7}.Debug|x86.Build.0 = Debug|x86 {F4D48DF6-316E-4963-B5C1-59CA39B431B7}.Release|Any CPU.ActiveCfg = Release|Any CPU @@ -540,6 +688,7 @@ Global {F4D48DF6-316E-4963-B5C1-59CA39B431B7}.Release|ARM.Build.0 = Release|ARM {F4D48DF6-316E-4963-B5C1-59CA39B431B7}.Release|Mixed Platforms.ActiveCfg = Release|x86 {F4D48DF6-316E-4963-B5C1-59CA39B431B7}.Release|Mixed Platforms.Build.0 = Release|x86 + {F4D48DF6-316E-4963-B5C1-59CA39B431B7}.Release|x64.ActiveCfg = Release|Any CPU {F4D48DF6-316E-4963-B5C1-59CA39B431B7}.Release|x86.ActiveCfg = Release|x86 {F4D48DF6-316E-4963-B5C1-59CA39B431B7}.Release|x86.Build.0 = Release|x86 {7F223A85-CB51-4666-AFD1-EA55163CE3E8}.Debug.Appveyor|Any CPU.ActiveCfg = Debug|Any CPU @@ -548,6 +697,7 @@ Global {7F223A85-CB51-4666-AFD1-EA55163CE3E8}.Debug.Appveyor|ARM.Build.0 = Debug|ARM {7F223A85-CB51-4666-AFD1-EA55163CE3E8}.Debug.Appveyor|Mixed Platforms.ActiveCfg = Debug|x86 {7F223A85-CB51-4666-AFD1-EA55163CE3E8}.Debug.Appveyor|Mixed Platforms.Build.0 = Debug|x86 + {7F223A85-CB51-4666-AFD1-EA55163CE3E8}.Debug.Appveyor|x64.ActiveCfg = Debug|Any CPU {7F223A85-CB51-4666-AFD1-EA55163CE3E8}.Debug.Appveyor|x86.ActiveCfg = Debug|x86 {7F223A85-CB51-4666-AFD1-EA55163CE3E8}.Debug.Appveyor|x86.Build.0 = Debug|x86 {7F223A85-CB51-4666-AFD1-EA55163CE3E8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU @@ -556,6 +706,7 @@ Global {7F223A85-CB51-4666-AFD1-EA55163CE3E8}.Debug|ARM.Build.0 = Debug|ARM {7F223A85-CB51-4666-AFD1-EA55163CE3E8}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 {7F223A85-CB51-4666-AFD1-EA55163CE3E8}.Debug|Mixed Platforms.Build.0 = Debug|x86 + {7F223A85-CB51-4666-AFD1-EA55163CE3E8}.Debug|x64.ActiveCfg = Debug|Any CPU {7F223A85-CB51-4666-AFD1-EA55163CE3E8}.Debug|x86.ActiveCfg = Debug|x86 {7F223A85-CB51-4666-AFD1-EA55163CE3E8}.Debug|x86.Build.0 = Debug|x86 {7F223A85-CB51-4666-AFD1-EA55163CE3E8}.Release|Any CPU.ActiveCfg = Release|Any CPU @@ -564,6 +715,7 @@ Global {7F223A85-CB51-4666-AFD1-EA55163CE3E8}.Release|ARM.Build.0 = Release|ARM {7F223A85-CB51-4666-AFD1-EA55163CE3E8}.Release|Mixed Platforms.ActiveCfg = Release|x86 {7F223A85-CB51-4666-AFD1-EA55163CE3E8}.Release|Mixed Platforms.Build.0 = Release|x86 + {7F223A85-CB51-4666-AFD1-EA55163CE3E8}.Release|x64.ActiveCfg = Release|Any CPU {7F223A85-CB51-4666-AFD1-EA55163CE3E8}.Release|x86.ActiveCfg = Release|x86 {7F223A85-CB51-4666-AFD1-EA55163CE3E8}.Release|x86.Build.0 = Release|x86 {E08E5B69-4F6D-4DE1-ABB8-77E0441D1AEF}.Debug.Appveyor|Any CPU.ActiveCfg = Debug|Any CPU @@ -572,6 +724,7 @@ Global {E08E5B69-4F6D-4DE1-ABB8-77E0441D1AEF}.Debug.Appveyor|ARM.Build.0 = Debug|Any CPU {E08E5B69-4F6D-4DE1-ABB8-77E0441D1AEF}.Debug.Appveyor|Mixed Platforms.ActiveCfg = Debug|Any CPU {E08E5B69-4F6D-4DE1-ABB8-77E0441D1AEF}.Debug.Appveyor|Mixed Platforms.Build.0 = Debug|Any CPU + {E08E5B69-4F6D-4DE1-ABB8-77E0441D1AEF}.Debug.Appveyor|x64.ActiveCfg = Debug|Any CPU {E08E5B69-4F6D-4DE1-ABB8-77E0441D1AEF}.Debug.Appveyor|x86.ActiveCfg = Debug|Any CPU {E08E5B69-4F6D-4DE1-ABB8-77E0441D1AEF}.Debug.Appveyor|x86.Build.0 = Debug|Any CPU {E08E5B69-4F6D-4DE1-ABB8-77E0441D1AEF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU @@ -580,6 +733,7 @@ Global {E08E5B69-4F6D-4DE1-ABB8-77E0441D1AEF}.Debug|ARM.Build.0 = Debug|Any CPU {E08E5B69-4F6D-4DE1-ABB8-77E0441D1AEF}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU {E08E5B69-4F6D-4DE1-ABB8-77E0441D1AEF}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {E08E5B69-4F6D-4DE1-ABB8-77E0441D1AEF}.Debug|x64.ActiveCfg = Debug|Any CPU {E08E5B69-4F6D-4DE1-ABB8-77E0441D1AEF}.Debug|x86.ActiveCfg = Debug|Any CPU {E08E5B69-4F6D-4DE1-ABB8-77E0441D1AEF}.Debug|x86.Build.0 = Debug|Any CPU {E08E5B69-4F6D-4DE1-ABB8-77E0441D1AEF}.Release|Any CPU.ActiveCfg = Release|Any CPU @@ -588,8 +742,39 @@ Global {E08E5B69-4F6D-4DE1-ABB8-77E0441D1AEF}.Release|ARM.Build.0 = Release|Any CPU {E08E5B69-4F6D-4DE1-ABB8-77E0441D1AEF}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {E08E5B69-4F6D-4DE1-ABB8-77E0441D1AEF}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {E08E5B69-4F6D-4DE1-ABB8-77E0441D1AEF}.Release|x64.ActiveCfg = Release|Any CPU {E08E5B69-4F6D-4DE1-ABB8-77E0441D1AEF}.Release|x86.ActiveCfg = Release|Any CPU {E08E5B69-4F6D-4DE1-ABB8-77E0441D1AEF}.Release|x86.Build.0 = Release|Any CPU + {7D7F4D91-9EB4-4F01-8490-B5B2B12C9E64}.Debug.Appveyor|Any CPU.ActiveCfg = Debug|Any CPU + {7D7F4D91-9EB4-4F01-8490-B5B2B12C9E64}.Debug.Appveyor|Any CPU.Build.0 = Debug|Any CPU + {7D7F4D91-9EB4-4F01-8490-B5B2B12C9E64}.Debug.Appveyor|ARM.ActiveCfg = Debug|ARM + {7D7F4D91-9EB4-4F01-8490-B5B2B12C9E64}.Debug.Appveyor|ARM.Build.0 = Debug|ARM + {7D7F4D91-9EB4-4F01-8490-B5B2B12C9E64}.Debug.Appveyor|Mixed Platforms.ActiveCfg = Debug|x86 + {7D7F4D91-9EB4-4F01-8490-B5B2B12C9E64}.Debug.Appveyor|Mixed Platforms.Build.0 = Debug|x86 + {7D7F4D91-9EB4-4F01-8490-B5B2B12C9E64}.Debug.Appveyor|x64.ActiveCfg = Debug|x64 + {7D7F4D91-9EB4-4F01-8490-B5B2B12C9E64}.Debug.Appveyor|x64.Build.0 = Debug|x64 + {7D7F4D91-9EB4-4F01-8490-B5B2B12C9E64}.Debug.Appveyor|x86.ActiveCfg = Debug|x86 + {7D7F4D91-9EB4-4F01-8490-B5B2B12C9E64}.Debug.Appveyor|x86.Build.0 = Debug|x86 + {7D7F4D91-9EB4-4F01-8490-B5B2B12C9E64}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {7D7F4D91-9EB4-4F01-8490-B5B2B12C9E64}.Debug|Any CPU.Build.0 = Debug|Any CPU + {7D7F4D91-9EB4-4F01-8490-B5B2B12C9E64}.Debug|ARM.ActiveCfg = Debug|ARM + {7D7F4D91-9EB4-4F01-8490-B5B2B12C9E64}.Debug|ARM.Build.0 = Debug|ARM + {7D7F4D91-9EB4-4F01-8490-B5B2B12C9E64}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 + {7D7F4D91-9EB4-4F01-8490-B5B2B12C9E64}.Debug|Mixed Platforms.Build.0 = Debug|x86 + {7D7F4D91-9EB4-4F01-8490-B5B2B12C9E64}.Debug|x64.ActiveCfg = Debug|x64 + {7D7F4D91-9EB4-4F01-8490-B5B2B12C9E64}.Debug|x64.Build.0 = Debug|x64 + {7D7F4D91-9EB4-4F01-8490-B5B2B12C9E64}.Debug|x86.ActiveCfg = Debug|x86 + {7D7F4D91-9EB4-4F01-8490-B5B2B12C9E64}.Debug|x86.Build.0 = Debug|x86 + {7D7F4D91-9EB4-4F01-8490-B5B2B12C9E64}.Release|Any CPU.ActiveCfg = Release|Any CPU + {7D7F4D91-9EB4-4F01-8490-B5B2B12C9E64}.Release|Any CPU.Build.0 = Release|Any CPU + {7D7F4D91-9EB4-4F01-8490-B5B2B12C9E64}.Release|ARM.ActiveCfg = Release|ARM + {7D7F4D91-9EB4-4F01-8490-B5B2B12C9E64}.Release|ARM.Build.0 = Release|ARM + {7D7F4D91-9EB4-4F01-8490-B5B2B12C9E64}.Release|Mixed Platforms.ActiveCfg = Release|x86 + {7D7F4D91-9EB4-4F01-8490-B5B2B12C9E64}.Release|Mixed Platforms.Build.0 = Release|x86 + {7D7F4D91-9EB4-4F01-8490-B5B2B12C9E64}.Release|x64.ActiveCfg = Release|x64 + {7D7F4D91-9EB4-4F01-8490-B5B2B12C9E64}.Release|x64.Build.0 = Release|x64 + {7D7F4D91-9EB4-4F01-8490-B5B2B12C9E64}.Release|x86.ActiveCfg = Release|x86 + {7D7F4D91-9EB4-4F01-8490-B5B2B12C9E64}.Release|x86.Build.0 = Release|x86 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/RestSharp/Authenticators/OAuth/Extensions/OAuthExtensions.cs b/RestSharp/Authenticators/OAuth/Extensions/OAuthExtensions.cs index 53c44c350..f80d2b17d 100644 --- a/RestSharp/Authenticators/OAuth/Extensions/OAuthExtensions.cs +++ b/RestSharp/Authenticators/OAuth/Extensions/OAuthExtensions.cs @@ -1,6 +1,13 @@ using System; -using System.Security.Cryptography; using System.Text; +#if WINDOWS_UWP +using Windows.Security.Cryptography.Core; +using Windows.Security.Cryptography; +using Windows.Storage.Streams; +#else +using System.Security.Cryptography; +#endif + namespace RestSharp.Authenticators.OAuth.Extensions { @@ -9,7 +16,7 @@ internal static class OAuthExtensions public static string ToRequestValue(this OAuthSignatureMethod signatureMethod) { string value = signatureMethod.ToString() - .ToUpper(); + .ToUpper(); int shaIndex = value.IndexOf("SHA1"); return shaIndex > -1 @@ -32,12 +39,29 @@ public static OAuthSignatureMethod FromRequestValue(this string signatureMethod) } } - public static string HashWith(this string input, HashAlgorithm algorithm) + + public static string HashWithHMACSHA1(this string input, string key) { +#if WINDOWS_UWP + MacAlgorithmProvider algorithm = MacAlgorithmProvider.OpenAlgorithm(MacAlgorithmNames.HmacSha1); + + IBuffer keyBuffer = CryptographicBuffer.ConvertStringToBinary(key, BinaryStringEncoding.Utf8); + CryptographicKey signatureKey = algorithm.CreateKey(keyBuffer); + + IBuffer data = CryptographicBuffer.ConvertStringToBinary(input, BinaryStringEncoding.Utf8); + + IBuffer hash = CryptographicEngine.Sign(signatureKey, data); + + return CryptographicBuffer.EncodeToBase64String(hash); +#else + HMACSHA1 algorithm = new HMACSHA1 {Key = Encoding.UTF8.GetBytes(key)}; + byte[] data = Encoding.UTF8.GetBytes(input); byte[] hash = algorithm.ComputeHash(data); return Convert.ToBase64String(hash); + +#endif } } -} +} \ No newline at end of file diff --git a/RestSharp/Authenticators/OAuth/HttpPostParameterType.cs b/RestSharp/Authenticators/OAuth/HttpPostParameterType.cs index 0ad1d3f78..2d5999a8d 100644 --- a/RestSharp/Authenticators/OAuth/HttpPostParameterType.cs +++ b/RestSharp/Authenticators/OAuth/HttpPostParameterType.cs @@ -2,7 +2,7 @@ namespace RestSharp.Authenticators.OAuth { -#if !SILVERLIGHT && !WINDOWS_PHONE +#if !SILVERLIGHT && !WINDOWS_PHONE && !WINDOWS_UWP [Serializable] #endif internal enum HttpPostParameterType diff --git a/RestSharp/Authenticators/OAuth/OAuthParameterHandling.cs b/RestSharp/Authenticators/OAuth/OAuthParameterHandling.cs index e9b79a6a5..697b799e6 100644 --- a/RestSharp/Authenticators/OAuth/OAuthParameterHandling.cs +++ b/RestSharp/Authenticators/OAuth/OAuthParameterHandling.cs @@ -2,7 +2,7 @@ namespace RestSharp.Authenticators.OAuth { -#if !SILVERLIGHT && !WINDOWS_PHONE +#if !SILVERLIGHT && !WINDOWS_PHONE && !WINDOWS_UWP [Serializable] #endif public enum OAuthParameterHandling diff --git a/RestSharp/Authenticators/OAuth/OAuthSignatureMethod.cs b/RestSharp/Authenticators/OAuth/OAuthSignatureMethod.cs index 96e16236f..ae4e1ed5c 100644 --- a/RestSharp/Authenticators/OAuth/OAuthSignatureMethod.cs +++ b/RestSharp/Authenticators/OAuth/OAuthSignatureMethod.cs @@ -2,7 +2,7 @@ namespace RestSharp.Authenticators.OAuth { -#if !SILVERLIGHT && !WINDOWS_PHONE +#if !SILVERLIGHT && !WINDOWS_PHONE && !WINDOWS_UWP [Serializable] #endif public enum OAuthSignatureMethod diff --git a/RestSharp/Authenticators/OAuth/OAuthSignatureTreatment.cs b/RestSharp/Authenticators/OAuth/OAuthSignatureTreatment.cs index cad9e28e1..50815f9e8 100644 --- a/RestSharp/Authenticators/OAuth/OAuthSignatureTreatment.cs +++ b/RestSharp/Authenticators/OAuth/OAuthSignatureTreatment.cs @@ -2,7 +2,7 @@ namespace RestSharp.Authenticators.OAuth { -#if !SILVERLIGHT && !WINDOWS_PHONE +#if !SILVERLIGHT && !WINDOWS_PHONE && !WINDOWS_UWP [Serializable] #endif public enum OAuthSignatureTreatment diff --git a/RestSharp/Authenticators/OAuth/OAuthTools.cs b/RestSharp/Authenticators/OAuth/OAuthTools.cs index be6dfe35c..e5efb591c 100644 --- a/RestSharp/Authenticators/OAuth/OAuthTools.cs +++ b/RestSharp/Authenticators/OAuth/OAuthTools.cs @@ -1,13 +1,21 @@ using System; using System.Collections.Generic; using System.Linq; + +#if WINDOWS_UWP +using Windows.Security.Cryptography.Core; +using Windows.Security.Cryptography; +using Windows.Storage.Streams; +#else using System.Security.Cryptography; +#endif + using System.Text; using RestSharp.Authenticators.OAuth.Extensions; namespace RestSharp.Authenticators.OAuth { -#if !SILVERLIGHT && !WINDOWS_PHONE +#if !SILVERLIGHT && !WINDOWS_PHONE && !WINDOWS_UWP [Serializable] #endif internal static class OAuthTools @@ -26,13 +34,13 @@ internal static class OAuthTools private static readonly object randomLock = new object(); -#if !SILVERLIGHT && !WINDOWS_PHONE +#if !SILVERLIGHT && !WINDOWS_PHONE && !WINDOWS_UWP private static readonly RandomNumberGenerator rng = RandomNumberGenerator.Create(); #endif static OAuthTools() { -#if !SILVERLIGHT && !WINDOWS_PHONE +#if !SILVERLIGHT && !WINDOWS_PHONE && !WINDOWS_UWP byte[] bytes = new byte[4]; rng.GetNonZeroBytes(bytes); @@ -331,12 +339,8 @@ public static string GetSignature(OAuthSignatureMethod signatureMethod, OAuthSig { case OAuthSignatureMethod.HmacSha1: { - HMACSHA1 crypto = new HMACSHA1(); string key = "{0}&{1}".FormatWith(consumerSecret, tokenSecret); - - crypto.Key = encoding.GetBytes(key); - signature = signatureBase.HashWith(crypto); - + signature = signatureBase.HashWithHMACSHA1(key); break; } diff --git a/RestSharp/Authenticators/OAuth/OAuthType.cs b/RestSharp/Authenticators/OAuth/OAuthType.cs index 8c369bb76..92387f6bd 100644 --- a/RestSharp/Authenticators/OAuth/OAuthType.cs +++ b/RestSharp/Authenticators/OAuth/OAuthType.cs @@ -2,7 +2,7 @@ namespace RestSharp.Authenticators.OAuth { -#if !SILVERLIGHT && !WINDOWS_PHONE +#if !SILVERLIGHT && !WINDOWS_PHONE && !WINDOWS_UWP [Serializable] #endif public enum OAuthType diff --git a/RestSharp/Authenticators/OAuth/OAuthWebQueryInfo.cs b/RestSharp/Authenticators/OAuth/OAuthWebQueryInfo.cs index b73cfa3e3..3ea80851d 100644 --- a/RestSharp/Authenticators/OAuth/OAuthWebQueryInfo.cs +++ b/RestSharp/Authenticators/OAuth/OAuthWebQueryInfo.cs @@ -2,7 +2,7 @@ namespace RestSharp.Authenticators.OAuth { -#if !SILVERLIGHT && !WINDOWS_PHONE +#if !SILVERLIGHT && !WINDOWS_PHONE && !WINDOWS_UWP [Serializable] #endif public class OAuthWebQueryInfo diff --git a/RestSharp/Authenticators/OAuth/WebParameter.cs b/RestSharp/Authenticators/OAuth/WebParameter.cs index a56c2ecb6..88689a979 100644 --- a/RestSharp/Authenticators/OAuth/WebParameter.cs +++ b/RestSharp/Authenticators/OAuth/WebParameter.cs @@ -2,7 +2,7 @@ namespace RestSharp.Authenticators.OAuth { -#if !SILVERLIGHT && !WINDOWS_PHONE +#if !SILVERLIGHT && !WINDOWS_PHONE && !WINDOWS_UWP [Serializable] #endif internal class WebParameter : WebPair diff --git a/RestSharp/Deserializers/JsonDeserializer.cs b/RestSharp/Deserializers/JsonDeserializer.cs index df3cd9917..0aad9bc27 100644 --- a/RestSharp/Deserializers/JsonDeserializer.cs +++ b/RestSharp/Deserializers/JsonDeserializer.cs @@ -4,12 +4,11 @@ using System.Globalization; using System.Linq; using System.Reflection; +using System.Xml; using RestSharp.Extensions; namespace RestSharp.Deserializers { - using System.Xml; - public class JsonDeserializer : IDeserializer { public string RootElement { get; set; } @@ -63,12 +62,12 @@ private object Map(object target, IDictionary data) foreach (PropertyInfo prop in props) { Type type = prop.PropertyType; - object[] attributes = prop.GetCustomAttributes(typeof(DeserializeAsAttribute), false); + DeserializeAsAttribute[] attributes = prop.GetAttributes(false).ToArray(); string name; if (attributes.Length > 0) { - DeserializeAsAttribute attribute = (DeserializeAsAttribute) attributes[0]; + DeserializeAsAttribute attribute = attributes[0]; name = attribute.Name; } else @@ -123,7 +122,7 @@ private IDictionary BuildDictionary(Type type, object parent) object item; - if (valueType.IsGenericType && valueType.GetGenericTypeDefinition() == typeof(List<>)) + if (valueType.IsGenericType() && valueType.GetGenericTypeDefinition() == typeof(List<>)) { item = this.BuildList(valueType, child.Value); } @@ -143,14 +142,14 @@ private IList BuildList(Type type, object parent) IList list = (IList) Activator.CreateInstance(type); Type listType = type.GetInterfaces() .First - (x => x.IsGenericType && x.GetGenericTypeDefinition() == typeof(IList<>)); + (x => x.IsGenericType() && x.GetGenericTypeDefinition() == typeof(IList<>)); Type itemType = listType.GetGenericArguments()[0]; if (parent is IList) { foreach (object element in (IList) parent) { - if (itemType.IsPrimitive) + if (itemType.IsPrimitive()) { object item = this.ConvertValue(itemType, element); @@ -193,7 +192,7 @@ private object ConvertValue(Type type, object value) string stringValue = Convert.ToString(value, this.Culture); // check for nullable and extract underlying type - if (type.IsGenericType && type.GetGenericTypeDefinition() == typeof(Nullable<>)) + if (type.IsGenericType() && type.GetGenericTypeDefinition() == typeof(Nullable<>)) { // Since the type is nullable and no value is provided return null if (string.IsNullOrEmpty(stringValue)) @@ -213,12 +212,12 @@ private object ConvertValue(Type type, object value) type = value.GetType(); } - if (type.IsPrimitive) + if (type.IsPrimitive()) { return value.ChangeType(type, this.Culture); } - if (type.IsEnum) + if (type.IsEnum()) { return type.FindEnumValue(stringValue, this.Culture); } @@ -290,7 +289,7 @@ private object ConvertValue(Type type, object value) // This should handle ISO 8601 durations return XmlConvert.ToTimeSpan(stringValue); } - else if (type.IsGenericType) + else if (type.IsGenericType()) { Type genericTypeDef = type.GetGenericTypeDefinition(); diff --git a/RestSharp/Deserializers/XmlDeserializer.cs b/RestSharp/Deserializers/XmlDeserializer.cs index c76acc530..ec073ba62 100644 --- a/RestSharp/Deserializers/XmlDeserializer.cs +++ b/RestSharp/Deserializers/XmlDeserializer.cs @@ -117,19 +117,19 @@ protected virtual object Map(object x, XElement root) foreach (PropertyInfo prop in props) { Type type = prop.PropertyType; - bool typeIsPublic = type.IsPublic || type.IsNestedPublic; + bool typeIsPublic = type.IsPublic() || type.IsNestedPublic(); if (!typeIsPublic || !prop.CanWrite) { continue; } - object[] attributes = prop.GetCustomAttributes(typeof(DeserializeAsAttribute), false); + DeserializeAsAttribute[] attributes = prop.GetAttributes(false).ToArray(); XName name; if (attributes.Length > 0) { - DeserializeAsAttribute attribute = (DeserializeAsAttribute) attributes[0]; + DeserializeAsAttribute attribute = attributes[0]; name = attribute.Name.AsNamespaced(this.Namespace); } @@ -143,7 +143,7 @@ protected virtual object Map(object x, XElement root) if (value == null) { // special case for inline list items - if (type.IsGenericType) + if (type.IsGenericType()) { Type genericType = type.GetGenericArguments()[0]; XElement first = this.GetElementByName(root, genericType.Name); @@ -162,7 +162,7 @@ protected virtual object Map(object x, XElement root) } // check for nullable and extract underlying type - if (type.IsGenericType && type.GetGenericTypeDefinition() == typeof(Nullable<>)) + if (type.IsGenericType() && type.GetGenericTypeDefinition() == typeof(Nullable<>)) { // if the value is empty, set the property to null... if (string.IsNullOrEmpty(value.ToString())) @@ -181,11 +181,11 @@ protected virtual object Map(object x, XElement root) prop.SetValue(x, XmlConvert.ToBoolean(toConvert), null); } - else if (type.IsPrimitive) + else if (type.IsPrimitive()) { prop.SetValue(x, value.ChangeType(type, this.Culture), null); } - else if (type.IsEnum) + else if (type.IsEnum()) { object converted = type.FindEnumValue(value.ToString(), this.Culture); @@ -260,7 +260,7 @@ protected virtual object Map(object x, XElement root) prop.SetValue(x, timeSpan, null); } - else if (type.IsGenericType) + else if (type.IsGenericType()) { Type t = type.GetGenericArguments()[0]; IList list = (IList) Activator.CreateInstance(type); @@ -320,7 +320,7 @@ protected virtual object Map(object x, XElement root) private static bool TryGetFromString(string inputString, out object result, Type type) { -#if !SILVERLIGHT && !WINDOWS_PHONE +#if !SILVERLIGHT && !WINDOWS_PHONE && !WINDOWS_UWP TypeConverter converter = TypeDescriptor.GetConverter(type); if (converter.CanConvertFrom(typeof(string))) @@ -350,9 +350,9 @@ private void PopulateListFromElements(Type t, IEnumerable elements, IL private object HandleListDerivative(XElement root, string propName, Type type) { - Type t = type.IsGenericType + Type t = type.IsGenericType() ? type.GetGenericArguments()[0] - : type.BaseType.GetGenericArguments()[0]; + : type.GetBaseType().GetGenericArguments()[0]; IList list = (IList) Activator.CreateInstance(type); IList elements = root.Descendants(t.Name.AsNamespaced(this.Namespace)) .ToList(); @@ -398,7 +398,7 @@ private object HandleListDerivative(XElement root, string propName, Type type) // get properties too, not just list items // only if this isn't a generic type - if (!type.IsGenericType) + if (!type.IsGenericType()) { this.Map(list, root.Element(propName.AsNamespaced(this.Namespace)) ?? root); // when using RootElement, the heirarchy is different @@ -415,7 +415,7 @@ protected virtual object CreateAndMap(Type t, XElement element) { item = element.Value; } - else if (t.IsPrimitive) + else if (t.IsPrimitive()) { item = element.Value.ChangeType(t, this.Culture); } diff --git a/RestSharp/Extensions/MonoHttp/HtmlEncoder.cs b/RestSharp/Extensions/MonoHttp/HtmlEncoder.cs index 5317a98ec..0f2a52bd5 100644 --- a/RestSharp/Extensions/MonoHttp/HtmlEncoder.cs +++ b/RestSharp/Extensions/MonoHttp/HtmlEncoder.cs @@ -441,9 +441,9 @@ internal static string HtmlDecode(string s) entity.Length = 0; haveTrailingDigits = false; } - else if (isHexValue && Uri.IsHexDigit(c)) + else if (isHexValue && IsHexDigit(c)) { - number = number * 16 + Uri.FromHex(c); + number = number * 16 + FromHex(c); haveTrailingDigits = true; } else if (char.IsDigit(c)) @@ -484,6 +484,18 @@ internal static string HtmlDecode(string s) return output.ToString(); } + private static bool IsHexDigit(char character) + { + return character >= '0' && character <= '9' + || character >= 'a' && character <= 'f' + || character >= 'A' && character <= 'F'; + } + + private static int FromHex(char digit) + { + return digit > 57 ? (digit <= 70 ? digit - 65 : digit - 97) + 10 : digit - 48; + } + internal static bool NotEncoded(char c) { return (c == '!' || c == '(' || c == ')' || c == '*' || c == '-' || c == '.' || c == '_'); diff --git a/RestSharp/Extensions/MonoHttp/HttpUtility.cs b/RestSharp/Extensions/MonoHttp/HttpUtility.cs index 73dfc7423..8d6cbb427 100644 --- a/RestSharp/Extensions/MonoHttp/HttpUtility.cs +++ b/RestSharp/Extensions/MonoHttp/HttpUtility.cs @@ -92,7 +92,11 @@ public static string UrlDecode(string str) private static char[] GetChars(MemoryStream b, Encoding e) { +#if WINDOWS_UWP + return e.GetChars(b.ToArray()); +#else return e.GetChars(b.GetBuffer(), 0, (int) b.Length); +#endif } private static void WriteCharBytes(IList buf, char ch, Encoding e) @@ -758,6 +762,6 @@ internal static void ParseQueryString(string query, Encoding encoding, NameValue } } - #endregion +#endregion } } diff --git a/RestSharp/Extensions/ReflectionExtensions.cs b/RestSharp/Extensions/ReflectionExtensions.cs index a872b2566..a63db1f75 100644 --- a/RestSharp/Extensions/ReflectionExtensions.cs +++ b/RestSharp/Extensions/ReflectionExtensions.cs @@ -17,12 +17,10 @@ #endregion using System; +using System.Collections.Generic; using System.Globalization; -using System.Reflection; - -#if FRAMEWORK using System.Linq; -#endif +using System.Reflection; namespace RestSharp.Extensions { @@ -39,7 +37,27 @@ public static class ReflectionExtensions /// public static T GetAttribute(this MemberInfo prop) where T : Attribute { +#if WINDOWS_UWP + return prop.GetCustomAttribute(); +#else return Attribute.GetCustomAttribute(prop, typeof(T)) as T; +#endif + } + + /// + /// Retrieve attributes from a member (property) + /// + /// Type of attributes to retrieve + /// Member to retrieve attributes from + /// true to inspect the ancestors of ; otherwise, false. + /// + public static IEnumerable GetAttributes(this MemberInfo prop, bool inherit = true) where T : Attribute + { +#if WINDOWS_UWP + return prop.GetCustomAttributes(inherit); +#else + return Attribute.GetCustomAttributes(prop, typeof(T), inherit).Cast(); +#endif } /// @@ -50,7 +68,28 @@ public static T GetAttribute(this MemberInfo prop) where T : Attribute /// public static T GetAttribute(this Type type) where T : Attribute { +#if WINDOWS_UWP + return type.GetTypeInfo().GetCustomAttribute(); +#else return Attribute.GetCustomAttribute(type, typeof(T)) as T; +#endif + } + + /// + /// Retrieve attributes from a type. + /// + /// Type of attributes to retrieve. + /// Type to retrieve attributes from. + /// true to inspect the ancestors of ; otherwise, false. + /// + public static IEnumerable GetAttributes(this Type type, bool inherit = true) where T : Attribute + { +#if WINDOWS_UWP + + return type.GetTypeInfo().GetCustomAttributes(inherit); +#else + return Attribute.GetCustomAttributes(type, typeof(T)).Cast(); +#endif } /// @@ -63,7 +102,7 @@ public static bool IsSubclassOfRawGeneric(this Type toCheck, Type generic) { while (toCheck != null && toCheck != typeof(object)) { - Type cur = toCheck.IsGenericType + Type cur = toCheck.IsGenericType() ? toCheck.GetGenericTypeDefinition() : toCheck; @@ -72,7 +111,7 @@ public static bool IsSubclassOfRawGeneric(this Type toCheck, Type generic) return true; } - toCheck = toCheck.BaseType; + toCheck = toCheck.GetBaseType(); } return false; @@ -126,6 +165,69 @@ public static object FindEnumValue(this Type type, string value, CultureInfo cul return ret; #else return Enum.Parse(type, value, true); +#endif + } + + public static Type GetBaseType(this Type t) + { +#if WINDOWS_UWP + return t.GetTypeInfo().BaseType; +#else + return t.BaseType; +#endif + } + + public static bool IsGenericType(this Type t) + { +#if WINDOWS_UWP + return t.GetTypeInfo().IsGenericType; +#else + return t.IsGenericType; +#endif + } + + public static bool IsPrimitive(this Type t) + { +#if WINDOWS_UWP + return t.GetTypeInfo().IsPrimitive; +#else + return t.IsPrimitive; +#endif + } + + public static bool IsEnum(this Type t) + { +#if WINDOWS_UWP + return t.GetTypeInfo().IsEnum; +#else + return t.IsEnum; +#endif + } + + public static bool IsPublic(this Type t) + { +#if WINDOWS_UWP + return t.GetTypeInfo().IsPublic; +#else + return t.IsPublic; +#endif + } + + public static bool IsNestedPublic(this Type t) + { +#if WINDOWS_UWP + return t.GetTypeInfo().IsNestedPublic; +#else + return t.IsNestedPublic; +#endif + } + + public static bool IsValueType(this Type t) + { +#if WINDOWS_UWP + return t.GetTypeInfo().IsValueType; +#else + return t.IsValueType; #endif } } diff --git a/RestSharp/Extensions/StringExtensions.cs b/RestSharp/Extensions/StringExtensions.cs index 48cbd8cbc..d08234f79 100644 --- a/RestSharp/Extensions/StringExtensions.cs +++ b/RestSharp/Extensions/StringExtensions.cs @@ -281,7 +281,7 @@ public static string ToPascalCase(this string text, bool removeUnderscores, Cult restOfWord = restOfWord.ToLower(culture); } - char firstChar = char.ToUpper(word[0], culture); + char firstChar = culture.TextInfo.ToUpper(word[0]); words[i] = string.Concat(firstChar, restOfWord); } @@ -293,6 +293,18 @@ public static string ToPascalCase(this string text, bool removeUnderscores, Cult return string.Concat(words[0].Substring(0, 1).ToUpper(culture), words[0].Substring(1)); } +#if WINDOWS_UWP + private static string ToLower(this string s, CultureInfo culture) + { + return culture.TextInfo.ToLower(s); + } + + private static string ToUpper(this string s, CultureInfo culture) + { + return culture.TextInfo.ToUpper(s); + } +#endif + /// /// Converts a string to camel case /// diff --git a/RestSharp/Http.Async.cs b/RestSharp/Http.Async.cs index c9577b318..485915aac 100644 --- a/RestSharp/Http.Async.cs +++ b/RestSharp/Http.Async.cs @@ -183,7 +183,7 @@ private void WriteRequestBodyAsync(HttpWebRequest webRequest, Action public partial class RestClient : IRestClient { +#if WINDOWS_UWP + private static readonly Version version = new AssemblyName(typeof(RestClient).GetTypeInfo().Assembly.FullName).Version; +#else // silverlight friendly way to get current version private static readonly Version version = new AssemblyName(Assembly.GetExecutingAssembly().FullName).Version; - +#endif public IHttpFactory HttpFactory = new SimpleFactory(); /// diff --git a/RestSharp/RestRequest.cs b/RestSharp/RestRequest.cs index f7cc6b2b7..823e9eb13 100644 --- a/RestSharp/RestRequest.cs +++ b/RestSharp/RestRequest.cs @@ -23,12 +23,18 @@ using System.Net; using System.Reflection; using System.Text.RegularExpressions; +using RestSharp.Extensions; using RestSharp.Serializers; #if FRAMEWORK using RestSharp.Extensions; #endif +#if WINDOWS_UWP +using Windows.Storage; +using Windows.Storage.Streams; +#endif + namespace RestSharp { /// @@ -134,6 +140,7 @@ public RestRequest(Uri resource, Method method) /// This request public IRestRequest AddFile(string name, string path, string contentType = null) { + FileInfo f = new FileInfo(path); long fileLength = f.Length; @@ -142,17 +149,29 @@ public IRestRequest AddFile(string name, string path, string contentType = null) Name = name, FileName = Path.GetFileName(path), ContentLength = fileLength, - Writer = s => - { - using (StreamReader file = new StreamReader(path)) - { - file.BaseStream.CopyTo(s); - } - }, + Writer = s => { this.WriteFile(path, s); }, ContentType = contentType }); } + private void WriteFile(string path, Stream stream) + { +#if WINDOWS_UWP + StorageFile storageFile = StorageFile.GetFileFromPathAsync(path).GetResults(); + IRandomAccessStream randomAccessStream = storageFile.OpenReadAsync().GetResults(); + + using (StreamReader file = new StreamReader(randomAccessStream.AsStreamForRead())) + { + file.BaseStream.CopyTo(stream); + } +#else + using (StreamReader file = new StreamReader(path)) + { + file.BaseStream.CopyTo(stream); + } +#endif + } + /// /// Adds the bytes to the Files collection with the specified file name /// @@ -345,7 +364,7 @@ public IRestRequest AddObject(object obj, params string[] includedProperties) if (((Array) val).Length > 0 && elementType != null && - (elementType.IsPrimitive || elementType.IsValueType || elementType == typeof(string))) + (elementType.IsPrimitive() || elementType.IsValueType() || elementType == typeof(string))) { // convert the array to an array of strings string[] values = (from object item in ((Array) val) diff --git a/RestSharp/Serializers/XmlSerializer.cs b/RestSharp/Serializers/XmlSerializer.cs index 46357cb9e..25101f634 100644 --- a/RestSharp/Serializers/XmlSerializer.cs +++ b/RestSharp/Serializers/XmlSerializer.cs @@ -161,7 +161,7 @@ where p.CanRead && p.CanWrite XName nsName = name.AsNamespaced(this.Namespace); XElement element = new XElement(nsName); - if (propType.IsPrimitive || propType.IsValueType || propType == typeof(string)) + if (propType.IsPrimitive() || propType.IsValueType() || propType == typeof(string)) { if (useAttribute) { @@ -213,7 +213,7 @@ private string GetSerializedValue(object obj) if (obj is bool) { - output = ((bool) obj).ToString(CultureInfo.InvariantCulture).ToLower(); + output = ((bool) obj).ToString().ToLower(); } if (IsNumeric(obj))