diff --git a/.editorconfig b/.editorconfig index 60948cd5..f7b2e72d 100644 --- a/.editorconfig +++ b/.editorconfig @@ -23,3 +23,7 @@ indent_size = 2 [*.paket.references] trim_trailing_whitespace = true indent_size = 2 + +[*.yml] +trim_trailing_whitespace = true +indent_size = 2 diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index ae686b97..53c7fde9 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -44,4 +44,4 @@ jobs: - name: Build run: ./build.cmd env: - CI: true \ No newline at end of file + CI: true diff --git a/GraphBLAS-sharp.sln b/GraphBLAS-sharp.sln index 3e39719b..0ae76615 100644 --- a/GraphBLAS-sharp.sln +++ b/GraphBLAS-sharp.sln @@ -11,6 +11,10 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{ACBEE43C EndProject Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "GraphBLAS-sharp.Tests", "tests\GraphBLAS-sharp.Tests\GraphBLAS-sharp.Tests.fsproj", "{1CA2E092-2320-451D-A4F0-9ED7C7C528CA}" EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "benchmarks", "benchmarks", "{DEF656DE-BCED-4C49-B5ED-950D4A29B78B}" +EndProject +Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "GraphBLAS-sharp.Benchmarks", "benchmarks\GraphBLAS-sharp.Benchmarks\GraphBLAS-sharp.Benchmarks.fsproj", "{4C6EB3D0-B6BF-4FF5-BC77-CC7CB3F307E6}" +EndProject Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "docsTool", "docsTool\docsTool.fsproj", "{8855EC73-F6A1-43D3-AFBC-04A3E09F9BD9}" EndProject Global @@ -62,9 +66,22 @@ Global {8855EC73-F6A1-43D3-AFBC-04A3E09F9BD9}.Release|x64.Build.0 = Release|Any CPU {8855EC73-F6A1-43D3-AFBC-04A3E09F9BD9}.Release|x86.ActiveCfg = Release|Any CPU {8855EC73-F6A1-43D3-AFBC-04A3E09F9BD9}.Release|x86.Build.0 = Release|Any CPU + {4C6EB3D0-B6BF-4FF5-BC77-CC7CB3F307E6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {4C6EB3D0-B6BF-4FF5-BC77-CC7CB3F307E6}.Debug|Any CPU.Build.0 = Debug|Any CPU + {4C6EB3D0-B6BF-4FF5-BC77-CC7CB3F307E6}.Debug|x64.ActiveCfg = Debug|Any CPU + {4C6EB3D0-B6BF-4FF5-BC77-CC7CB3F307E6}.Debug|x64.Build.0 = Debug|Any CPU + {4C6EB3D0-B6BF-4FF5-BC77-CC7CB3F307E6}.Debug|x86.ActiveCfg = Debug|Any CPU + {4C6EB3D0-B6BF-4FF5-BC77-CC7CB3F307E6}.Debug|x86.Build.0 = Debug|Any CPU + {4C6EB3D0-B6BF-4FF5-BC77-CC7CB3F307E6}.Release|Any CPU.ActiveCfg = Release|Any CPU + {4C6EB3D0-B6BF-4FF5-BC77-CC7CB3F307E6}.Release|Any CPU.Build.0 = Release|Any CPU + {4C6EB3D0-B6BF-4FF5-BC77-CC7CB3F307E6}.Release|x64.ActiveCfg = Release|Any CPU + {4C6EB3D0-B6BF-4FF5-BC77-CC7CB3F307E6}.Release|x64.Build.0 = Release|Any CPU + {4C6EB3D0-B6BF-4FF5-BC77-CC7CB3F307E6}.Release|x86.ActiveCfg = Release|Any CPU + {4C6EB3D0-B6BF-4FF5-BC77-CC7CB3F307E6}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(NestedProjects) = preSolution {5D30E174-2538-47AC-8443-318C8C5DC2C9} = {C397A34C-84F1-49E7-AEBC-2F9F2B196216} {1CA2E092-2320-451D-A4F0-9ED7C7C528CA} = {ACBEE43C-7A88-4FB1-9B06-DB064D22B29F} + {4C6EB3D0-B6BF-4FF5-BC77-CC7CB3F307E6} = {DEF656DE-BCED-4C49-B5ED-950D4A29B78B} EndGlobalSection EndGlobal diff --git a/benchmarks/Directory.Build.props b/benchmarks/Directory.Build.props new file mode 100644 index 00000000..7e1419f5 --- /dev/null +++ b/benchmarks/Directory.Build.props @@ -0,0 +1,7 @@ + + + + false + false + + diff --git a/benchmarks/GraphBLAS-sharp.Benchmarks/AssemblyInfo.fs b/benchmarks/GraphBLAS-sharp.Benchmarks/AssemblyInfo.fs new file mode 100644 index 00000000..f21160ea --- /dev/null +++ b/benchmarks/GraphBLAS-sharp.Benchmarks/AssemblyInfo.fs @@ -0,0 +1,23 @@ +// Auto-Generated by FAKE; do not edit +namespace System +open System.Reflection + +[] +[] +[] +[] +[] +[] +[] +[] +do () + +module internal AssemblyVersionInformation = + let [] AssemblyTitle = "GraphBLAS-sharp.Benchmarks" + let [] AssemblyProduct = "GraphBLAS-sharp" + let [] AssemblyVersion = "0.1.0" + let [] AssemblyMetadata_ReleaseDate = "2017-03-17T00:00:00.0000000" + let [] AssemblyFileVersion = "0.1.0" + let [] AssemblyInformationalVersion = "0.1.0" + let [] AssemblyMetadata_ReleaseChannel = "release" + let [] AssemblyMetadata_GitHash = "bb8964b54bee133e9af64d316dc2cfee16df7f72" diff --git a/benchmarks/GraphBLAS-sharp.Benchmarks/BenchmarkDotNet.Artifacts/results/GraphBLAS.FSharp.Benchmarks.BfsBenchmark-report-github.md b/benchmarks/GraphBLAS-sharp.Benchmarks/BenchmarkDotNet.Artifacts/results/GraphBLAS.FSharp.Benchmarks.BfsBenchmark-report-github.md new file mode 100644 index 00000000..9c0fbaf5 --- /dev/null +++ b/benchmarks/GraphBLAS-sharp.Benchmarks/BenchmarkDotNet.Artifacts/results/GraphBLAS.FSharp.Benchmarks.BfsBenchmark-report-github.md @@ -0,0 +1,17 @@ +``` ini + +BenchmarkDotNet=v0.12.1, OS=Windows 7 SP1 (6.1.7601.0) +Intel Celeron CPU N2830 2.16GHz, 1 CPU, 2 logical and 2 physical cores +Frequency=2115908 Hz, Resolution=472.6103 ns, Timer=TSC +.NET Core SDK=3.1.302 + [Host] : .NET Core 3.1.8 (CoreCLR 4.700.20.41105, CoreFX 4.700.20.41903), X64 RyuJIT DEBUG + +IterationCount=10 + +``` +| Method | PathToGraph | Mean | Error | TEPS | +|--------- |--------------------- |-----:|------:|-------------------------------:| +| LevelBFS | Datas(...)r.mtx [32] | NA | NA | ("227320", "227320", "814134") | + +Benchmarks with issues: + BfsBenchmark.LevelBFS: Job-WTZPYK(IterationCount=10) [PathToGraph=Datas(...)r.mtx [32]] diff --git a/benchmarks/GraphBLAS-sharp.Benchmarks/BenchmarkDotNet.Artifacts/results/GraphBLAS.FSharp.Benchmarks.BfsBenchmark-report.csv b/benchmarks/GraphBLAS-sharp.Benchmarks/BenchmarkDotNet.Artifacts/results/GraphBLAS.FSharp.Benchmarks.BfsBenchmark-report.csv new file mode 100644 index 00000000..2675c62a --- /dev/null +++ b/benchmarks/GraphBLAS-sharp.Benchmarks/BenchmarkDotNet.Artifacts/results/GraphBLAS.FSharp.Benchmarks.BfsBenchmark-report.csv @@ -0,0 +1,2 @@ +Method;Job;AnalyzeLaunchVariance;EvaluateOverhead;MaxAbsoluteError;MaxRelativeError;MinInvokeCount;MinIterationTime;OutlierMode;Affinity;EnvironmentVariables;Jit;Platform;PowerPlanMode;Runtime;AllowVeryLargeObjects;Concurrent;CpuGroups;Force;HeapAffinitizeMask;HeapCount;NoAffinitize;RetainVm;Server;Arguments;BuildConfiguration;Clock;EngineFactory;NuGetReferences;Toolchain;IsMutator;InvocationCount;IterationCount;IterationTime;LaunchCount;MaxIterationCount;MaxWarmupIterationCount;MinIterationCount;MinWarmupIterationCount;RunStrategy;UnrollFactor;WarmupCount;PathToGraph;Mean;Error;TEPS +LevelBFS;Job-WTZPYK;False;Default;Default;Default;Default;Default;Default;11;Empty;RyuJit;X64;8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c;.NET Core 3.1;False;True;False;True;Default;Default;False;False;False;Default;Default;Default;Default;Default;Default;Default;1;10;Default;Default;Default;Default;Default;Default;Default;16;Default;Datas(...)r.mtx [32];NA;NA;"(""227320"", ""227320"", ""814134"")" diff --git a/benchmarks/GraphBLAS-sharp.Benchmarks/BenchmarkDotNet.Artifacts/results/GraphBLAS.FSharp.Benchmarks.BfsBenchmark-report.html b/benchmarks/GraphBLAS-sharp.Benchmarks/BenchmarkDotNet.Artifacts/results/GraphBLAS.FSharp.Benchmarks.BfsBenchmark-report.html new file mode 100644 index 00000000..092251a3 --- /dev/null +++ b/benchmarks/GraphBLAS-sharp.Benchmarks/BenchmarkDotNet.Artifacts/results/GraphBLAS.FSharp.Benchmarks.BfsBenchmark-report.html @@ -0,0 +1,31 @@ + + + + +GraphBLAS.FSharp.Benchmarks.BfsBenchmark-20201206-170542 + + + + +

+BenchmarkDotNet=v0.12.1, OS=Windows 7 SP1 (6.1.7601.0)
+Intel Celeron CPU N2830 2.16GHz, 1 CPU, 2 logical and 2 physical cores
+Frequency=2115908 Hz, Resolution=472.6103 ns, Timer=TSC
+.NET Core SDK=3.1.302
+  [Host] : .NET Core 3.1.8 (CoreCLR 4.700.20.41105, CoreFX 4.700.20.41903), X64 RyuJIT DEBUG
+
+
IterationCount=10  
+
+ + + + + +
Method PathToGraphMeanError TEPS
LevelBFSDatas(...)r.mtx [32]NANA("227320", "227320", "814134")
+ + diff --git a/benchmarks/GraphBLAS-sharp.Benchmarks/BfsBenchmark.fs b/benchmarks/GraphBLAS-sharp.Benchmarks/BfsBenchmark.fs new file mode 100644 index 00000000..d7aa31c1 --- /dev/null +++ b/benchmarks/GraphBLAS-sharp.Benchmarks/BfsBenchmark.fs @@ -0,0 +1,36 @@ +namespace GraphBLAS.FSharp.Benchmarks + +open GraphBLAS.FSharp +open GraphBLAS.FSharp.Algorithms +open BenchmarkDotNet.Attributes +open BenchmarkDotNet.Configs +open BenchmarkDotNet.Columns +open System.IO +open System +open MatrixBackend + +[)>] +[] +type BFSBenchmark4CSRMatrix() = + let random = Random() + + let mutable matrix = Unchecked.defaultof> + let mutable source = 0 + + [] + member val PathToGraph = "" with get, set + + [] + member this.BuildMatrix() = + matrix <- Matrix.Build(this.PathToGraph, CSR) + source <- random.Next matrix.RowCount + + [] + member this.LevelBFS() = + levelBFS matrix source + + /// Sequence of paths to files where data for benchmarking will be taken from + static member GraphPaths = seq { + // Gets all mtx files from following directory + yield! Directory.EnumerateFiles(Path.Join [|"Datasets"; "1"|], "*.mtx") + } diff --git a/benchmarks/GraphBLAS-sharp.Benchmarks/Config.fs b/benchmarks/GraphBLAS-sharp.Benchmarks/Config.fs new file mode 100644 index 00000000..5dc6b6a2 --- /dev/null +++ b/benchmarks/GraphBLAS-sharp.Benchmarks/Config.fs @@ -0,0 +1,43 @@ +namespace GraphBLAS.FSharp.Benchmarks + +open GraphBLAS.FSharp.Algorithms +open BenchmarkDotNet.Attributes +open BenchmarkDotNet.Configs +open BenchmarkDotNet.Columns +open BenchmarkDotNet.Reports +open BenchmarkDotNet.Running +open System.IO + +type TEPSColumn() = + interface IColumn with + member this.AlwaysShow: bool = true + member this.Category: ColumnCategory = ColumnCategory.Statistics + member this.ColumnName: string = "TEPS" + member this.GetValue(summary: Summary, benchmarkCase: BenchmarkCase): string = + let meanTime = summary.[benchmarkCase].ResultStatistics.Mean + let pathToGraph = benchmarkCase.Parameters.["PathToGraph"].ToString() + match Path.GetExtension pathToGraph with + | ".mtx" -> + use streamReader = new StreamReader(pathToGraph) + while streamReader.Peek() = int '%' do + streamReader.ReadLine() |> ignore + let matrixInfo = streamReader.ReadLine().Split(' ') + let (nrows, ncols, nnz) = float matrixInfo.[0], float matrixInfo.[1], float matrixInfo.[2] + let (vertices, edges) = if nrows = ncols then (nrows, nnz) else (ncols, nrows) + sprintf "%f" (edges / meanTime) + | another -> sprintf "%s files not supported" another + member this.GetValue(summary: Summary, benchmarkCase: BenchmarkCase, style: SummaryStyle): string = + (this :> IColumn).GetValue(summary, benchmarkCase) + member this.Id: string = "TEPSColumn" + member this.IsAvailable(summary: Summary): bool = true + member this.IsDefault(summary: Summary, benchmarkCase: BenchmarkCase): bool = false + member this.IsNumeric: bool = true + member this.Legend: string = "Traversed edges per second" + member this.PriorityInCategory: int = 0 + member this.UnitType: UnitType = UnitType.Dimensionless + +type Config() = + inherit ManualConfig() + + do + base.AddColumn [| TEPSColumn() :> IColumn |] |> ignore diff --git a/benchmarks/GraphBLAS-sharp.Benchmarks/Datasets/1/graphs.csv b/benchmarks/GraphBLAS-sharp.Benchmarks/Datasets/1/graphs.csv new file mode 100644 index 00000000..24c8cdd8 --- /dev/null +++ b/benchmarks/GraphBLAS-sharp.Benchmarks/Datasets/1/graphs.csv @@ -0,0 +1,2 @@ +GraphName,ArchiveType,Url +coAuthorsCiteseer,zip,http://nrvis.com/download/data/dimacs10/coAuthorsCiteseer.zip diff --git a/benchmarks/GraphBLAS-sharp.Benchmarks/Datasets/GAP/graphs.csv b/benchmarks/GraphBLAS-sharp.Benchmarks/Datasets/GAP/graphs.csv new file mode 100644 index 00000000..2e5f77db --- /dev/null +++ b/benchmarks/GraphBLAS-sharp.Benchmarks/Datasets/GAP/graphs.csv @@ -0,0 +1,4 @@ +GraphName,ArchiveType,Url +twitter,tar.gz,http://an.kaist.ac.kr/~haewoon/release/twitter_social_graph/twitter_rv.tar.gz +web,tar.gz,https://sparse.tamu.edu/MM/LAW/sk-2005.tar.gz +road,gz,http://www.dis.uniroma1.it/challenge9/data/USA-road-d/USA-road-d.USA.gr.gz diff --git a/benchmarks/GraphBLAS-sharp.Benchmarks/DownloadGraphs.fsx b/benchmarks/GraphBLAS-sharp.Benchmarks/DownloadGraphs.fsx new file mode 100644 index 00000000..1add7a0a --- /dev/null +++ b/benchmarks/GraphBLAS-sharp.Benchmarks/DownloadGraphs.fsx @@ -0,0 +1,34 @@ +#r "nuget: FSharp.Data" + +open System +open System.IO +open System.Net +open System.IO.Compression +open FSharp.Data +open FSharp.Data.CsvExtensions + +let downloadAndUnzip graphName archiveType url outputDir = + use client = new WebClient() + match archiveType with + | "zip" -> + let archive = Path.Combine [| outputDir; Path.ChangeExtension(graphName, ".zip") |] + client.AsyncDownloadFile(Uri url, archive) |> Async.RunSynchronously + ZipFile.ExtractToDirectory(archive, outputDir) + | _ -> () + +(* + Get all "graphs.csv" flies + -> load all rows from all csv files + -> download and unzip graph archives +*) +seq { + for dir in fsi.CommandLineArgs.[1..] do + yield! Directory.EnumerateFiles(dir, "graphs.csv", SearchOption.AllDirectories) +} +|> Seq.map Path.GetFullPath +|> Seq.collect (fun pathToCsv -> + CsvFile.Load(pathToCsv, separators=",", hasHeaders=true).Rows |> Seq.allPairs <| Seq.singleton pathToCsv) +|> Seq.iter (fun (row, pathToCsv) -> + let datasetRootPath = Path.GetDirectoryName pathToCsv + downloadAndUnzip row?GraphName row?ArchiveType row?Url datasetRootPath) + diff --git a/benchmarks/GraphBLAS-sharp.Benchmarks/GraphBLAS-sharp.Benchmarks.fsproj b/benchmarks/GraphBLAS-sharp.Benchmarks/GraphBLAS-sharp.Benchmarks.fsproj new file mode 100644 index 00000000..aa68b358 --- /dev/null +++ b/benchmarks/GraphBLAS-sharp.Benchmarks/GraphBLAS-sharp.Benchmarks.fsproj @@ -0,0 +1,22 @@ + + + Exe + netcoreapp3.1 + + + true + true + + + + GraphBLAS-sharp.fsproj + + + + + + + + + + diff --git a/benchmarks/GraphBLAS-sharp.Benchmarks/Program.fs b/benchmarks/GraphBLAS-sharp.Benchmarks/Program.fs new file mode 100644 index 00000000..fe2a6723 --- /dev/null +++ b/benchmarks/GraphBLAS-sharp.Benchmarks/Program.fs @@ -0,0 +1,11 @@ +open BenchmarkDotNet.Running +open GraphBLAS.FSharp.Benchmarks + +[] +let main argv = + let benchmarks = BenchmarkSwitcher [| + typeof + |] + + benchmarks.Run argv |> ignore + 0 diff --git a/benchmarks/GraphBLAS-sharp.Benchmarks/paket.references b/benchmarks/GraphBLAS-sharp.Benchmarks/paket.references new file mode 100644 index 00000000..43400599 --- /dev/null +++ b/benchmarks/GraphBLAS-sharp.Benchmarks/paket.references @@ -0,0 +1,3 @@ +FSharp.Core +Microsoft.NETFramework.ReferenceAssemblies +BenchmarkDotNet diff --git a/global.json b/global.json new file mode 100644 index 00000000..fcea49d6 --- /dev/null +++ b/global.json @@ -0,0 +1,6 @@ +{ + "sdk": { + "version": "3.1.302", + "rollForward": "latestFeature" + } +} diff --git a/paket.dependencies b/paket.dependencies index ab14a579..954dc961 100644 --- a/paket.dependencies +++ b/paket.dependencies @@ -6,6 +6,7 @@ nuget FSharp.Core 4.3.4 nuget Microsoft.SourceLink.GitHub prerelease copy_local: true nuget Microsoft.NETFramework.ReferenceAssemblies copy_local: true nuget Expecto 8.13.1 +nuget Expecto.FsCheck 8.13.1 nuget YoloDev.Expecto.TestSdk 0.8.0 nuget Microsoft.NET.Test.Sdk 15.7.2 nuget altcover ~> 6 @@ -18,6 +19,8 @@ nuget FSharp.Quotations.Evaluator 2.1.0 nuget FSharpx.Collections 2.1.3 nuget FSharpx.Text.StructuredFormat 2.3.0 nuget Brahma.FSharp.OpenCL.WorkflowBuilder +nuget BenchmarkDotNet +nuget MathNet.Numerics.FSharp // [ FAKE GROUP ] group Build @@ -57,4 +60,4 @@ group Docs group Analyzers source https://www.nuget.org/api/v2 source https://api.nuget.org/v3/index.json - nuget BinaryDefense.FSharp.Analyzers.Hashing 0.1.0 \ No newline at end of file + nuget BinaryDefense.FSharp.Analyzers.Hashing 0.1.0 diff --git a/paket.lock b/paket.lock index 7543332c..43e9500e 100644 --- a/paket.lock +++ b/paket.lock @@ -68,10 +68,15 @@ NUGET Expecto (8.13.1) FSharp.Core (>= 4.3.4) - restriction: || (>= net461) (>= netstandard2.0) Mono.Cecil (>= 0.11) - restriction: || (>= net461) (>= netstandard2.0) + Expecto.FsCheck (8.13.1) + Expecto (>= 8.13.1) - restriction: || (>= net461) (>= netstandard2.0) + FsCheck (>= 2.14) - restriction: || (>= net461) (>= netstandard2.0) ExtraConstraints.Fody (1.14) Fody (>= 6.0) - restriction: || (>= net452) (>= netstandard1.4) NETStandard.Library (>= 1.6.1) - restriction: && (< net452) (>= netstandard1.4) Fody (6.3) - restriction: || (>= net452) (>= netstandard1.4) + FsCheck (2.14.3) - restriction: || (>= net461) (>= netstandard2.0) + FSharp.Core (>= 4.2.3) - restriction: || (>= net452) (>= netstandard1.6) FSharp.Core (4.3.4) System.Collections (>= 4.0.11) - restriction: && (< net45) (>= netstandard1.6) (< netstandard2.0) System.Console (>= 4.0) - restriction: && (< net45) (>= netstandard1.6) (< netstandard2.0) @@ -105,6 +110,24 @@ NUGET SourceLink.Create.CommandLine (>= 2.8) - restriction: >= netstandard2.0 SourceLink.Embed.PaketFiles (>= 2.8) - restriction: >= netstandard2.0 Iced (1.9) - restriction: >= netstandard2.0 + MathNet.Numerics (4.12) - restriction: || (>= net45) (>= netstandard1.6) + NETStandard.Library (>= 2.0.3) - restriction: && (< net40) (>= netstandard1.3) (< netstandard2.0) + System.Runtime (>= 4.3) - restriction: && (< net40) (>= netstandard1.3) (< netstandard2.0) + System.Runtime.Numerics (>= 4.3) - restriction: && (< net40) (>= netstandard1.3) (< netstandard2.0) + System.Runtime.Serialization.Formatters (>= 4.3) - restriction: && (< net40) (>= netstandard1.3) (< netstandard2.0) + System.Runtime.Serialization.Primitives (>= 4.3) - restriction: && (< net40) (>= netstandard1.3) (< netstandard2.0) + System.Runtime.Serialization.Xml (>= 4.3) - restriction: && (< net40) (>= netstandard1.3) (< netstandard2.0) + System.Security.Cryptography.Algorithms (>= 4.3.1) - restriction: && (< net40) (>= netstandard1.3) (< netstandard2.0) + MathNet.Numerics.FSharp (4.12) + FSharp.Core (>= 4.3.3) - restriction: || (>= net45) (>= netstandard1.6) + MathNet.Numerics (>= 4.12) - restriction: || (>= net45) (>= netstandard1.6) + NETStandard.Library (>= 2.0.3) - restriction: && (< net45) (>= netstandard1.6) (< netstandard2.0) + System.Runtime (>= 4.3) - restriction: && (< net45) (>= netstandard1.6) (< netstandard2.0) + System.Runtime.Numerics (>= 4.3) - restriction: && (< net45) (>= netstandard1.6) (< netstandard2.0) + System.Runtime.Serialization.Formatters (>= 4.3) - restriction: && (< net45) (>= netstandard1.6) (< netstandard2.0) + System.Runtime.Serialization.Primitives (>= 4.3) - restriction: && (< net45) (>= netstandard1.6) (< netstandard2.0) + System.Runtime.Serialization.Xml (>= 4.3) - restriction: && (< net45) (>= netstandard1.6) (< netstandard2.0) + System.Security.Cryptography.Algorithms (>= 4.3.1) - restriction: && (< net45) (>= netstandard1.6) (< netstandard2.0) Microsoft.Bcl.AsyncInterfaces (5.0) - restriction: >= netstandard2.0 System.Threading.Tasks.Extensions (>= 4.5.4) - restriction: || (>= net461) (&& (< netcoreapp2.1) (>= netstandard2.0) (< netstandard2.1)) Microsoft.Build (16.3) - restriction: >= netcoreapp1.0 @@ -127,7 +150,7 @@ NUGET Microsoft.Win32.Registry (>= 4.3) - restriction: && (< net472) (>= netstandard2.0) System.Collections.Immutable (>= 1.5) - restriction: >= netstandard2.0 System.Text.Encoding.CodePages (>= 4.0.1) - restriction: && (< net472) (>= netstandard2.0) - Microsoft.CodeAnalysis.Analyzers (3.3.2) - restriction: >= netstandard2.0 + Microsoft.CodeAnalysis.Analyzers (3.3.1) - restriction: >= netstandard2.0 Microsoft.CodeAnalysis.Common (3.8) - restriction: >= netstandard2.0 Microsoft.CodeAnalysis.Analyzers (>= 3.0) - restriction: >= netstandard2.0 System.Collections.Immutable (>= 5.0) - restriction: >= netstandard2.0 @@ -170,8 +193,8 @@ NUGET Microsoft.NETCore.DotNetHostResolver (>= 3.0.1) Microsoft.NETCore.DotNetHostResolver (3.0.1) - restriction: >= netcoreapp2.2 Microsoft.NETCore.DotNetAppHost (>= 3.0.1) - Microsoft.NETCore.Platforms (5.0) - restriction: || (&& (>= monoandroid) (>= netcoreapp2.1)) (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (>= monotouch) (>= netcoreapp2.1)) (&& (>= net45) (< net452) (< netstandard1.3) (>= netstandard1.4)) (&& (< net45) (< netstandard1.2) (>= netstandard1.4) (< win8)) (&& (< net45) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (< net45) (>= netstandard2.0)) (&& (< net452) (>= net461)) (&& (>= net461) (>= netcoreapp2.1)) (>= netcoreapp2.0) (&& (>= netcoreapp2.1) (>= xamarinios)) (&& (>= netcoreapp2.1) (>= xamarinmac)) (&& (>= netcoreapp2.1) (>= xamarintvos)) (&& (>= netcoreapp2.1) (>= xamarinwatchos)) (&& (>= netcoreapp5.0) (< netstandard1.2)) (&& (>= netcoreapp5.0) (< netstandard1.3)) (&& (>= netcoreapp5.0) (< netstandard1.5)) (&& (>= netcoreapp5.0) (< netstandard1.6)) (&& (>= netcoreapp5.0) (< netstandard2.0)) (&& (< netstandard1.0) (>= netstandard1.4) (< portable-net45+win8)) (&& (< netstandard1.0) (>= netstandard1.4) (>= win8)) (&& (< netstandard1.0) (>= netstandard1.4) (< win8)) (&& (< netstandard1.3) (>= netstandard1.4) (< win8) (>= wpa81)) (&& (>= netstandard1.4) (< portable-net45+win8+wpa81)) (&& (>= netstandard1.4) (>= wp8)) (&& (< netstandard1.5) (>= uap10.0)) (>= uap10.1) - Microsoft.NETCore.Targets (3.0) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.4) (< win8)) (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.5) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< netstandard1.1) (>= netstandard1.4) (< win8)) (&& (< monoandroid) (< netstandard1.1) (>= netstandard1.5) (< win8)) (&& (< monoandroid) (< netstandard1.1) (>= netstandard1.6) (< win8)) (>= netcoreapp2.1) (&& (>= netcoreapp5.0) (< netstandard1.2)) (&& (>= netcoreapp5.0) (< netstandard1.3)) (&& (>= netcoreapp5.0) (< netstandard1.5)) (&& (>= netcoreapp5.0) (< netstandard1.6)) (&& (>= netcoreapp5.0) (< netstandard2.0)) (&& (>= netcoreapp5.0) (< portable-net45+win8+wpa81)) (&& (< netstandard1.1) (>= uap10.0) (< win8)) (&& (< netstandard1.3) (>= uap10.0) (< win8) (< wpa81)) (&& (>= netstandard1.4) (< portable-net45+win8+wpa81)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) (&& (< netstandard1.5) (>= uap10.0) (< win8) (< wpa81)) + Microsoft.NETCore.Platforms (5.0) - restriction: || (&& (>= monoandroid) (>= netcoreapp2.1)) (&& (>= monotouch) (>= netcoreapp2.1)) (&& (< net45) (>= net46) (< netstandard1.4) (>= netstandard1.6)) (&& (< net45) (>= net461) (>= netstandard1.6) (< netstandard2.0)) (&& (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (>= net461) (>= netcoreapp2.1)) (>= netcoreapp2.0) (&& (>= netcoreapp2.1) (>= xamarinios)) (&& (>= netcoreapp2.1) (>= xamarinmac)) (&& (>= netcoreapp2.1) (>= xamarintvos)) (&& (>= netcoreapp2.1) (>= xamarinwatchos)) (&& (>= netcoreapp5.0) (< netstandard2.0)) (&& (< netstandard1.0) (>= netstandard1.6) (< portable-net45+win8)) (&& (< netstandard1.0) (>= netstandard1.6) (>= win8)) (&& (< netstandard1.0) (>= netstandard1.6) (< win8)) (&& (< netstandard1.3) (>= netstandard1.6) (< win8) (>= wpa81)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) (&& (>= netstandard1.6) (< portable-net45+win8+wpa81)) (&& (>= netstandard1.6) (>= uap10.1)) (&& (>= netstandard1.6) (>= wp8)) + Microsoft.NETCore.Targets (3.0) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (>= netcoreapp2.1) (&& (>= netcoreapp5.0) (< netstandard2.0)) Microsoft.NETFramework.ReferenceAssemblies (1.0) - copy_local: true Microsoft.NETFramework.ReferenceAssemblies.net20 (>= 1.0) - restriction: && (>= net20) (< net40) Microsoft.NETFramework.ReferenceAssemblies.net40 (>= 1.0) - restriction: && (>= net40) (< net45) @@ -206,7 +229,7 @@ NUGET Microsoft.TestPlatform.TestHost (16.4) - restriction: >= netcoreapp1.0 Microsoft.TestPlatform.ObjectModel (>= 16.4) - restriction: || (>= netcoreapp2.1) (>= uap10.0) Newtonsoft.Json (>= 9.0.1) - restriction: || (>= netcoreapp2.1) (>= uap10.0) - Microsoft.Win32.Primitives (4.3) - restriction: || (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.4) (< win8)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) (&& (< netstandard1.5) (>= uap10.0) (< win8) (< wpa81)) + Microsoft.Win32.Primitives (4.3) - restriction: || (&& (< net45) (>= net46) (< netstandard1.4) (>= netstandard1.6)) (&& (< net45) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) Microsoft.NETCore.Platforms (>= 1.1) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) Microsoft.NETCore.Targets (>= 1.1) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) System.Runtime (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) @@ -218,7 +241,7 @@ NUGET Microsoft.Win32.SystemEvents (5.0) - restriction: >= netcoreapp3.0 Microsoft.NETCore.Platforms (>= 5.0) - restriction: >= netcoreapp2.0 Mono.Cecil (0.11.1) - restriction: || (>= net461) (>= netstandard2.0) - NETStandard.Library (2.0.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (&& (< net452) (>= netstandard1.4)) (&& (>= net46) (< net461) (< netstandard2.0)) (>= netcoreapp1.0) (&& (< netstandard1.3) (>= uap10.0)) (&& (< netstandard2.0) (>= uap10.0)) + NETStandard.Library (2.0.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0)) (&& (< net452) (>= netstandard1.4)) (&& (>= net46) (< net461) (< netstandard2.0)) (>= netcoreapp1.0) (&& (< netstandard1.3) (>= uap10.0)) (&& (< netstandard2.0) (>= uap10.0)) Microsoft.NETCore.Platforms (>= 1.1) - restriction: || (&& (>= net45) (< netstandard1.3)) (&& (< net45) (>= netstandard1.1) (< netstandard1.2) (< win8)) (&& (< net45) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (< net45) (>= netstandard2.0)) (&& (>= net46) (< netstandard1.4)) (>= net461) (>= netcoreapp2.0) (&& (>= netstandard1.0) (< portable-net45+win8+wpa81)) (&& (< netstandard1.0) (>= portable-net45+win8) (< win8)) (&& (< netstandard1.0) (< portable-net45+win8) (>= portable-net45+win8+wpa81)) (&& (< netstandard1.0) (>= portable-net45+win8+wp8+wpa81) (< portable-net45+win8+wpa81)) (&& (< netstandard1.0) (>= win8)) (&& (< netstandard1.3) (< win8) (>= wpa81)) (&& (< netstandard1.5) (>= uap10.0)) (>= uap10.1) (>= wp8) Microsoft.Win32.Primitives (>= 4.3) - restriction: || (&& (< net45) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (>= net46) (< netstandard1.4)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) System.AppContext (>= 4.3) - restriction: || (&& (< net45) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (>= net46) (< netstandard1.4)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) @@ -273,24 +296,24 @@ NUGET NuGet.Frameworks (5.3.1) - restriction: || (&& (>= net451) (>= netcoreapp1.0) (>= uap10.0)) (&& (>= netcoreapp1.0) (>= netstandard2.0) (>= uap10.0)) (>= netcoreapp2.1) Perfolizer (0.2.1) - restriction: >= netstandard2.0 System.Memory (>= 4.5.3) - restriction: >= netstandard2.0 - runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) - runtime.debian.9-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) - runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) - runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) - runtime.fedora.27-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) - runtime.fedora.28-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) - runtime.native.System (4.3.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.4) (< win8)) (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (>= netcoreapp2.1) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) (&& (< netstandard1.5) (>= uap10.0) (< win8) (< wpa81)) + runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) - restriction: && (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< netstandard2.0) (< xamarintvos) (< xamarinwatchos) + runtime.debian.9-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) - restriction: && (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< netstandard2.0) (< xamarintvos) (< xamarinwatchos) + runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) - restriction: && (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< netstandard2.0) (< xamarintvos) (< xamarinwatchos) + runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) - restriction: && (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< netstandard2.0) (< xamarintvos) (< xamarinwatchos) + runtime.fedora.27-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) - restriction: && (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< netstandard2.0) (< xamarintvos) (< xamarinwatchos) + runtime.fedora.28-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) - restriction: && (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< netstandard2.0) (< xamarintvos) (< xamarinwatchos) + runtime.native.System (4.3.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= net46) (< netstandard1.4) (>= netstandard1.6)) (>= netcoreapp2.1) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) Microsoft.NETCore.Platforms (>= 1.1.1) Microsoft.NETCore.Targets (>= 1.1.3) - runtime.native.System.IO.Compression (4.3.2) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.4) (< win8)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (>= netcoreapp5.0) (< netstandard1.2)) (&& (>= netcoreapp5.0) (< netstandard1.3)) (&& (>= netcoreapp5.0) (< netstandard1.5)) (&& (>= netcoreapp5.0) (< netstandard1.6)) (&& (>= netcoreapp5.0) (< netstandard2.0)) (&& (< netstandard1.5) (>= uap10.0) (< win8) (< wpa81)) + runtime.native.System.IO.Compression (4.3.2) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= net46) (< netstandard1.4) (>= netstandard1.6)) (&& (>= netcoreapp5.0) (< netstandard1.2)) (&& (>= netcoreapp5.0) (< netstandard1.3)) (&& (>= netcoreapp5.0) (< netstandard1.4)) (&& (>= netcoreapp5.0) (< netstandard1.5)) (&& (>= netcoreapp5.0) (< netstandard2.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0) (< win8) (< wpa81)) Microsoft.NETCore.Platforms (>= 1.1.1) Microsoft.NETCore.Targets (>= 1.1.3) - runtime.native.System.Net.Http (4.3.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) + runtime.native.System.Net.Http (4.3.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= net46) (< netstandard1.4) (>= netstandard1.6)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) Microsoft.NETCore.Platforms (>= 1.1.1) Microsoft.NETCore.Targets (>= 1.1.3) - runtime.native.System.Security.Cryptography.Apple (4.3.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) + runtime.native.System.Security.Cryptography.Apple (4.3.1) - restriction: && (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< netstandard2.0) (< xamarintvos) (< xamarinwatchos) runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple (>= 4.3.1) - runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) + runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) - restriction: && (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< netstandard2.0) (< xamarintvos) (< xamarinwatchos) runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.3) runtime.debian.9-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.3) runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.3) @@ -306,27 +329,27 @@ NUGET runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.3) runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.3) runtime.ubuntu.18.04-x64.runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.3) - runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) - runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) - runtime.opensuse.42.3-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) - runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple (4.3.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) - runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) - runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) - runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) - runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) - runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) - runtime.ubuntu.18.04-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) + runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) - restriction: && (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< netstandard2.0) (< xamarintvos) (< xamarinwatchos) + runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) - restriction: && (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< netstandard2.0) (< xamarintvos) (< xamarinwatchos) + runtime.opensuse.42.3-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) - restriction: && (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< netstandard2.0) (< xamarintvos) (< xamarinwatchos) + runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple (4.3.1) - restriction: && (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< netstandard2.0) (< xamarintvos) (< xamarinwatchos) + runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) - restriction: && (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< netstandard2.0) (< xamarintvos) (< xamarinwatchos) + runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) - restriction: && (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< netstandard2.0) (< xamarintvos) (< xamarinwatchos) + runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) - restriction: && (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< netstandard2.0) (< xamarintvos) (< xamarinwatchos) + runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) - restriction: && (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< netstandard2.0) (< xamarintvos) (< xamarinwatchos) + runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) - restriction: && (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< netstandard2.0) (< xamarintvos) (< xamarinwatchos) + runtime.ubuntu.18.04-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) - restriction: && (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< netstandard2.0) (< xamarintvos) (< xamarinwatchos) SourceLink.Create.CommandLine (2.8.3) - restriction: >= netstandard2.0 SourceLink.Embed.PaketFiles (2.8.3) - restriction: >= netstandard2.0 - System.AppContext (4.3) - restriction: || (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) + System.AppContext (4.3) - restriction: || (&& (< net45) (>= net46) (< netstandard1.4) (>= netstandard1.6)) (&& (< net45) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) System.Runtime (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net46) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net46) (>= netstandard1.3) (< netstandard1.6)) (>= netcoreapp5.0) - System.Buffers (4.5.1) - restriction: || (&& (>= monoandroid) (>= uap10.1)) (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.4) (< win8)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< netstandard1.1) (>= netstandard1.3) (< win8)) (&& (>= monotouch) (>= uap10.1)) (&& (>= net45) (>= uap10.1)) (>= net46) (&& (>= netcoreapp5.0) (< netstandard1.2)) (&& (>= netcoreapp5.0) (< netstandard1.3)) (&& (>= netcoreapp5.0) (< netstandard1.5)) (&& (>= netcoreapp5.0) (< netstandard1.6)) (&& (< netstandard1.1) (>= uap10.1)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) (&& (< netstandard1.5) (>= uap10.0) (< win8) (< wpa81)) (>= netstandard2.0) (&& (>= uap10.1) (< win8) (< wpa81)) (&& (>= uap10.1) (>= xamarinios)) (&& (>= uap10.1) (>= xamarinmac)) (&& (>= uap10.1) (>= xamarintvos)) (&& (>= uap10.1) (>= xamarinwatchos)) + System.Buffers (4.5.1) - restriction: || (&& (>= monoandroid) (>= uap10.1)) (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< netstandard1.1) (>= netstandard1.3) (< win8)) (&& (>= monotouch) (>= uap10.1)) (&& (>= net45) (>= uap10.1)) (>= net46) (&& (>= netcoreapp5.0) (< netstandard1.2)) (&& (>= netcoreapp5.0) (< netstandard1.3)) (&& (>= netcoreapp5.0) (< netstandard1.4)) (&& (>= netcoreapp5.0) (< netstandard1.5)) (&& (< netstandard1.1) (>= uap10.1)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0) (< win8) (< wpa81)) (>= netstandard2.0) (&& (>= uap10.1) (< win8) (< wpa81)) (&& (>= uap10.1) (>= xamarinios)) (&& (>= uap10.1) (>= xamarinmac)) (&& (>= uap10.1) (>= xamarintvos)) (&& (>= uap10.1) (>= xamarinwatchos)) System.CodeDom (4.7) - System.Collections (4.3) - restriction: || (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.2) (>= netstandard1.4) (< win8)) (&& (< net45) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0)) (>= netcoreapp2.1) (&& (>= netcoreapp5.0) (< netstandard1.2)) (&& (>= netcoreapp5.0) (< netstandard1.3)) (&& (>= netcoreapp5.0) (< netstandard1.5)) (&& (>= netcoreapp5.0) (< netstandard1.6)) (&& (>= netcoreapp5.0) (< netstandard2.0)) (&& (>= netstandard1.4) (< portable-net45+win8+wpa81)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) (&& (< netstandard1.5) (>= uap10.0) (< win8) (< wpa81)) (&& (< netstandard2.0) (>= uap10.0)) + System.Collections (4.3) - restriction: || (&& (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0)) (>= netcoreapp2.1) (&& (>= netcoreapp5.0) (< netstandard2.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) (&& (>= netstandard1.6) (< portable-net45+win8+wpa81)) (&& (< netstandard2.0) (>= uap10.0)) Microsoft.NETCore.Platforms (>= 1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (>= netcoreapp5.0) Microsoft.NETCore.Targets (>= 1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (>= netcoreapp5.0) System.Runtime (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (>= netcoreapp5.0) - System.Collections.Concurrent (4.3) - restriction: || (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.5) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.2) (>= netstandard1.4) (< win8)) (&& (< net45) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (>= netcoreapp5.0) (< netstandard1.2)) (&& (>= netcoreapp5.0) (< netstandard1.3)) (&& (>= netcoreapp5.0) (< netstandard1.5)) (&& (>= netcoreapp5.0) (< netstandard1.6)) (&& (>= netcoreapp5.0) (< netstandard2.0)) (&& (< netstandard1.3) (>= uap10.0) (< win8) (< wpa81)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) (&& (< netstandard1.5) (>= uap10.0) (< win8) (< wpa81)) + System.Collections.Concurrent (4.3) - restriction: || (&& (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (>= netcoreapp5.0) (< netstandard2.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) System.Collections (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) System.Diagnostics.Debug (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) System.Diagnostics.Tracing (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) @@ -346,17 +369,17 @@ NUGET System.Configuration.ConfigurationManager (4.6) - restriction: && (>= netcoreapp1.0) (>= netstandard2.0) System.Security.Cryptography.ProtectedData (>= 4.6) - restriction: && (< monoandroid) (< net461) (>= netstandard2.0) (< xamarinios) (< xamarinmac) System.Security.Permissions (>= 4.6) - restriction: || (>= monoandroid) (>= monotouch) (>= net461) (>= netstandard2.0) (>= xamarintvos) (>= xamarinwatchos) - System.Console (4.3.1) - restriction: || (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) + System.Console (4.3.1) - restriction: || (&& (< net45) (>= net46) (< netstandard1.4) (>= netstandard1.6)) (&& (< net45) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) Microsoft.NETCore.Platforms (>= 1.1) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) Microsoft.NETCore.Targets (>= 1.1.2) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) System.IO (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) System.Runtime (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) System.Text.Encoding (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Diagnostics.Debug (4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= net46) (< netstandard2.0)) (&& (< net45) (>= net461) (< netstandard2.0)) (&& (< net45) (< netstandard1.2) (>= netstandard1.4) (< win8)) (&& (< net45) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0)) (>= netcoreapp2.1) (&& (>= netcoreapp5.0) (< netstandard1.2)) (&& (>= netcoreapp5.0) (< netstandard1.3)) (&& (>= netcoreapp5.0) (< netstandard1.5)) (&& (>= netcoreapp5.0) (< netstandard1.6)) (&& (>= netcoreapp5.0) (< netstandard2.0)) (&& (>= netstandard1.4) (< portable-net45+win8+wpa81)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) (&& (< netstandard1.5) (>= uap10.0) (< win8) (< wpa81)) (&& (< netstandard2.0) (>= uap10.0)) (&& (>= uap10.1) (< win8) (< wpa81)) + System.Diagnostics.Debug (4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (< net45) (>= net46) (< netstandard2.0)) (&& (< net45) (>= net461) (< netstandard2.0)) (&& (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0)) (>= netcoreapp2.1) (&& (>= netcoreapp5.0) (< netstandard2.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) (&& (>= netstandard1.6) (< portable-net45+win8+wpa81)) (&& (< netstandard2.0) (>= uap10.0)) (&& (>= uap10.1) (< win8) (< wpa81)) Microsoft.NETCore.Platforms (>= 1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (>= netcoreapp5.0) Microsoft.NETCore.Targets (>= 1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (>= netcoreapp5.0) System.Runtime (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (>= netcoreapp5.0) - System.Diagnostics.DiagnosticSource (4.6) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.4) (< win8)) (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (>= netcoreapp5.0) (< netstandard1.2)) (&& (>= netcoreapp5.0) (< netstandard1.3)) (&& (>= netcoreapp5.0) (< netstandard1.5)) (&& (>= netcoreapp5.0) (< netstandard1.6)) (&& (>= netcoreapp5.0) (< netstandard2.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) (&& (< netstandard1.5) (>= uap10.0) (< win8) (< wpa81)) + System.Diagnostics.DiagnosticSource (4.6) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= net46) (< netstandard1.4) (>= netstandard1.6)) (&& (>= netcoreapp5.0) (< netstandard1.2)) (&& (>= netcoreapp5.0) (< netstandard1.3)) (&& (>= netcoreapp5.0) (< netstandard1.4)) (&& (>= netcoreapp5.0) (< netstandard1.5)) (&& (>= netcoreapp5.0) (< netstandard2.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) System.Collections (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.1) (< netstandard1.3) (< win8) (< wpa81)) System.Collections.Concurrent (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.1) (< netstandard1.3) (< win8) (< wpa81)) System.Diagnostics.Debug (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos) @@ -368,7 +391,7 @@ NUGET System.Runtime.Extensions (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos) System.Runtime.InteropServices (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.1) (< netstandard1.3) (< win8) (< wpa81)) System.Threading (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.1) (< netstandard1.3) (< win8) (< wpa81)) - System.Diagnostics.Tools (4.3) - restriction: || (&& (< net45) (< netstandard1.2) (>= netstandard1.4) (< win8)) (&& (< net45) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0)) (&& (>= netcoreapp5.0) (< netstandard1.2)) (&& (>= netcoreapp5.0) (< netstandard1.3)) (&& (>= netcoreapp5.0) (< netstandard1.5)) (&& (>= netcoreapp5.0) (< netstandard1.6)) (&& (>= netcoreapp5.0) (< netstandard2.0)) (&& (>= netcoreapp5.0) (< portable-net45+win8+wpa81)) (&& (>= netstandard1.4) (< portable-net45+win8+wpa81)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) (&& (< netstandard1.5) (>= uap10.0) (< win8) (< wpa81)) + System.Diagnostics.Tools (4.3) - restriction: || (&& (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0)) (&& (>= netcoreapp5.0) (< netstandard1.2)) (&& (>= netcoreapp5.0) (< netstandard1.3)) (&& (>= netcoreapp5.0) (< netstandard1.4)) (&& (>= netcoreapp5.0) (< netstandard1.5)) (&& (>= netcoreapp5.0) (< netstandard2.0)) (&& (>= netcoreapp5.0) (< portable-net45+win8+wpa81)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) (&& (>= netstandard1.6) (< portable-net45+win8+wpa81)) Microsoft.NETCore.Platforms (>= 1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.0) (< win8) (< wp8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) Microsoft.NETCore.Targets (>= 1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.0) (< win8) (< wp8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) System.Runtime (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.0) (< win8) (< wp8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) @@ -382,35 +405,35 @@ NUGET System.Runtime (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) System.Runtime.Extensions (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) System.Threading (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Diagnostics.Tracing (4.3) - restriction: || (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.2) (>= netstandard1.4) (< win8)) (&& (< net45) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (>= netcoreapp5.0) (< netstandard1.2)) (&& (>= netcoreapp5.0) (< netstandard1.3)) (&& (>= netcoreapp5.0) (< netstandard1.5)) (&& (>= netcoreapp5.0) (< netstandard1.6)) (&& (>= netcoreapp5.0) (< netstandard2.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) (&& (< netstandard1.5) (>= uap10.0) (< win8) (< wpa81)) + System.Diagnostics.Tracing (4.3) - restriction: || (&& (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (>= netcoreapp5.0) (< netstandard2.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) Microsoft.NETCore.Platforms (>= 1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.5) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.1) (< netstandard1.2) (< win8)) (&& (< monoandroid) (< net45) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (>= netcoreapp5.0) Microsoft.NETCore.Targets (>= 1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.5) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.1) (< netstandard1.2) (< win8)) (&& (< monoandroid) (< net45) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (>= netcoreapp5.0) System.Runtime (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.5) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.1) (< netstandard1.2) (< win8)) (&& (< monoandroid) (< net45) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (>= netcoreapp5.0) System.Drawing.Common (5.0) - restriction: >= netcoreapp3.0 Microsoft.Win32.SystemEvents (>= 5.0) - restriction: >= netcoreapp2.0 - System.Globalization (4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= net46) (< netstandard2.0)) (&& (< net45) (>= net461) (< netstandard2.0)) (&& (< net45) (< netstandard1.2) (>= netstandard1.4) (< win8)) (&& (< net45) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0)) (>= netcoreapp2.1) (&& (>= netcoreapp5.0) (< netstandard1.2)) (&& (>= netcoreapp5.0) (< netstandard1.3)) (&& (>= netcoreapp5.0) (< netstandard1.5)) (&& (>= netcoreapp5.0) (< netstandard1.6)) (&& (>= netcoreapp5.0) (< netstandard2.0)) (&& (>= netstandard1.4) (< portable-net45+win8+wpa81)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) (&& (< netstandard1.5) (>= uap10.0) (< win8) (< wpa81)) (&& (< netstandard2.0) (>= uap10.0)) (&& (>= uap10.1) (< win8) (< wpa81)) + System.Globalization (4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (< net45) (>= net46) (< netstandard2.0)) (&& (< net45) (>= net461) (< netstandard2.0)) (&& (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0)) (>= netcoreapp2.1) (&& (>= netcoreapp5.0) (< netstandard2.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) (&& (>= netstandard1.6) (< portable-net45+win8+wpa81)) (&& (< netstandard2.0) (>= uap10.0)) (&& (>= uap10.1) (< win8) (< wpa81)) Microsoft.NETCore.Platforms (>= 1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (>= netcoreapp5.0) Microsoft.NETCore.Targets (>= 1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (>= netcoreapp5.0) System.Runtime (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (>= netcoreapp5.0) - System.Globalization.Calendars (4.3) - restriction: || (&& (< monoandroid) (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (>= netcoreapp5.0) (< netstandard1.5)) (&& (>= netcoreapp5.0) (< netstandard1.6)) (&& (>= netcoreapp5.0) (< netstandard2.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) + System.Globalization.Calendars (4.3) - restriction: || (&& (< net45) (>= net46) (< netstandard1.4) (>= netstandard1.6)) (&& (< net45) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (>= netcoreapp5.0) (< netstandard1.4)) (&& (>= netcoreapp5.0) (< netstandard1.5)) (&& (>= netcoreapp5.0) (< netstandard2.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) Microsoft.NETCore.Platforms (>= 1.1) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) Microsoft.NETCore.Targets (>= 1.1) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) System.Globalization (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) System.Runtime (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Globalization.Extensions (4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) + System.Globalization.Extensions (4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= net46) (< netstandard1.4) (>= netstandard1.6)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) Microsoft.NETCore.Platforms (>= 1.1) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) System.Globalization (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) System.Resources.ResourceManager (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) System.Runtime (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) System.Runtime.Extensions (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) System.Runtime.InteropServices (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.IO (4.3) - restriction: || (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.5) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.2) (>= netstandard1.4) (< win8)) (&& (< net45) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0)) (&& (>= netcoreapp1.0) (< netcoreapp2.0)) (>= netcoreapp5.0) (&& (< netstandard1.3) (>= uap10.0) (< win8) (< wpa81)) (&& (>= netstandard1.4) (< portable-net45+win8+wpa81)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) (&& (< netstandard1.5) (>= uap10.0) (< win8) (< wpa81)) (&& (< netstandard2.0) (>= uap10.0)) + System.IO (4.3) - restriction: || (&& (< monoandroid) (< net45) (< netstandard1.4) (>= netstandard1.6)) (&& (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0)) (&& (>= netcoreapp1.0) (< netcoreapp2.0)) (>= netcoreapp5.0) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) (&& (>= netstandard1.6) (< portable-net45+win8+wpa81)) (&& (< netstandard2.0) (>= uap10.0)) Microsoft.NETCore.Platforms (>= 1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.5) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (>= netcoreapp5.0) Microsoft.NETCore.Targets (>= 1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.5) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (>= netcoreapp5.0) System.Runtime (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.5) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (>= netcoreapp5.0) System.Text.Encoding (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.5) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (>= netcoreapp5.0) System.Threading.Tasks (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.5) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (>= netcoreapp5.0) - System.IO.Compression (4.3) - restriction: || (&& (< net45) (< netstandard1.2) (>= netstandard1.4) (< win8)) (&& (< net45) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) (&& (< netstandard1.5) (>= uap10.0) (< win8) (< wpa81)) + System.IO.Compression (4.3) - restriction: || (&& (< net45) (>= net46) (< netstandard1.4) (>= netstandard1.6)) (&& (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) Microsoft.NETCore.Platforms (>= 1.1) - restriction: && (< monoandroid) (< monotouch) (< net45) (< netcoreapp5.0) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) runtime.native.System (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net45) (< netcoreapp5.0) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) runtime.native.System.IO.Compression (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) @@ -426,7 +449,7 @@ NUGET System.Text.Encoding (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.1) (< netstandard1.3) (< win8) (< wpa81)) (>= netcoreapp5.0) System.Threading (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) System.Threading.Tasks (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) - System.IO.Compression.ZipFile (4.3) - restriction: || (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) + System.IO.Compression.ZipFile (4.3) - restriction: || (&& (< net45) (>= net46) (< netstandard1.4) (>= netstandard1.6)) (&& (< net45) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) System.Buffers (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) System.IO (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) System.IO.Compression (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) @@ -436,7 +459,7 @@ NUGET System.Runtime (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) System.Runtime.Extensions (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) System.Text.Encoding (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.IO.FileSystem (4.3) - restriction: || (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.4) (< win8)) (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (>= netcoreapp5.0) (< netstandard1.2)) (&& (>= netcoreapp5.0) (< netstandard1.3)) (&& (>= netcoreapp5.0) (< netstandard1.5)) (&& (>= netcoreapp5.0) (< netstandard1.6)) (&& (>= netcoreapp5.0) (< netstandard2.0)) (&& (>= netcoreapp5.0) (< portable-net45+win8+wpa81)) (&& (>= netstandard1.4) (< portable-net45+win8+wpa81)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) (&& (< netstandard1.5) (>= uap10.0) (< win8) (< wpa81)) + System.IO.FileSystem (4.3) - restriction: || (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= net46) (< netstandard1.4) (>= netstandard1.6)) (&& (< net45) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) Microsoft.NETCore.Platforms (>= 1.1) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) Microsoft.NETCore.Targets (>= 1.1) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) System.IO (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) @@ -445,15 +468,15 @@ NUGET System.Runtime.Handles (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) System.Text.Encoding (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) System.Threading.Tasks (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.IO.FileSystem.Primitives (4.3) - restriction: || (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.4) (< win8)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (>= netcoreapp5.0) (< netstandard1.2)) (&& (>= netcoreapp5.0) (< netstandard1.3)) (&& (>= netcoreapp5.0) (< netstandard1.5)) (&& (>= netcoreapp5.0) (< netstandard1.6)) (&& (>= netcoreapp5.0) (< netstandard2.0)) (&& (>= netcoreapp5.0) (< portable-net45+win8+wpa81)) (&& (>= netstandard1.4) (< portable-net45+win8+wpa81)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) (&& (< netstandard1.5) (>= uap10.0) (< win8) (< wpa81)) + System.IO.FileSystem.Primitives (4.3) - restriction: || (&& (< net45) (>= net46) (< netstandard1.4) (>= netstandard1.6)) (&& (< net45) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) System.Runtime (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Linq (4.3) - restriction: || (&& (< net45) (< netstandard1.2) (>= netstandard1.4) (< win8)) (&& (< net45) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0)) (&& (>= netcoreapp5.0) (< netstandard2.0)) (&& (>= netstandard1.4) (< portable-net45+win8+wpa81)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) + System.Linq (4.3) - restriction: || (&& (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0)) (&& (>= netcoreapp5.0) (< netstandard2.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) (&& (>= netstandard1.6) (< portable-net45+win8+wpa81)) System.Collections (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.6) (< win8) (< wp8) (< wpa81)) (>= netcoreapp5.0) System.Diagnostics.Debug (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) System.Resources.ResourceManager (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) System.Runtime (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.6) (< win8) (< wp8) (< wpa81)) (>= netcoreapp5.0) System.Runtime.Extensions (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) - System.Linq.Expressions (4.3) - restriction: || (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.2) (>= netstandard1.4) (< win8)) (&& (< net45) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0)) (&& (>= netcoreapp5.0) (< netstandard2.0)) (&& (>= netstandard1.4) (< portable-net45+win8+wpa81)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) + System.Linq.Expressions (4.3) - restriction: || (&& (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0)) (&& (>= netcoreapp5.0) (< netstandard2.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) (&& (>= netstandard1.6) (< portable-net45+win8+wpa81)) System.Collections (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) System.Diagnostics.Debug (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) System.Globalization (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) @@ -484,7 +507,7 @@ NUGET Microsoft.NETCore.Platforms (>= 3.0) - restriction: >= netcoreapp2.0 Microsoft.Win32.Registry (>= 4.6) - restriction: >= netcoreapp2.0 System.CodeDom (>= 4.6) - restriction: || (&& (< net45) (>= netstandard2.0)) (>= netcoreapp2.0) - System.Memory (4.5.4) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.4) (< win8)) (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (>= net45) (< netstandard1.3) (>= uap10.0)) (>= net46) (&& (>= net472) (>= netcoreapp1.0)) (&& (>= netcoreapp2.0) (< netcoreapp2.1)) (&& (>= netcoreapp5.0) (< netstandard1.2)) (&& (>= netcoreapp5.0) (< netstandard1.3)) (&& (>= netcoreapp5.0) (< netstandard1.5)) (&& (>= netcoreapp5.0) (< netstandard1.6)) (&& (< netstandard1.5) (>= uap10.0) (< win8) (< wpa81)) (>= netstandard2.0) (>= uap10.1) + System.Memory (4.5.4) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (>= net45) (< netstandard1.3) (>= netstandard1.6) (>= uap10.0)) (>= net46) (&& (>= net472) (>= netcoreapp1.0)) (&& (>= netcoreapp2.0) (< netcoreapp2.1)) (&& (>= netcoreapp5.0) (< netstandard1.2)) (&& (>= netcoreapp5.0) (< netstandard1.3)) (&& (>= netcoreapp5.0) (< netstandard1.4)) (&& (>= netcoreapp5.0) (< netstandard1.5)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0) (< win8) (< wpa81)) (>= netstandard2.0) (>= uap10.1) System.Buffers (>= 4.5.1) - restriction: || (>= monoandroid) (>= monotouch) (&& (>= net45) (< netstandard2.0)) (&& (< net45) (< netcoreapp2.0) (>= netstandard2.0)) (&& (< net45) (>= netstandard1.1) (< netstandard2.0) (< win8) (< wpa81)) (>= net461) (&& (< netstandard1.1) (>= portable-net45+win8+wpa81) (< win8)) (&& (< netstandard1.1) (>= win8)) (&& (< netstandard2.0) (< uap10.1) (>= wpa81)) (>= xamarinios) (>= xamarinmac) (>= xamarintvos) (>= xamarinwatchos) System.Diagnostics.Debug (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net45) (>= netstandard1.1) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos) System.Globalization (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net45) (>= netstandard1.1) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos) @@ -496,7 +519,7 @@ NUGET System.Runtime.CompilerServices.Unsafe (>= 4.5.3) - restriction: || (>= monoandroid) (>= monotouch) (&& (>= net45) (< netstandard2.0)) (&& (< net45) (< netcoreapp2.0) (>= netstandard2.0)) (&& (< net45) (>= netstandard1.1) (< netstandard2.0) (< win8) (< wpa81)) (>= net461) (&& (>= netcoreapp2.0) (< netcoreapp2.1)) (&& (< netstandard1.1) (>= portable-net45+win8+wpa81) (< win8)) (&& (< netstandard1.1) (>= win8)) (&& (< netstandard2.0) (>= wpa81)) (>= uap10.1) (>= xamarinios) (>= xamarinmac) (>= xamarintvos) (>= xamarinwatchos) System.Runtime.Extensions (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net45) (>= netstandard1.1) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos) System.Runtime.InteropServices (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net45) (>= netstandard1.1) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos) - System.Net.Http (4.3.4) - restriction: || (&& (< net45) (< netstandard1.2) (>= netstandard1.4) (< win8)) (&& (< net45) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (>= netcoreapp5.0) (< netstandard2.0)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) + System.Net.Http (4.3.4) - restriction: || (&& (< net45) (>= net46) (< netstandard1.4) (>= netstandard1.6)) (&& (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (>= netcoreapp5.0) (< netstandard2.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) Microsoft.NETCore.Platforms (>= 1.1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.6) (< win8) (< wpa81)) (>= netcoreapp5.0) Microsoft.Win32.Primitives (>= 4.3) - restriction: && (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.6) (< win8) (< wpa81) runtime.native.System (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net45) (< netcoreapp5.0) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) @@ -525,7 +548,7 @@ NUGET System.Text.Encoding (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.1) (< netstandard1.3) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.6) (< win8) (< wpa81)) (>= netcoreapp5.0) System.Threading (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.6) (< win8) (< wpa81)) (>= netcoreapp5.0) System.Threading.Tasks (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.1) (< netstandard1.3) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.6) (< win8) (< wpa81)) (>= netcoreapp5.0) - System.Net.Primitives (4.3.1) - restriction: || (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.5) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< netstandard1.1) (>= netstandard1.6) (< win8)) (&& (< net45) (< netstandard1.2) (>= netstandard1.4) (< win8)) (&& (< net45) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (>= netcoreapp5.0) (< netstandard1.2)) (&& (>= netcoreapp5.0) (< netstandard1.3)) (&& (>= netcoreapp5.0) (< netstandard1.5)) (&& (>= netcoreapp5.0) (< netstandard1.6)) (&& (>= netcoreapp5.0) (< netstandard2.0)) (&& (< netstandard1.3) (>= uap10.0) (< win8) (< wpa81)) (&& (>= netstandard1.4) (< portable-net45+win8+wpa81)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) (&& (< netstandard1.5) (>= uap10.0) (< win8) (< wpa81)) + System.Net.Primitives (4.3.1) - restriction: || (&& (< monoandroid) (< netstandard1.1) (>= netstandard1.6) (< win8)) (&& (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (>= netcoreapp5.0) (< netstandard2.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) (&& (>= netstandard1.6) (< portable-net45+win8+wpa81)) Microsoft.NETCore.Platforms (>= 1.1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.1) (< netstandard1.3) (< win8) (< wpa81)) (&& (< monoandroid) (>= netstandard1.0) (< netstandard1.1) (< win8) (< wp8)) (>= netcoreapp5.0) Microsoft.NETCore.Targets (>= 1.1.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.1) (< netstandard1.3) (< win8) (< wpa81)) (&& (< monoandroid) (>= netstandard1.0) (< netstandard1.1) (< win8) (< wp8)) (>= netcoreapp5.0) System.Runtime (>= 4.3.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.1) (< netstandard1.3) (< win8) (< wpa81)) (&& (< monoandroid) (>= netstandard1.0) (< netstandard1.1) (< win8) (< wp8)) (>= netcoreapp5.0) @@ -544,7 +567,7 @@ NUGET System.Runtime (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.1) (< netstandard1.3) (< win8) (< wpa81)) (&& (< monoandroid) (>= netstandard1.0) (< netstandard1.1) (< win8) (< wp8)) (>= netcoreapp5.0) System.Threading (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) System.Threading.Tasks (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.1) (< netstandard1.3) (< win8) (< wpa81)) (>= netcoreapp5.0) - System.Net.Sockets (4.3) - restriction: || (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) + System.Net.Sockets (4.3) - restriction: || (&& (< net45) (>= net46) (< netstandard1.4) (>= netstandard1.6)) (&& (< net45) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) Microsoft.NETCore.Platforms (>= 1.1) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) Microsoft.NETCore.Targets (>= 1.1) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) System.IO (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) @@ -557,13 +580,39 @@ NUGET System.Runtime (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) System.Runtime.Extensions (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) System.Numerics.Vectors (4.5) - restriction: || (&& (< monoandroid) (< net45) (< netcoreapp2.0) (>= netstandard2.0) (< xamarinios) (< xamarinmac)) (>= net461) (&& (>= netstandard2.0) (>= uap10.1)) - System.ObjectModel (4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< netstandard2.0) (< xamarintvos) (< xamarinwatchos)) (&& (< net45) (< netstandard1.2) (>= netstandard1.4) (< win8)) (&& (< net45) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (>= netstandard1.4) (< portable-net45+win8+wpa81)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) + System.ObjectModel (4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< netstandard2.0) (< xamarintvos) (< xamarinwatchos)) (&& (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) (&& (>= netstandard1.6) (< portable-net45+win8+wpa81)) System.Collections (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) System.Diagnostics.Debug (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) System.Resources.ResourceManager (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) System.Runtime (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (>= netcoreapp5.0) System.Threading (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) - System.Reflection (4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= net46) (< netstandard2.0)) (&& (< net45) (>= net461) (< netstandard2.0)) (&& (< net45) (< netstandard1.2) (>= netstandard1.4) (< win8)) (&& (< net45) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0)) (&& (>= netcoreapp1.0) (< netcoreapp2.0)) (>= netcoreapp5.0) (&& (>= netstandard1.4) (< portable-net45+win8+wpa81)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) (&& (< netstandard1.5) (>= uap10.0) (< win8) (< wpa81)) (&& (< netstandard2.0) (>= uap10.0)) (&& (>= uap10.1) (< win8) (< wpa81)) + System.Private.DataContractSerialization (4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (>= netcoreapp5.0) (< netstandard2.0)) + System.Collections (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) + System.Collections.Concurrent (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) + System.Diagnostics.Debug (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) + System.Globalization (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) + System.IO (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) + System.Linq (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) + System.Reflection (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) + System.Reflection.Emit.ILGeneration (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (< netcoreapp5.0) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) + System.Reflection.Emit.Lightweight (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (< netcoreapp5.0) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) + System.Reflection.Extensions (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) + System.Reflection.Primitives (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) + System.Reflection.TypeExtensions (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= net46) (>= netcoreapp5.0) + System.Resources.ResourceManager (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) + System.Runtime (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) + System.Runtime.Extensions (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) + System.Runtime.Serialization.Primitives (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= net46) (>= netcoreapp5.0) + System.Text.Encoding (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) + System.Text.Encoding.Extensions (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) + System.Text.RegularExpressions (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) + System.Threading (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) + System.Threading.Tasks (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) + System.Xml.ReaderWriter (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) + System.Xml.XDocument (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) + System.Xml.XmlDocument (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= net46) (>= netcoreapp5.0) + System.Xml.XmlSerializer (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) + System.Reflection (4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (< net45) (>= net46) (< netstandard2.0)) (&& (< net45) (>= net461) (< netstandard2.0)) (&& (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0)) (&& (>= netcoreapp1.0) (< netcoreapp2.0)) (>= netcoreapp5.0) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) (&& (>= netstandard1.6) (< portable-net45+win8+wpa81)) (&& (>= uap10.1) (< win8) (< wpa81)) Microsoft.NETCore.Platforms (>= 1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.5) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (>= netcoreapp5.0) Microsoft.NETCore.Targets (>= 1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.5) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (>= netcoreapp5.0) System.IO (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.5) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (>= netcoreapp5.0) @@ -588,14 +637,14 @@ NUGET System.Reflection.Primitives (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.0) (< netstandard2.0) (< win8) (< wp8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) System.Resources.ResourceManager (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.0) (< netstandard2.0) (< win8) (< wp8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) System.Runtime (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.0) (< netstandard2.0) (< win8) (< wp8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) - System.Reflection.Extensions (4.3) - restriction: || (&& (< net45) (< netstandard1.2) (>= netstandard1.4) (< win8)) (&& (< net45) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0)) (&& (>= netcoreapp5.0) (< netstandard2.0)) (&& (>= netstandard1.4) (< portable-net45+win8+wpa81)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) + System.Reflection.Extensions (4.3) - restriction: || (&& (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0)) (&& (>= netcoreapp5.0) (< netstandard2.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) (&& (>= netstandard1.6) (< portable-net45+win8+wpa81)) Microsoft.NETCore.Platforms (>= 1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.0) (< win8) (< wp8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) Microsoft.NETCore.Targets (>= 1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.0) (< win8) (< wp8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) System.Reflection (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.0) (< win8) (< wp8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) System.Runtime (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.0) (< win8) (< wp8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) System.Reflection.Metadata (5.0) - restriction: >= netstandard2.0 System.Collections.Immutable (>= 5.0) - restriction: || (&& (>= net45) (< netstandard2.0)) (&& (< net45) (< netcoreapp5.0) (>= netstandard2.0)) (&& (< net45) (>= netstandard1.1) (< netstandard2.0) (< win8) (< wpa81)) (>= net461) (&& (< netstandard1.1) (>= portable-net45+win8+wpa81) (< win8)) (&& (< netstandard1.1) (>= win8)) (&& (< netstandard2.0) (>= wpa81)) - System.Reflection.Primitives (4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< netstandard2.0) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.5) (< win8)) (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.5) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.2) (>= netstandard1.4) (< win8)) (&& (< net45) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (>= netcoreapp1.1) (< netstandard1.2)) (&& (>= netcoreapp1.1) (< netstandard1.3)) (&& (>= netcoreapp1.1) (< netstandard1.5)) (&& (>= netcoreapp1.1) (< netstandard1.6)) (&& (>= netcoreapp1.1) (< netstandard2.0)) (>= netcoreapp5.0) (&& (< netstandard1.2) (>= uap10.0) (< win8)) (&& (< netstandard1.3) (>= uap10.0) (< win8) (< wpa81)) (&& (>= netstandard1.4) (< portable-net45+win8+wpa81)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) (&& (< netstandard1.5) (>= uap10.0) (< win8) (< wpa81)) + System.Reflection.Primitives (4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< netstandard2.0) (< xamarintvos) (< xamarinwatchos)) (&& (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (>= netcoreapp5.0) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) (&& (>= netstandard1.6) (< portable-net45+win8+wpa81)) Microsoft.NETCore.Platforms (>= 1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.0) (< win8) (< wp8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) Microsoft.NETCore.Targets (>= 1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.0) (< win8) (< wp8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) System.Runtime (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.0) (< win8) (< wp8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) @@ -603,52 +652,61 @@ NUGET System.Reflection (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net46) (>= netstandard1.5) (< netstandard2.0) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net46) (>= netstandard1.3) (< netstandard1.5) (< uap10.1)) (>= netcoreapp5.0) System.Resources.ResourceManager (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net46) (>= netstandard1.5) (< netstandard2.0) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net46) (>= netstandard1.3) (< netstandard1.5) (< uap10.1)) (>= netcoreapp5.0) System.Runtime (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net46) (>= netstandard1.5) (< netstandard2.0) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net46) (>= netstandard1.3) (< netstandard1.5) (< uap10.1)) (>= netcoreapp5.0) - System.Resources.ResourceManager (4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= net46) (< netstandard2.0)) (&& (< net45) (>= net461) (< netstandard2.0)) (&& (< net45) (< netstandard1.2) (>= netstandard1.4) (< win8)) (&& (< net45) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0)) (>= netcoreapp2.1) (&& (>= netcoreapp5.0) (< netstandard1.2)) (&& (>= netcoreapp5.0) (< netstandard1.3)) (&& (>= netcoreapp5.0) (< netstandard1.5)) (&& (>= netcoreapp5.0) (< netstandard1.6)) (&& (>= netcoreapp5.0) (< netstandard2.0)) (&& (>= netstandard1.4) (< portable-net45+win8+wpa81)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) (&& (< netstandard1.5) (>= uap10.0) (< win8) (< wpa81)) (&& (< netstandard2.0) (>= uap10.0)) (&& (>= uap10.1) (< win8) (< wpa81)) + System.Resources.ResourceManager (4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (< net45) (>= net46) (< netstandard2.0)) (&& (< net45) (>= net461) (< netstandard2.0)) (&& (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0)) (>= netcoreapp2.1) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) (&& (>= netstandard1.6) (< portable-net45+win8+wpa81)) (&& (< netstandard2.0) (>= uap10.0)) (&& (>= uap10.1) (< win8) (< wpa81)) Microsoft.NETCore.Platforms (>= 1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.0) (< win8) (< wp8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) Microsoft.NETCore.Targets (>= 1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.0) (< win8) (< wp8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) System.Globalization (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.0) (< win8) (< wp8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) System.Reflection (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.0) (< win8) (< wp8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) System.Runtime (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.0) (< win8) (< wp8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) - System.Runtime (4.3.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.5) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< netstandard1.1) (>= netstandard1.4) (< win8)) (&& (< monoandroid) (< netstandard1.1) (>= netstandard1.5) (< win8)) (&& (< monoandroid) (< netstandard1.1) (>= netstandard1.6) (< win8)) (&& (< net45) (>= net46) (< netstandard2.0)) (&& (< net45) (>= net461) (< netstandard2.0)) (&& (< net45) (< netstandard1.2) (>= netstandard1.4) (< win8)) (&& (< net45) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0)) (&& (>= netcoreapp1.0) (< netcoreapp2.0)) (>= netcoreapp2.1) (&& (< netstandard1.1) (>= uap10.0) (< win8)) (&& (< netstandard1.3) (>= uap10.0) (< win8) (< wpa81)) (&& (>= netstandard1.4) (< portable-net45+win8+wpa81)) (&& (< netstandard1.4) (>= uap10.0)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) (&& (< netstandard1.5) (>= uap10.0) (< win8) (< wpa81)) (&& (< netstandard2.0) (>= uap10.0)) (&& (>= uap10.1) (< win8) (< wpa81)) + System.Runtime (4.3.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= net46) (< netstandard2.0)) (&& (< net45) (>= net461) (< netstandard2.0)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0)) (&& (>= netcoreapp1.0) (< netcoreapp2.0)) (>= netcoreapp2.1) (&& (< netstandard2.0) (>= uap10.0)) (&& (>= uap10.1) (< win8) (< wpa81)) Microsoft.NETCore.Platforms (>= 1.1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.5) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.2) (< win8) (< wp8)) (&& (< monoandroid) (< net45) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (>= netcoreapp5.0) Microsoft.NETCore.Targets (>= 1.1.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.5) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.2) (< win8) (< wp8)) (&& (< monoandroid) (< net45) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (>= netcoreapp5.0) System.Runtime.CompilerServices.Unsafe (5.0) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< netstandard1.1) (>= netstandard1.3) (< win8)) (>= net46) (&& (>= net461) (>= netcoreapp2.1)) (&& (>= netcoreapp2.0) (< netcoreapp2.1)) (&& (< netcoreapp2.0) (>= netcoreapp2.1)) (&& (>= netcoreapp2.1) (< netcoreapp3.0)) (>= netstandard2.0) (>= uap10.1) - System.Runtime.Extensions (4.3.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= net46) (< netstandard2.0)) (&& (< net45) (>= net461) (< netstandard2.0)) (&& (< net45) (< netstandard1.2) (>= netstandard1.4) (< win8)) (&& (< net45) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0)) (>= netcoreapp2.1) (&& (>= netcoreapp5.0) (< netstandard1.2)) (&& (>= netcoreapp5.0) (< netstandard1.3)) (&& (>= netcoreapp5.0) (< netstandard1.5)) (&& (>= netcoreapp5.0) (< netstandard1.6)) (&& (>= netcoreapp5.0) (< netstandard2.0)) (&& (>= netstandard1.4) (< portable-net45+win8+wpa81)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) (&& (< netstandard1.5) (>= uap10.0) (< win8) (< wpa81)) (&& (< netstandard2.0) (>= uap10.0)) (&& (>= uap10.1) (< win8) (< wpa81)) + System.Runtime.Extensions (4.3.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (< net45) (>= net46) (< netstandard2.0)) (&& (< net45) (>= net461) (< netstandard2.0)) (&& (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0)) (>= netcoreapp2.1) (&& (>= netcoreapp5.0) (< netstandard2.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) (&& (>= netstandard1.6) (< portable-net45+win8+wpa81)) (&& (< netstandard2.0) (>= uap10.0)) (&& (>= uap10.1) (< win8) (< wpa81)) Microsoft.NETCore.Platforms (>= 1.1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.5) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (>= netcoreapp5.0) Microsoft.NETCore.Targets (>= 1.1.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.5) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (>= netcoreapp5.0) System.Runtime (>= 4.3.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.5) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (>= netcoreapp5.0) - System.Runtime.Handles (4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< netstandard2.0) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.4) (< win8)) (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) (&& (< netstandard1.5) (>= uap10.0) (< win8) (< wpa81)) + System.Runtime.Handles (4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< netstandard2.0) (< xamarintvos) (< xamarinwatchos)) (&& (< net45) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (>= netcoreapp5.0) (< netstandard2.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) Microsoft.NETCore.Platforms (>= 1.1) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) Microsoft.NETCore.Targets (>= 1.1) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) System.Runtime (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Runtime.InteropServices (4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= net46) (< netstandard2.0)) (&& (< net45) (>= net461) (< netstandard2.0)) (&& (< net45) (< netstandard1.2) (>= netstandard1.4) (< win8)) (&& (< net45) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (>= netcoreapp5.0) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) (&& (< netstandard1.5) (>= uap10.0) (< win8) (< wpa81)) (&& (>= uap10.1) (< win8) (< wpa81)) + System.Runtime.InteropServices (4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< netstandard2.0) (< xamarintvos) (< xamarinwatchos)) (&& (< net45) (>= net46) (< netstandard2.0)) (&& (< net45) (>= net461) (< netstandard2.0)) (&& (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (>= netcoreapp5.0) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) (&& (>= uap10.1) (< win8) (< wpa81)) Microsoft.NETCore.Platforms (>= 1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.5) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.1) (< netstandard1.2) (< win8)) (&& (< monoandroid) (< net45) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (>= netcoreapp1.1) Microsoft.NETCore.Targets (>= 1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.5) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.1) (< netstandard1.2) (< win8)) (&& (< monoandroid) (< net45) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (>= netcoreapp1.1) System.Reflection (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.5) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.1) (< netstandard1.2) (< win8)) (&& (< monoandroid) (< net45) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (>= netcoreapp1.1) System.Reflection.Primitives (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.5) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.1) (< netstandard1.2) (< win8)) (&& (< monoandroid) (< net45) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (>= netcoreapp1.1) System.Runtime (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.5) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.1) (< netstandard1.2) (< win8)) (&& (< monoandroid) (< net45) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (>= net462) (>= netcoreapp1.1) System.Runtime.Handles (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.5) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.5) (< win8) (< wpa81)) (>= netcoreapp1.1) - System.Runtime.InteropServices.RuntimeInformation (4.3) - restriction: || (&& (>= net45) (< net452) (< netstandard1.3) (>= netstandard1.4)) (&& (>= net45) (>= netstandard2.0)) (&& (< net45) (< netstandard1.2) (>= netstandard1.4) (< win8)) (&& (< net45) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (< netstandard1.0) (>= netstandard1.4) (< portable-net45+win8)) (&& (< netstandard1.0) (>= netstandard1.4) (>= win8)) (&& (< netstandard1.0) (>= netstandard1.4) (< win8)) (&& (< netstandard1.3) (>= netstandard1.4) (< win8) (>= wpa81)) (>= uap10.0) + System.Runtime.InteropServices.RuntimeInformation (4.3) - restriction: || (&& (>= net45) (>= netstandard2.0)) (&& (< net45) (>= net46) (< netstandard1.4) (>= netstandard1.6)) (&& (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (< netstandard1.0) (>= netstandard1.6) (< portable-net45+win8)) (&& (< netstandard1.0) (>= netstandard1.6) (>= win8)) (&& (< netstandard1.0) (>= netstandard1.6) (< win8)) (&& (< netstandard1.3) (>= netstandard1.6) (< win8) (>= wpa81)) (>= uap10.0) System.Runtime.Loader (4.3) - restriction: || (&& (>= netcoreapp1.0) (< netcoreapp2.0)) (>= netcoreapp2.1) System.IO (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net462) (>= netstandard1.5) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) System.Reflection (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net462) (>= netstandard1.5) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) System.Runtime (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net462) (>= netstandard1.5) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Runtime.Numerics (4.3) - restriction: || (&& (< monoandroid) (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.2) (>= netstandard1.4) (< win8)) (&& (< net45) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) + System.Runtime.Numerics (4.3) - restriction: && (< net45) (>= netstandard1.6) (< netstandard2.0) System.Globalization (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) System.Resources.ResourceManager (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) System.Runtime (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.1) (< netstandard1.3) (< win8) (< wpa81)) (>= netcoreapp5.0) System.Runtime.Extensions (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) - System.Runtime.Serialization.Formatters (4.3) - restriction: && (< netstandard2.0) (>= uap10.0) + System.Runtime.Serialization.Formatters (4.3) - restriction: || (&& (< net45) (>= netstandard1.6) (< netstandard2.0)) (&& (< netstandard2.0) (>= uap10.0)) System.Collections (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.4) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) System.Reflection (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.4) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) System.Resources.ResourceManager (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.4) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) System.Runtime (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net46) (>= netstandard1.4) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net46) (>= netstandard1.3) (< netstandard1.4)) System.Runtime.Serialization.Primitives (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (>= netstandard1.4) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (>= netstandard1.3) (< netstandard1.4)) (>= net46) - System.Runtime.Serialization.Primitives (4.3) - restriction: || (&& (< netstandard1.3) (>= uap10.0)) (&& (< netstandard2.0) (>= uap10.0)) + System.Runtime.Serialization.Primitives (4.3) - restriction: || (&& (< monoandroid) (< net45) (< netstandard1.4) (>= netstandard1.6)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0)) (&& (< netstandard1.3) (>= uap10.0)) (&& (< netstandard2.0) (>= uap10.0)) + System.Resources.ResourceManager (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) + System.Runtime (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (>= netcoreapp5.0) + System.Runtime.Serialization.Xml (4.3) - restriction: && (< net45) (>= netstandard1.6) (< netstandard2.0) + System.IO (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (>= netcoreapp5.0) + System.Private.DataContractSerialization (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) + System.Runtime (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (>= netcoreapp5.0) + System.Runtime.Serialization.Primitives (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= net46) (>= netcoreapp5.0) + System.Text.Encoding (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (>= netcoreapp5.0) + System.Xml.ReaderWriter (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (>= netcoreapp5.0) System.Security.AccessControl (5.0) - restriction: || (&& (>= monoandroid) (>= netstandard2.0)) (&& (>= monotouch) (>= netstandard2.0)) (&& (< net46) (>= netstandard2.0)) (&& (>= net461) (>= netstandard2.0)) (&& (< net472) (>= netstandard2.0)) (>= netcoreapp2.0) (&& (>= netstandard2.0) (>= xamarintvos)) (&& (>= netstandard2.0) (>= xamarinwatchos)) (>= xamarinios) (>= xamarinmac) Microsoft.NETCore.Platforms (>= 5.0) - restriction: >= netcoreapp2.0 System.Security.Principal.Windows (>= 5.0) - restriction: || (&& (>= net46) (< netstandard2.0)) (&& (< net46) (>= netstandard1.3) (< netstandard2.0) (< uap10.1)) (&& (< net46) (>= netstandard2.0)) (>= net461) (>= netcoreapp2.0) - System.Security.Cryptography.Algorithms (4.3.1) - restriction: || (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.4) (>= netstandard1.5) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= net46) (< netstandard1.4) (>= netstandard1.5)) (&& (< net45) (>= net46) (< netstandard1.4) (>= netstandard1.6)) (&& (< net45) (>= net461) (>= netstandard1.5) (< netstandard1.6)) (&& (< net45) (>= net461) (< netstandard1.5)) (&& (< net45) (>= net461) (>= netstandard1.6) (< netstandard2.0)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (>= net461) (< netstandard1.5) (>= uap10.0)) (&& (>= netcoreapp5.0) (< netstandard1.5)) (&& (>= netcoreapp5.0) (< netstandard1.6)) (&& (>= netcoreapp5.0) (< netstandard2.0)) (&& (< netstandard1.4) (>= uap10.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) + System.Security.Cryptography.Algorithms (4.3.1) - restriction: || (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= net46) (< netstandard1.4) (>= netstandard1.6)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) Microsoft.NETCore.Platforms (>= 1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net46) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) runtime.native.System.Security.Cryptography.Apple (>= 4.3.1) - restriction: && (< monoandroid) (< monotouch) (< net46) (< netcoreapp5.0) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.2) - restriction: && (< monoandroid) (< monotouch) (< net46) (< netcoreapp5.0) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) @@ -663,7 +721,7 @@ NUGET System.Security.Cryptography.Encoding (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net46) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= net463) (>= netcoreapp5.0) System.Security.Cryptography.Primitives (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net46) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net46) (>= netstandard1.3) (< netstandard1.4)) (&& (< monoandroid) (< net46) (>= netstandard1.4) (< netstandard1.6)) (&& (>= net46) (< netstandard1.4)) (&& (>= net461) (< netstandard1.6)) (>= net463) (>= netcoreapp5.0) System.Text.Encoding (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net46) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) - System.Security.Cryptography.Cng (4.6.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (>= netcoreapp5.0) (< netstandard1.5)) (&& (>= netcoreapp5.0) (< netstandard1.6)) (&& (>= netcoreapp5.0) (< netstandard2.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) + System.Security.Cryptography.Cng (4.6.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= net46) (< netstandard1.4) (>= netstandard1.6)) (&& (>= netcoreapp5.0) (< netstandard1.4)) (&& (>= netcoreapp5.0) (< netstandard1.5)) (&& (>= netcoreapp5.0) (< netstandard2.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) System.IO (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net46) (>= netstandard1.6) (< netstandard2.0) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net46) (>= netstandard1.3) (< netstandard1.4)) (&& (< monoandroid) (< net46) (>= netstandard1.4) (< netstandard1.6) (< uap10.1)) System.Resources.ResourceManager (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net46) (>= netstandard1.6) (< netstandard2.0) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net46) (>= netstandard1.3) (< netstandard1.4)) (&& (< monoandroid) (< net46) (>= netstandard1.4) (< netstandard1.6) (< uap10.1)) System.Runtime (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net46) (>= netstandard1.6) (< netstandard2.0) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net46) (>= netstandard1.3) (< netstandard1.4)) (&& (< monoandroid) (< net46) (>= netstandard1.4) (< netstandard1.6) (< uap10.1)) @@ -674,7 +732,7 @@ NUGET System.Security.Cryptography.Encoding (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net46) (>= netstandard1.6) (< netstandard2.0) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net46) (>= netstandard1.4) (< netstandard1.6) (< uap10.1)) System.Security.Cryptography.Primitives (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net46) (>= netstandard1.6) (< netstandard2.0) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net46) (>= netstandard1.3) (< netstandard1.4)) (&& (< monoandroid) (< net46) (>= netstandard1.4) (< netstandard1.6) (< uap10.1)) (&& (>= net46) (< netstandard1.4)) System.Text.Encoding (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net46) (>= netstandard1.6) (< netstandard2.0) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net46) (>= netstandard1.4) (< netstandard1.6) (< uap10.1)) - System.Security.Cryptography.Csp (4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) + System.Security.Cryptography.Csp (4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= net46) (< netstandard1.4) (>= netstandard1.6)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) Microsoft.NETCore.Platforms (>= 1.1) - restriction: && (< monoandroid) (< monotouch) (< net46) (< netcoreapp5.0) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) System.IO (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (< netcoreapp5.0) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) System.Reflection (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (< netcoreapp5.0) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) @@ -688,7 +746,7 @@ NUGET System.Security.Cryptography.Primitives (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< netcoreapp5.0) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= net46) System.Text.Encoding (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (< netcoreapp5.0) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) System.Threading (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (< netcoreapp5.0) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Security.Cryptography.Encoding (4.3) - restriction: || (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.4) (< win8)) (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.4) (>= netstandard1.5) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= net46) (< netstandard1.4) (>= netstandard1.5)) (&& (< net45) (>= net46) (< netstandard1.4) (>= netstandard1.6)) (&& (< net45) (>= net461) (>= netstandard1.5) (< netstandard1.6)) (&& (< net45) (>= net461) (< netstandard1.5)) (&& (< net45) (>= net461) (>= netstandard1.6) (< netstandard2.0)) (&& (< net45) (>= net463) (< netstandard1.5)) (&& (< net45) (>= net463) (>= netstandard1.6) (< netstandard2.0)) (&& (< net45) (>= net463) (< netstandard1.6)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (>= net461) (< netstandard1.5) (>= uap10.0)) (&& (>= net463) (< netstandard1.5) (>= uap10.0)) (&& (>= netcoreapp5.0) (< netstandard1.5)) (&& (>= netcoreapp5.0) (< netstandard1.6)) (&& (>= netcoreapp5.0) (< netstandard2.0)) (&& (< netstandard1.4) (>= uap10.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) (&& (< netstandard1.5) (>= uap10.0) (< win8) (< wpa81)) + System.Security.Cryptography.Encoding (4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< netstandard2.0) (< xamarintvos) (< xamarinwatchos)) (&& (< net45) (>= net46) (< netstandard1.4) (>= netstandard1.6)) (&& (< net45) (>= net463) (>= netstandard1.6) (< netstandard2.0)) (&& (< net45) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (>= netcoreapp5.0) (< netstandard2.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) Microsoft.NETCore.Platforms (>= 1.1) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) System.Collections (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) @@ -701,7 +759,7 @@ NUGET System.Runtime.InteropServices (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) System.Security.Cryptography.Primitives (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) System.Text.Encoding (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Security.Cryptography.OpenSsl (4.6) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) + System.Security.Cryptography.OpenSsl (4.6) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= net46) (< netstandard1.4) (>= netstandard1.6)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) System.Collections (>= 4.3) - restriction: && (>= netstandard1.6) (< netstandard2.0) System.IO (>= 4.3) - restriction: && (>= netstandard1.6) (< netstandard2.0) System.Resources.ResourceManager (>= 4.3) - restriction: && (>= netstandard1.6) (< netstandard2.0) @@ -714,7 +772,7 @@ NUGET System.Security.Cryptography.Encoding (>= 4.3) - restriction: && (>= netstandard1.6) (< netstandard2.0) System.Security.Cryptography.Primitives (>= 4.3) - restriction: && (>= netstandard1.6) (< netstandard2.0) System.Text.Encoding (>= 4.3) - restriction: && (>= netstandard1.6) (< netstandard2.0) - System.Security.Cryptography.Primitives (4.3) - restriction: || (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.4) (>= netstandard1.5) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= net46) (< netstandard1.4) (>= netstandard1.5)) (&& (< net45) (>= net46) (< netstandard1.4) (>= netstandard1.6)) (&& (< net45) (>= net461) (>= netstandard1.5) (< netstandard1.6)) (&& (< net45) (>= net461) (< netstandard1.5)) (&& (< net45) (>= net463) (< netstandard1.5)) (&& (< net45) (>= net463) (>= netstandard1.6) (< netstandard2.0)) (&& (< net45) (>= net463) (< netstandard1.6)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (>= net461) (< netstandard1.5) (>= uap10.0)) (&& (>= net463) (< netstandard1.5) (>= uap10.0)) (&& (>= netcoreapp5.0) (< netstandard1.5)) (&& (>= netcoreapp5.0) (< netstandard1.6)) (&& (>= netcoreapp5.0) (< netstandard2.0)) (&& (< netstandard1.4) (>= uap10.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) + System.Security.Cryptography.Primitives (4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< netstandard2.0) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (< netstandard1.4) (>= netstandard1.6)) (&& (< net45) (>= net46) (< netstandard1.4) (>= netstandard1.6)) (&& (< net45) (>= net463) (>= netstandard1.6) (< netstandard2.0)) (&& (< net45) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (>= netcoreapp5.0) (< netstandard2.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) System.Diagnostics.Debug (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) System.Globalization (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) System.IO (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) @@ -724,7 +782,7 @@ NUGET System.Threading.Tasks (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) System.Security.Cryptography.ProtectedData (4.6) - restriction: && (>= netcoreapp1.0) (>= netstandard2.0) System.Memory (>= 4.5.3) - restriction: && (< monoandroid) (< net46) (< netcoreapp2.1) (>= netstandard2.0) (< xamarinios) (< xamarinmac) - System.Security.Cryptography.X509Certificates (4.3.2) - restriction: || (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.4) (< win8)) (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= net46) (< netstandard1.2) (>= netstandard1.4)) (&& (< net45) (>= net46) (< netstandard1.3) (>= netstandard1.4)) (&& (< net45) (>= net46) (>= netstandard1.4) (< netstandard1.5)) (&& (< net45) (>= net46) (>= netstandard1.5) (< netstandard1.6)) (&& (< net45) (>= net46) (>= netstandard1.6) (< netstandard2.0)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (>= net46) (< netstandard1.5) (>= uap10.0)) (&& (>= netcoreapp5.0) (< netstandard1.2)) (&& (>= netcoreapp5.0) (< netstandard1.3)) (&& (>= netcoreapp5.0) (< netstandard1.5)) (&& (>= netcoreapp5.0) (< netstandard1.6)) (&& (>= netcoreapp5.0) (< netstandard2.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) (&& (< netstandard1.5) (>= uap10.0) (< win8) (< wpa81)) + System.Security.Cryptography.X509Certificates (4.3.2) - restriction: || (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= net46) (< netstandard1.2) (>= netstandard1.6)) (&& (< net45) (>= net46) (< netstandard1.3) (>= netstandard1.6)) (&& (< net45) (>= net46) (< netstandard1.4) (>= netstandard1.6)) (&& (< net45) (>= net46) (< netstandard1.5) (>= netstandard1.6)) (&& (< net45) (>= net46) (>= netstandard1.6) (< netstandard2.0)) (&& (< net45) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (>= netcoreapp5.0) (< netstandard1.2)) (&& (>= netcoreapp5.0) (< netstandard1.3)) (&& (>= netcoreapp5.0) (< netstandard1.4)) (&& (>= netcoreapp5.0) (< netstandard1.5)) (&& (>= netcoreapp5.0) (< netstandard2.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) Microsoft.NETCore.Platforms (>= 1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net46) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) runtime.native.System (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (< netcoreapp5.0) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) runtime.native.System.Net.Http (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (< netcoreapp5.0) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) @@ -755,34 +813,34 @@ NUGET System.Windows.Extensions (>= 5.0) - restriction: >= netcoreapp3.0 System.Security.Principal.Windows (5.0) - restriction: || (&& (>= monoandroid) (>= netstandard2.0)) (&& (>= monotouch) (>= netstandard2.0)) (&& (< net46) (>= netstandard2.0)) (&& (>= net461) (>= netstandard2.0)) (>= netcoreapp2.0) (&& (>= netstandard2.0) (>= xamarintvos)) (&& (>= netstandard2.0) (>= xamarinwatchos)) (>= xamarinios) (>= xamarinmac) Microsoft.NETCore.Platforms (>= 5.0) - restriction: || (&& (>= netcoreapp2.0) (< netcoreapp2.1)) (&& (>= netcoreapp2.1) (< netcoreapp3.0)) - System.Text.Encoding (4.3) - restriction: || (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.5) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.2) (>= netstandard1.4) (< win8)) (&& (< net45) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (>= netcoreapp5.0) (< netstandard1.2)) (&& (>= netcoreapp5.0) (< netstandard1.3)) (&& (>= netcoreapp5.0) (< netstandard1.5)) (&& (>= netcoreapp5.0) (< netstandard1.6)) (&& (>= netcoreapp5.0) (< netstandard2.0)) (&& (< netstandard1.3) (>= uap10.0) (< win8) (< wpa81)) (&& (>= netstandard1.4) (< portable-net45+win8+wpa81)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) (&& (< netstandard1.5) (>= uap10.0) (< win8) (< wpa81)) (&& (< netstandard2.0) (>= uap10.0)) + System.Text.Encoding (4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< netstandard2.0) (< xamarintvos) (< xamarinwatchos)) (&& (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (>= netcoreapp5.0) (< netstandard2.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) (&& (>= netstandard1.6) (< portable-net45+win8+wpa81)) (&& (< netstandard2.0) (>= uap10.0)) Microsoft.NETCore.Platforms (>= 1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (>= netcoreapp5.0) Microsoft.NETCore.Targets (>= 1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (>= netcoreapp5.0) System.Runtime (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (>= netcoreapp5.0) System.Text.Encoding.CodePages (4.6) - restriction: >= netstandard2.0 Microsoft.NETCore.Platforms (>= 3.0) - restriction: >= netcoreapp2.0 System.Runtime.CompilerServices.Unsafe (>= 4.6) - restriction: || (&& (< monoandroid) (< net46) (< netcoreapp2.0) (>= netstandard2.0) (< xamarinios) (< xamarinmac)) (>= net461) (&& (>= netcoreapp2.0) (< netcoreapp3.0)) - System.Text.Encoding.Extensions (4.3) - restriction: || (&& (< net45) (< netstandard1.2) (>= netstandard1.4) (< win8)) (&& (< net45) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (>= netcoreapp5.0) (< netstandard1.2)) (&& (>= netcoreapp5.0) (< netstandard1.3)) (&& (>= netcoreapp5.0) (< netstandard1.5)) (&& (>= netcoreapp5.0) (< netstandard1.6)) (&& (>= netcoreapp5.0) (< netstandard2.0)) (&& (>= netcoreapp5.0) (< portable-net45+win8+wpa81)) (&& (>= netstandard1.4) (< portable-net45+win8+wpa81)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) (&& (< netstandard1.5) (>= uap10.0) (< win8) (< wpa81)) + System.Text.Encoding.Extensions (4.3) - restriction: || (&& (< net45) (>= net46) (< netstandard1.4) (>= netstandard1.6)) (&& (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (>= netcoreapp5.0) (< netstandard1.2)) (&& (>= netcoreapp5.0) (< netstandard1.3)) (&& (>= netcoreapp5.0) (< netstandard1.4)) (&& (>= netcoreapp5.0) (< netstandard1.5)) (&& (>= netcoreapp5.0) (< netstandard2.0)) (&& (>= netcoreapp5.0) (< portable-net45+win8+wpa81)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) (&& (>= netstandard1.6) (< portable-net45+win8+wpa81)) Microsoft.NETCore.Platforms (>= 1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (>= netcoreapp5.0) Microsoft.NETCore.Targets (>= 1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (>= netcoreapp5.0) System.Runtime (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (>= netcoreapp5.0) System.Text.Encoding (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (>= netcoreapp5.0) - System.Text.RegularExpressions (4.3.1) - restriction: || (&& (< net45) (< netstandard1.2) (>= netstandard1.4) (< win8)) (&& (< net45) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0)) (&& (>= netcoreapp5.0) (< netstandard1.2)) (&& (>= netcoreapp5.0) (< netstandard1.3)) (&& (>= netcoreapp5.0) (< netstandard1.5)) (&& (>= netcoreapp5.0) (< netstandard1.6)) (&& (>= netcoreapp5.0) (< netstandard2.0)) (&& (>= netcoreapp5.0) (< portable-net45+win8+wpa81)) (&& (>= netstandard1.4) (< portable-net45+win8+wpa81)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) (&& (< netstandard1.5) (>= uap10.0) (< win8) (< wpa81)) + System.Text.RegularExpressions (4.3.1) - restriction: || (&& (< net45) (>= net46) (< netstandard1.4) (>= netstandard1.6)) (&& (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0)) (&& (>= netcoreapp5.0) (< netstandard1.2)) (&& (>= netcoreapp5.0) (< netstandard1.3)) (&& (>= netcoreapp5.0) (< netstandard1.4)) (&& (>= netcoreapp5.0) (< netstandard1.5)) (&& (>= netcoreapp5.0) (< netstandard2.0)) (&& (>= netcoreapp5.0) (< portable-net45+win8+wpa81)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) (&& (>= netstandard1.6) (< portable-net45+win8+wpa81)) System.Collections (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (< netcoreapp1.1) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) System.Globalization (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (< netcoreapp1.1) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) System.Resources.ResourceManager (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (< netcoreapp1.1) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) System.Runtime (>= 4.3.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.3) (< netstandard1.6) (< win8) (< wpa81)) (>= netcoreapp1.1) System.Runtime.Extensions (>= 4.3.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (< netcoreapp1.1) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) System.Threading (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (< netcoreapp1.1) (>= netstandard1.6) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) - System.Threading (4.3) - restriction: || (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.2) (>= netstandard1.4) (< win8)) (&& (< net45) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0)) (>= netcoreapp2.1) (&& (>= netcoreapp5.0) (< netstandard1.2)) (&& (>= netcoreapp5.0) (< netstandard1.3)) (&& (>= netcoreapp5.0) (< netstandard1.5)) (&& (>= netcoreapp5.0) (< netstandard1.6)) (&& (>= netcoreapp5.0) (< netstandard2.0)) (&& (>= netstandard1.4) (< portable-net45+win8+wpa81)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) (&& (< netstandard1.5) (>= uap10.0) (< win8) (< wpa81)) (&& (< netstandard2.0) (>= uap10.0)) + System.Threading (4.3) - restriction: || (&& (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0)) (>= netcoreapp2.1) (&& (>= netcoreapp5.0) (< netstandard2.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) (&& (>= netstandard1.6) (< portable-net45+win8+wpa81)) (&& (< netstandard2.0) (>= uap10.0)) System.Runtime (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (>= netcoreapp5.0) System.Threading.Tasks (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (>= netcoreapp5.0) - System.Threading.Tasks (4.3) - restriction: || (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.5) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.2) (>= netstandard1.4) (< win8)) (&& (< net45) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0)) (&& (>= netcoreapp5.0) (< netstandard1.2)) (&& (>= netcoreapp5.0) (< netstandard1.3)) (&& (>= netcoreapp5.0) (< netstandard1.5)) (&& (>= netcoreapp5.0) (< netstandard1.6)) (&& (>= netcoreapp5.0) (< netstandard2.0)) (&& (< netstandard1.3) (>= uap10.0) (< win8) (< wpa81)) (&& (>= netstandard1.4) (< portable-net45+win8+wpa81)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) (&& (< netstandard1.5) (>= uap10.0) (< win8) (< wpa81)) + System.Threading.Tasks (4.3) - restriction: || (&& (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0)) (&& (>= netcoreapp5.0) (< netstandard2.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) (&& (>= netstandard1.6) (< portable-net45+win8+wpa81)) Microsoft.NETCore.Platforms (>= 1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (>= netcoreapp5.0) Microsoft.NETCore.Targets (>= 1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (>= netcoreapp5.0) System.Runtime (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (>= netcoreapp5.0) System.Threading.Tasks.Dataflow (4.10) - restriction: || (&& (>= net472) (>= netcoreapp1.0)) (>= netcoreapp2.1) - System.Threading.Tasks.Extensions (4.5.4) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.4) (< win8)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (>= netcoreapp5.0) (< netstandard1.2)) (&& (>= netcoreapp5.0) (< netstandard1.3)) (&& (>= netcoreapp5.0) (< netstandard1.5)) (&& (>= netcoreapp5.0) (< netstandard1.6)) (&& (>= netcoreapp5.0) (< portable-net45+win8+wpa81)) (&& (>= netstandard1.4) (< portable-net45+win8+wpa81)) (&& (< netstandard1.5) (>= uap10.0) (< win8) (< wpa81)) (>= netstandard2.0) + System.Threading.Tasks.Extensions (4.5.4) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= net46) (< netstandard1.4) (>= netstandard1.6)) (&& (>= netcoreapp5.0) (< netstandard1.2)) (&& (>= netcoreapp5.0) (< netstandard1.3)) (&& (>= netcoreapp5.0) (< netstandard1.4)) (&& (>= netcoreapp5.0) (< netstandard1.5)) (&& (>= netcoreapp5.0) (< portable-net45+win8+wpa81)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0) (< win8) (< wpa81)) (&& (>= netstandard1.6) (< portable-net45+win8+wpa81)) (>= netstandard2.0) System.Runtime.CompilerServices.Unsafe (>= 4.5.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.0) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (< netcoreapp2.1) (>= netstandard2.0) (< xamarinios) (< xamarinmac)) (&& (< monoandroid) (< netstandard1.0) (>= portable-net45+win8+wp8+wpa81) (< win8)) (&& (>= net45) (< netstandard2.0)) (>= net461) (&& (< netstandard1.0) (>= win8)) (&& (< netstandard2.0) (>= wpa81)) (>= wp8) System.Threading.Tasks.Parallel (4.3) - restriction: && (< net45) (>= netstandard1.6) (< netstandard2.0) System.Collections.Concurrent (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.1) (< netstandard1.3) (< win8) (< wpa81)) (>= netcoreapp5.0) @@ -798,14 +856,14 @@ NUGET System.Threading.ThreadPool (4.3) - restriction: && (< net45) (>= netstandard1.6) (< netstandard2.0) System.Runtime (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (< netcoreapp5.0) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) System.Runtime.Handles (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (< netcoreapp5.0) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) - System.Threading.Timer (4.3) - restriction: || (&& (< net45) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) + System.Threading.Timer (4.3) - restriction: || (&& (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) Microsoft.NETCore.Platforms (>= 1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net451) (>= netstandard1.2) (< win81) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) Microsoft.NETCore.Targets (>= 1.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net451) (>= netstandard1.2) (< win81) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) System.Runtime (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net451) (>= netstandard1.2) (< win81) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) System.ValueTuple (4.5) - restriction: || (>= net461) (&& (>= netcoreapp1.0) (< netcoreapp2.0)) (>= netstandard2.0) System.Windows.Extensions (5.0) - restriction: >= netcoreapp3.0 System.Drawing.Common (>= 5.0) - restriction: >= netcoreapp3.0 - System.Xml.ReaderWriter (4.3.1) - restriction: || (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.5) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.2) (>= netstandard1.4) (< win8)) (&& (< net45) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (>= netcoreapp5.0) (< netstandard1.2)) (&& (>= netcoreapp5.0) (< netstandard1.3)) (&& (>= netcoreapp5.0) (< netstandard1.5)) (&& (>= netcoreapp5.0) (< netstandard1.6)) (&& (>= netcoreapp5.0) (< netstandard2.0)) (&& (>= netcoreapp5.0) (< portable-net45+win8+wpa81)) (&& (< netstandard1.3) (>= uap10.0) (< win8) (< wpa81)) (&& (>= netstandard1.4) (< portable-net45+win8+wpa81)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) (&& (< netstandard1.5) (>= uap10.0) (< win8) (< wpa81)) (&& (< netstandard2.0) (>= uap10.0)) + System.Xml.ReaderWriter (4.3.1) - restriction: || (&& (< net45) (>= net46) (< netstandard1.4) (>= netstandard1.6)) (&& (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (>= netcoreapp5.0) (< netstandard2.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) (&& (>= netstandard1.6) (< portable-net45+win8+wpa81)) (&& (< netstandard2.0) (>= uap10.0)) System.Collections (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) System.Diagnostics.Debug (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) System.Globalization (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) @@ -821,7 +879,7 @@ NUGET System.Text.RegularExpressions (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) System.Threading.Tasks (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (>= netcoreapp5.0) System.Threading.Tasks.Extensions (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) - System.Xml.XDocument (4.3) - restriction: || (&& (< net45) (< netstandard1.2) (>= netstandard1.4) (< win8)) (&& (< net45) (< netstandard1.3) (>= netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (>= netstandard1.4) (< portable-net45+win8+wpa81)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1)) + System.Xml.XDocument (4.3) - restriction: || (&& (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (>= netcoreapp5.0) (< netstandard2.0)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) (&& (>= netstandard1.6) (< portable-net45+win8+wpa81)) System.Collections (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) System.Diagnostics.Debug (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) System.Diagnostics.Tools (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) @@ -834,7 +892,7 @@ NUGET System.Text.Encoding (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) System.Threading (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) System.Xml.ReaderWriter (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (>= netcoreapp5.0) - System.Xml.XmlDocument (4.3) - restriction: && (< netstandard2.0) (>= uap10.0) + System.Xml.XmlDocument (4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (< net45) (>= net46) (>= netstandard1.6) (< netstandard2.0)) (&& (>= netcoreapp5.0) (< netstandard2.0)) (&& (< netstandard2.0) (>= uap10.0)) System.Collections (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) System.Diagnostics.Debug (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) System.Globalization (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) @@ -845,6 +903,24 @@ NUGET System.Text.Encoding (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) System.Threading (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) System.Xml.ReaderWriter (>= 4.3) - restriction: && (< monoandroid) (< monotouch) (< net46) (>= netstandard1.3) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos) + System.Xml.XmlSerializer (4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81) (< xamarintvos) (< xamarinwatchos)) (&& (>= netcoreapp5.0) (< netstandard2.0)) + System.Collections (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) + System.Globalization (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) + System.IO (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (>= netcoreapp5.0) + System.Linq (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) + System.Reflection (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) + System.Reflection.Emit (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) + System.Reflection.Emit.ILGeneration (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) + System.Reflection.Extensions (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) + System.Reflection.Primitives (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) + System.Reflection.TypeExtensions (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) + System.Resources.ResourceManager (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) + System.Runtime (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (>= netcoreapp5.0) + System.Runtime.Extensions (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) + System.Text.RegularExpressions (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) + System.Threading (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) + System.Xml.ReaderWriter (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (>= netcoreapp5.0) + System.Xml.XmlDocument (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (>= netcoreapp5.0) YC.Brahma (2.0.0-alpha3) - restriction: || (>= net461) (>= netstandard2.1) YC.Brahma.OpenCL (2.0.0-alpha3) - restriction: || (>= net461) (>= netstandard2.1) YC.Brahma (>= 2.0.0-alpha3) - restriction: || (>= net461) (>= netstandard2.1) diff --git a/src/GraphBLAS-sharp/MatrixAndVector.fs b/src/GraphBLAS-sharp/Abstracts.fs similarity index 54% rename from src/GraphBLAS-sharp/MatrixAndVector.fs rename to src/GraphBLAS-sharp/Abstracts.fs index a97c6a10..4dd52049 100644 --- a/src/GraphBLAS-sharp/MatrixAndVector.fs +++ b/src/GraphBLAS-sharp/Abstracts.fs @@ -1,9 +1,11 @@ namespace GraphBLAS.FSharp [] -type Matrix<'a when 'a : struct and 'a : equality>() = +type Matrix<'a when 'a : struct and 'a : equality>(nrow: int, ncol: int) = abstract RowCount: int abstract ColumnCount: int + default this.RowCount = nrow + default this.ColumnCount = ncol abstract Mask: Mask2D option abstract Complemented: Mask2D option @@ -12,75 +14,70 @@ type Matrix<'a when 'a : struct and 'a : equality>() = abstract Item: Mask1D option * int -> Vector<'a> with get, set abstract Item: int * Mask1D option -> Vector<'a> with get, set abstract Item: int * int -> Scalar<'a> with get, set - abstract Item: Mask2D option -> Scalar<'a> with set - abstract Item: Mask1D option * int -> Scalar<'a> with set - abstract Item: int * Mask1D option -> Scalar<'a> with set + abstract Fill: Mask2D option -> Scalar<'a> with set + abstract Fill: Mask1D option * int -> Scalar<'a> with set + abstract Fill: int * Mask1D option -> Scalar<'a> with set abstract Mxm: Matrix<'a> -> Mask2D option -> Semiring<'a> -> Matrix<'a> abstract Mxv: Vector<'a> -> Mask1D option -> Semiring<'a> -> Vector<'a> - abstract EWiseAdd: Matrix<'a> -> Mask2D option -> Semiring<'a> -> Matrix<'a> - abstract EWiseMult: Matrix<'a> -> Mask2D option -> Semiring<'a> -> Matrix<'a> + abstract EWiseAdd: Matrix<'a> -> Mask2D option -> Monoid<'a> -> Matrix<'a> + abstract EWiseMult: Matrix<'a> -> Mask2D option -> Monoid<'a> -> Matrix<'a> abstract Apply: Mask1D option -> UnaryOp<'a, 'b> -> Matrix<'b> abstract ReduceIn: Mask1D option -> Monoid<'a> -> Vector<'a> abstract ReduceOut: Mask1D option -> Monoid<'a> -> Vector<'a> + abstract Reduce: Monoid<'a> -> Scalar<'a> abstract T: Matrix<'a> - abstract EWiseAddInplace: Matrix<'a> -> Mask2D option -> Semiring<'a> -> unit - abstract EWiseMultInplace: Matrix<'a> -> Mask2D option -> Semiring<'a> -> unit - abstract ApplyInplace: Mask2D option -> UnaryOp<'a, 'b> -> unit - static member inline (+) (x: Matrix<'a>, y: Matrix<'a>) = x.EWiseAdd y static member inline (*) (x: Matrix<'a>, y: Matrix<'a>) = x.EWiseMult y - static member inline (+.*) (x: Matrix<'a>, y: Matrix<'a>) = x.Mxm y - static member inline (+.*) (x: Matrix<'a>, y: Vector<'a>) = x.Mxv y - static member inline (.+) (x: Matrix<'a>, y: Matrix<'a>) = x.EWiseAddInplace y - static member inline (.*) (x: Matrix<'a>, y: Matrix<'a>) = x.EWiseMultInplace y + static member inline (@.) (x: Matrix<'a>, y: Matrix<'a>) = x.Mxm y + static member inline (@.) (x: Matrix<'a>, y: Vector<'a>) = x.Mxv y -and [] Vector<'a when 'a : struct and 'a : equality>() = +and [] Vector<'a when 'a : struct and 'a : equality>(length: int) = abstract Length: int + default this.Length = length + abstract AsArray: 'a[] + abstract Clear: unit -> unit abstract Mask: Mask1D option abstract Complemented: Mask1D option abstract Item: Mask1D option -> Vector<'a> with get, set abstract Item: int -> Scalar<'a> with get, set - abstract Item: Mask1D option -> Scalar<'a> with set + abstract Fill: Mask1D option -> Scalar<'a> with set abstract Vxm: Matrix<'a> -> Mask1D option -> Semiring<'a> -> Vector<'a> - abstract EWiseAdd: Vector<'a> -> Mask1D option -> Semiring<'a> -> Vector<'a> - abstract EWiseMult: Vector<'a> -> Mask1D option -> Semiring<'a> -> Vector<'a> + abstract EWiseAdd: Vector<'a> -> Mask1D option -> Monoid<'a> -> Vector<'a> + abstract EWiseMult: Vector<'a> -> Mask1D option -> Monoid<'a> -> Vector<'a> abstract Apply: Mask1D option -> UnaryOp<'a, 'b> -> Vector<'b> abstract Reduce: Monoid<'a> -> Scalar<'a> - abstract EWiseAddInplace: Vector<'a> -> Mask1D option -> Semiring<'a> -> unit - abstract EWiseMultInplace: Vector<'a> -> Mask1D option -> Semiring<'a> -> unit - abstract ApplyInplace: Mask1D option -> UnaryOp<'a, 'b> -> unit - static member inline (+) (x: Vector<'a>, y: Vector<'a>) = x.EWiseAdd y static member inline (*) (x: Vector<'a>, y: Vector<'a>) = x.EWiseMult y - static member inline (+.*) (x: Vector<'a>, y: Matrix<'a>) = x.Vxm y - static member inline (.+) (x: Vector<'a>, y: Vector<'a>) = x.EWiseAddInplace y - static member inline (.*) (x: Vector<'a>, y: Vector<'a>) = x.EWiseMultInplace y + static member inline (@.) (x: Vector<'a>, y: Matrix<'a>) = x.Vxm y and Mask1D(indices: int[], length: int, isComplemented: bool) = - member this.IsComplemented = isComplemented - member this.Indices = indices member this.Length = length + member this.IsComplemented = isComplemented member this.Item with get (idx: int) : bool = - this.Indices |> Array.exists ( ( = ) idx) |> ( <> ) this.IsComplemented + this.Indices + |> Array.exists ((=) idx) + |> (<>) this.IsComplemented and Mask2D(indices: (int * int)[], rowCount: int, columnCount: int, isComplemented: bool) = - member this.IsComplemented = isComplemented - member this.Rows = indices |> Array.unzip |> fst member this.Columns = indices |> Array.unzip |> snd member this.RowCount = rowCount member this.ColumnCount = columnCount + member this.IsComplemented = isComplemented member this.Item with get (rowIdx: int, colIdx: int) : bool = - Array.zip this.Rows this.Columns |> Array.exists ( ( = ) (rowIdx, colIdx)) |> ( <> ) this.IsComplemented + (this.Rows, this.Columns) + ||> Array.zip + |> Array.exists ((=) (rowIdx, colIdx)) + |> (<>) this.IsComplemented diff --git a/src/GraphBLAS-sharp/Algorithms/BFS.fs b/src/GraphBLAS-sharp/Algorithms/BFS.fs new file mode 100644 index 00000000..07ec3eb5 --- /dev/null +++ b/src/GraphBLAS-sharp/Algorithms/BFS.fs @@ -0,0 +1,36 @@ +namespace GraphBLAS.FSharp.Algorithms + +open GraphBLAS.FSharp.Predefined +open GraphBLAS.FSharp.Helpers +open GraphBLAS.FSharp + +[] +module BFS = + let levelBFS (matrix: Matrix) (source: int) : Vector = + let vertexCount = matrix.RowCount + let levels = DenseVector(Array.zeroCreate vertexCount, IntegerMonoid.add) + + let frontier = SparseVector(vertexCount, [source, true]) + + let mutable currentLevel = 1 + while !> (frontier.Reduce BooleanMonoid.any) && currentLevel < vertexCount do + levels.Fill(frontier.Mask) <- Scalar currentLevel + frontier.Clear() + frontier.[levels.Complemented] <- (frontier @. matrix) levels.Complemented BooleanSemiring.anyAll + currentLevel <- currentLevel + 1 + + upcast levels + + // let parentBFS (matrix: Matrix) (source: int) : Vector = + // let vertexCount = matrix.RowCount + // let parents = SparseVector(vertexCount, [source, -1]) + + // let id = DenseVector(Array.init vertexCount id, IntegerMonoid.add) + // let frontier = SparseVector(vertexCount, [source, source]) + + // for _ in 1 .. vertexCount - 1 do + // frontier.[parents.Complemented] <- (frontier @. matrix) parents.Complemented IntegerSemiring.minFirst + // parents.[frontier.Mask] <- frontier + // frontier.[frontier.Mask] <- id + + // upcast parents diff --git a/src/GraphBLAS-sharp/Algorithms/SSSP.fs b/src/GraphBLAS-sharp/Algorithms/SSSP.fs new file mode 100644 index 00000000..24a42148 --- /dev/null +++ b/src/GraphBLAS-sharp/Algorithms/SSSP.fs @@ -0,0 +1,15 @@ +namespace GraphBLAS.FSharp.Algorithms + +open GraphBLAS.FSharp.Predefined +open GraphBLAS.FSharp + +[] +module SSSP = + let SSSP (matrix: Matrix) (source: int) : Vector = + let vertexCount = matrix.RowCount + let distance = SparseVector(vertexCount, [source, 0.]) + + for _ in 1 .. vertexCount - 1 do + distance.[None] <- (distance @. matrix) None FloatSemiring.minAdd + + upcast distance diff --git a/src/GraphBLAS-sharp/Algorithms/TriangleCounting.fs b/src/GraphBLAS-sharp/Algorithms/TriangleCounting.fs new file mode 100644 index 00000000..d1596751 --- /dev/null +++ b/src/GraphBLAS-sharp/Algorithms/TriangleCounting.fs @@ -0,0 +1,14 @@ +namespace GraphBLAS.FSharp.Algorithms + +open GraphBLAS.FSharp.Predefined +open GraphBLAS.FSharp + +[] +module TriangleCounting = + let sandiaTriangleCount (lowerTriangular: Matrix) = + let bool2int = function + | true -> 1 + | false -> 0 + let convertedMatrix = lowerTriangular.Apply None (UnaryOp <@ bool2int @>) + let result = (convertedMatrix @. convertedMatrix.T) lowerTriangular.Mask IntegerSemiring.addMult + result.Reduce IntegerMonoid.add diff --git a/src/GraphBLAS-sharp/CSRMatrix.fs b/src/GraphBLAS-sharp/CSRMatrix.fs deleted file mode 100644 index 12eb58e1..00000000 --- a/src/GraphBLAS-sharp/CSRMatrix.fs +++ /dev/null @@ -1,116 +0,0 @@ -namespace GraphBLAS.FSharp - -open Brahma.OpenCL -open Brahma.FSharp.OpenCL.Core -open Brahma.FSharp.OpenCL.Extensions -open OpenCLContext - -type CSRFormat<'a> = { - Values: 'a[] - Columns: int[] - RowPointers: int[] - ColumnCount: int -} -with - static member ZeroCreate<'a>() = { - Values = Array.zeroCreate<'a> 0 - Columns = Array.zeroCreate 0 - RowPointers = Array.zeroCreate 0 - ColumnCount = 0 - } - -type CSRMatrix<'a when 'a : struct and 'a : equality>(csrTuples: CSRFormat<'a>) = - inherit Matrix<'a>() - - let rowCount = csrTuples.RowPointers.Length - 1 - let columnCount = csrTuples.ColumnCount - - let spMV (vector: Vector<'a>) (mask: Mask1D) (context: Semiring<'a>) : Vector<'a> = - let csrMatrixRowCount = rowCount - let csrMatrixColumnCount = columnCount - let vectorLength = vector.Length - if csrMatrixColumnCount <> vectorLength then - invalidArg - "vector" - (sprintf "Argument has invalid dimension. Need %i, but given %i" csrMatrixColumnCount vectorLength) - - // let (BinaryOp op) = context.Times - let plus = !> context.PlusMonoid.Append - let mult = !> context.Times - - let resultVector = Array.zeroCreate<'a> csrMatrixRowCount - let command = - <@ - fun (ndRange: _1D) - (resultBuffer: 'a[]) - (csrValuesBuffer: 'a[]) - (csrColumnsBuffer: int[]) - (csrRowPointersBuffer: int[]) - (vectorBuffer: 'a[]) -> - - let i = ndRange.GlobalID0 - let mutable localResultBuffer = resultBuffer.[i] - for k in csrRowPointersBuffer.[i] .. csrRowPointersBuffer.[i + 1] - 1 do - localResultBuffer <- (%plus) localResultBuffer - ((%mult) csrValuesBuffer.[k] vectorBuffer.[csrColumnsBuffer.[k]]) - resultBuffer.[i] <- localResultBuffer - @> - - let (kernel, kernelPrepare, kernelRun) = currentContext.Provider.Compile command - let ndRange = _1D(csrMatrixRowCount) - kernelPrepare - ndRange - resultVector - csrTuples.Values - csrTuples.Columns - csrTuples.RowPointers - vector.AsArray - currentContext.CommandQueue.Add (kernelRun ()) |> ignore - currentContext.CommandQueue.Add (resultVector.ToHost currentContext.Provider) |> ignore - currentContext.CommandQueue.Finish () |> ignore - - upcast DenseVector(resultVector, context.PlusMonoid) - - new() = CSRMatrix(CSRFormat.ZeroCreate()) - - member this.Values = csrTuples.Values - member this.Columns = csrTuples.Columns - member this.RowPointers = csrTuples.RowPointers - - override this.RowCount = rowCount - override this.ColumnCount = columnCount - - override this.Mask = failwith "Not implemented" - override this.Complemented = failwith "Not implemented" - - override this.Item - with get (mask: Mask2D option) : Matrix<'a> = failwith "Not Implemented" - and set (mask: Mask2D option) (value: Matrix<'a>) = failwith "Not Implemented" - override this.Item - with get (vectorMask: Mask1D option, colIdx: int) : Vector<'a> = failwith "Not Implemented" - and set (vectorMask: Mask1D option, colIdx: int) (value: Vector<'a>) = failwith "Not Implemented" - override this.Item - with get (rowIdx: int, vectorMask: Mask1D option) : Vector<'a> = failwith "Not Implemented" - and set (rowIdx: int, vectorMask: Mask1D option) (value: Vector<'a>) = failwith "Not Implemented" - override this.Item - with get (rowIdx: int, colIdx: int) : Scalar<'a> = failwith "Not Implemented" - and set (rowIdx: int, colIdx: int) (value: Scalar<'a>) = failwith "Not Implemented" - override this.Item - with set (mask: Mask2D option) (value: Scalar<'a>) = failwith "Not Implemented" - override this.Item - with set (vectorMask: Mask1D option, colIdx: int) (value: Scalar<'a>) = failwith "Not Implemented" - override this.Item - with set (rowIdx: int, vectorMask: Mask1D option) (value: Scalar<'a>) = failwith "Not Implemented" - - override this.Mxm a b c = failwith "Not Implemented" - override this.Mxv a b c = failwith "Not Implemented" - override this.EWiseAdd a b c = failwith "Not Implemented" - override this.EWiseMult a b c = failwith "Not Implemented" - override this.Apply a b = failwith "Not Implemented" - override this.ReduceIn a b = failwith "Not Implemented" - override this.ReduceOut a b = failwith "Not Implemented" - override this.T = failwith "Not Implemented" - - override this.EWiseAddInplace a b c = failwith "Not Implemented" - override this.EWiseMultInplace a b c = failwith "Not Implemented" - override this.ApplyInplace a b = failwith "Not Implemented" diff --git a/src/GraphBLAS-sharp/ComputationalContext.fs b/src/GraphBLAS-sharp/ComputationalContext.fs deleted file mode 100644 index 92e10ed2..00000000 --- a/src/GraphBLAS-sharp/ComputationalContext.fs +++ /dev/null @@ -1,27 +0,0 @@ -namespace GraphBLAS.FSharp - -open Brahma.OpenCL -open Brahma.FSharp.OpenCL.Core -open Brahma.FSharp.OpenCL.Extensions -open OpenCL.Net -open Brahma.OpenCL -open GraphBLAS.FSharp - -type OpenCLContext = { - Provider: ComputeProvider - CommandQueue: CommandQueue -} - -module OpenCLContext = - let inline (!>) (x: ^a) : ^b = (^a : (static member op_Implicit : ^a -> ^b) x) - - let private provider = - try ComputeProvider.Create("INTEL*", DeviceType.Cpu) - with - | ex -> failwith ex.Message - let private que = new CommandQueue(provider, provider.Devices |> Seq.head) - - let currentContext = { - Provider = provider - CommandQueue = que - } diff --git a/src/GraphBLAS-sharp/DenseVector.fs b/src/GraphBLAS-sharp/DenseVector.fs deleted file mode 100644 index 53563a91..00000000 --- a/src/GraphBLAS-sharp/DenseVector.fs +++ /dev/null @@ -1,44 +0,0 @@ -namespace GraphBLAS.FSharp - -type DenseVector<'a when 'a : struct and 'a : equality>(vector: 'a[], monoid: Monoid<'a>) = - inherit Vector<'a>() - - new(monoid: Monoid<'a>) = DenseVector(Array.zeroCreate<'a> 0, monoid) - new(listOfIndices: int list, monoid: Monoid<'a>) = DenseVector(Array.zeroCreate<'a> 0, monoid) - - member this.Monoid = monoid - member this.Values = vector - - override this.Length = failwith "Not Implemented" - override this.AsArray = failwith "Not Implemented" - - override this.Mask = - let indices = - [| for i in 0 .. this.Length - 1 do - if this.Values.[i] <> this.Monoid.Zero then yield i |] - Some <| Mask1D(indices, this.Length, false) - - override this.Complemented = - let indices = - [| for i in 0 .. this.Length - 1 do - if this.Values.[i] <> this.Monoid.Zero then yield i |] - Some <| Mask1D(indices, this.Length, true) - - override this.Item - with get (mask: Mask1D option) : Vector<'a> = failwith "Not Implemented" - and set (mask: Mask1D option) (value: Vector<'a>) = failwith "Not Implemented" - override this.Item - with get (idx: int) : Scalar<'a> = failwith "Not Implemented" - and set (idx: int) (value: Scalar<'a>) = failwith "Not Implemented" - override this.Item - with set (mask: Mask1D option) (value: Scalar<'a>) = failwith "Not Implemented" - - override this.Vxm a b c = failwith "Not Implemented" - override this.EWiseAdd a b c = failwith "Not Implemented" - override this.EWiseMult a b c = failwith "Not Implemented" - override this.Apply a b = failwith "Not Implemented" - override this.Reduce a = failwith "Not Implemented" - - override this.EWiseAddInplace a b c = failwith "Not Implemented" - override this.EWiseMultInplace a b c = failwith "Not Implemented" - override this.ApplyInplace a b = failwith "Not Implemented" diff --git a/src/GraphBLAS-sharp/Exceptions.fs b/src/GraphBLAS-sharp/Exceptions.fs new file mode 100644 index 00000000..dc1d819d --- /dev/null +++ b/src/GraphBLAS-sharp/Exceptions.fs @@ -0,0 +1,3 @@ +namespace GraphBLAS.FSharp + +exception DimensionalMismatchException of string diff --git a/src/GraphBLAS-sharp/FodyWeavers.xml b/src/GraphBLAS-sharp/FodyWeavers.xml new file mode 100644 index 00000000..20aae2eb --- /dev/null +++ b/src/GraphBLAS-sharp/FodyWeavers.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/GraphBLAS-sharp/FodyWeavers.xsd b/src/GraphBLAS-sharp/FodyWeavers.xsd new file mode 100644 index 00000000..686bf548 --- /dev/null +++ b/src/GraphBLAS-sharp/FodyWeavers.xsd @@ -0,0 +1,26 @@ + + + + + + + + + + + 'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed. + + + + + A comma-separated list of error codes that can be safely ignored in assembly verification. + + + + + 'false' to turn off automatic generation of the XML Schema file. + + + + + \ No newline at end of file diff --git a/src/GraphBLAS-sharp/GlobalContext.fs b/src/GraphBLAS-sharp/GlobalContext.fs new file mode 100644 index 00000000..5fe6acb8 --- /dev/null +++ b/src/GraphBLAS-sharp/GlobalContext.fs @@ -0,0 +1,13 @@ +namespace GraphBLAS.FSharp + +open Brahma.FSharp.OpenCL.WorkflowBuilder.Evaluation + +[] +module GlobalContext = + type MatrixBackendFormat = + | CSR + | COO + | Dense + + let mutable oclContext = OpenCLEvaluationContext() + let mutable matrixBackendFormat = CSR diff --git a/src/GraphBLAS-sharp/GraphBLAS-sharp.fsproj b/src/GraphBLAS-sharp/GraphBLAS-sharp.fsproj index daec25f2..facc34e5 100644 --- a/src/GraphBLAS-sharp/GraphBLAS-sharp.fsproj +++ b/src/GraphBLAS-sharp/GraphBLAS-sharp.fsproj @@ -8,16 +8,23 @@ + + - + - - - - - + + + + + + + + + + \ No newline at end of file diff --git a/src/GraphBLAS-sharp/Helpers.fs b/src/GraphBLAS-sharp/Helpers.fs new file mode 100644 index 00000000..546343d2 --- /dev/null +++ b/src/GraphBLAS-sharp/Helpers.fs @@ -0,0 +1,4 @@ +namespace GraphBLAS.FSharp + +module Helpers = + let inline (!>) (x: ^a) : ^b = (^a : (static member op_Implicit : ^a -> ^b) x) diff --git a/src/GraphBLAS-sharp/Implementations.fs b/src/GraphBLAS-sharp/Implementations.fs new file mode 100644 index 00000000..37e82fe7 --- /dev/null +++ b/src/GraphBLAS-sharp/Implementations.fs @@ -0,0 +1,180 @@ +namespace GraphBLAS.FSharp + +open Brahma.OpenCL +open Brahma.FSharp.OpenCL.Core +open Brahma.FSharp.OpenCL.Extensions +open GlobalContext +open Helpers +open FSharp.Quotations.Evaluator +open Brahma.FSharp.OpenCL.WorkflowBuilder.Basic +open Brahma.FSharp.OpenCL.WorkflowBuilder.Evaluation + +type CSRFormat<'a> = { + Values: 'a[] + Columns: int[] + RowPointers: int[] + ColumnCount: int +} +with + static member CreateEmpty<'a>() = { + Values = Array.zeroCreate<'a> 0 + Columns = Array.zeroCreate 0 + RowPointers = Array.zeroCreate 0 + ColumnCount = 0 + } + +type CSRMatrix<'a when 'a : struct and 'a : equality>(csrTuples: CSRFormat<'a>) = + inherit Matrix<'a>(csrTuples.RowPointers.Length - 1, csrTuples.ColumnCount) + + let rowCount = base.RowCount + let columnCount = base.ColumnCount + + let spMV (vector: Vector<'a>) (mask: Mask1D) (semiring: Semiring<'a>) : Vector<'a> = + let csrMatrixRowCount = rowCount + let csrMatrixColumnCount = columnCount + let vectorLength = vector.Length + if csrMatrixColumnCount <> vectorLength then + invalidArg + "vector" + (sprintf "Argument has invalid dimension. Need %i, but given %i" csrMatrixColumnCount vectorLength) + + let (BinaryOp plus) = semiring.PlusMonoid.Append + let (BinaryOp mult) = semiring.Times + + let resultVector = Array.zeroCreate<'a> csrMatrixRowCount + let command = + <@ + fun (ndRange: _1D) + (resultBuffer: 'a[]) + (csrValuesBuffer: 'a[]) + (csrColumnsBuffer: int[]) + (csrRowPointersBuffer: int[]) + (vectorBuffer: 'a[]) -> + + let i = ndRange.GlobalID0 + let mutable localResultBuffer = resultBuffer.[i] + for k in csrRowPointersBuffer.[i] .. csrRowPointersBuffer.[i + 1] - 1 do + localResultBuffer <- (%plus) localResultBuffer + ((%mult) csrValuesBuffer.[k] vectorBuffer.[csrColumnsBuffer.[k]]) + resultBuffer.[i] <- localResultBuffer + @> + + let ndRange = _1D(csrMatrixRowCount) + let binder = fun kernelPrepare -> + kernelPrepare + ndRange + resultVector + csrTuples.Values + csrTuples.Columns + csrTuples.RowPointers + vector.AsArray + + let eval = opencl { + do! RunCommand command binder + return! ToHost resultVector + } + + upcast DenseVector(oclContext.RunSync eval, semiring.PlusMonoid) + + member this.Values = csrTuples.Values + member this.Columns = csrTuples.Columns + member this.RowPointers = csrTuples.RowPointers + + override this.Mask = failwith "Not implemented" + override this.Complemented = failwith "Not implemented" + + override this.Item + with get (mask: Mask2D option) : Matrix<'a> = failwith "Not Implemented" + and set (mask: Mask2D option) (value: Matrix<'a>) = failwith "Not Implemented" + override this.Item + with get (vectorMask: Mask1D option, colIdx: int) : Vector<'a> = failwith "Not Implemented" + and set (vectorMask: Mask1D option, colIdx: int) (value: Vector<'a>) = failwith "Not Implemented" + override this.Item + with get (rowIdx: int, vectorMask: Mask1D option) : Vector<'a> = failwith "Not Implemented" + and set (rowIdx: int, vectorMask: Mask1D option) (value: Vector<'a>) = failwith "Not Implemented" + override this.Item + with get (rowIdx: int, colIdx: int) : Scalar<'a> = failwith "Not Implemented" + and set (rowIdx: int, colIdx: int) (value: Scalar<'a>) = failwith "Not Implemented" + override this.Fill + with set (mask: Mask2D option) (value: Scalar<'a>) = failwith "Not Implemented" + override this.Fill + with set (vectorMask: Mask1D option, colIdx: int) (value: Scalar<'a>) = failwith "Not Implemented" + override this.Fill + with set (rowIdx: int, vectorMask: Mask1D option) (value: Scalar<'a>) = failwith "Not Implemented" + + override this.Mxm a b c = failwith "Not Implemented" + override this.Mxv a b c = failwith "Not Implemented" + override this.EWiseAdd a b c = failwith "Not Implemented" + override this.EWiseMult a b c = failwith "Not Implemented" + override this.Apply a b = failwith "Not Implemented" + override this.ReduceIn a b = failwith "Not Implemented" + override this.ReduceOut a b = failwith "Not Implemented" + override this.Reduce a = failwith "Not Implemented" + override this.T = failwith "Not Implemented" + +and SparseVector<'a when 'a : struct and 'a : equality>(size: int, listOfNonzeroes: (int * 'a) list) = + inherit Vector<'a>(size) + + member this.AsList: (int * 'a) list = listOfNonzeroes + + override this.AsArray = failwith "Not Implemented" + override this.Clear() = failwith "Not Implemented" + + override this.Mask = failwith "Not implemented" + override this.Complemented = failwith "Not implemented" + + override this.Item + with get (mask: Mask1D option) : Vector<'a> = failwith "Not Implemented" + and set (mask: Mask1D option) (value: Vector<'a>) = failwith "Not Implemented" + override this.Item + with get (idx: int) : Scalar<'a> = failwith "Not Implemented" + and set (idx: int) (value: Scalar<'a>) = failwith "Not Implemented" + override this.Fill + with set (mask: Mask1D option) (value: Scalar<'a>) = failwith "Not Implemented" + + override this.Vxm (matrix: Matrix<'a>) (mask: Mask1D option) (semiring: Semiring<'a>) : Vector<'a> = failwith "Not Implemented" + override this.EWiseAdd a b c = failwith "Not Implemented" + override this.EWiseMult a b c = failwith "Not Implemented" + override this.Apply a b = failwith "Not Implemented" + override this.Reduce (monoid: Monoid<'a>) = failwith "Not Implemented" + +and DenseVector<'a when 'a : struct and 'a : equality>(vector: 'a[], monoid: Monoid<'a>) = + inherit Vector<'a>(vector.Length) + + // Not Implemented + new(monoid: Monoid<'a>) = DenseVector(Array.zeroCreate<'a> 0, monoid) + // Not Implemented + new(listOfIndices: int list, monoid: Monoid<'a>) = DenseVector(Array.zeroCreate<'a> 0, monoid) + + member this.Monoid = monoid + member this.Values = vector + + override this.AsArray = failwith "Not Implemented" + override this.Clear() = failwith "Not Implemented" + + override this.Mask = + let indices = + [| for i in 0 .. this.Length - 1 do + if this.Values.[i] <> this.Monoid.Zero then yield i |] + Some <| Mask1D(indices, this.Length, false) + + override this.Complemented = + let indices = + [| for i in 0 .. this.Length - 1 do + if this.Values.[i] <> this.Monoid.Zero then yield i |] + Some <| Mask1D(indices, this.Length, true) + + override this.Item + with get (mask: Mask1D option) : Vector<'a> = failwith "Not Implemented" + and set (mask: Mask1D option) (value: Vector<'a>) = failwith "Not Implemented" + override this.Item + with get (idx: int) : Scalar<'a> = failwith "Not Implemented" + and set (idx: int) (value: Scalar<'a>) = failwith "Not Implemented" + override this.Fill + with set (mask: Mask1D option) (value: Scalar<'a>) = failwith "Not Implemented" + + override this.Vxm a b c = failwith "Not Implemented" + override this.EWiseAdd a b c = failwith "Not Implemented" + override this.EWiseMult a b c = failwith "Not Implemented" + override this.Apply a b = failwith "Not Implemented" + override this.Reduce (monoid: Monoid<'a>) = failwith "Not Implemented" diff --git a/src/GraphBLAS-sharp/Matrix.fs b/src/GraphBLAS-sharp/Matrix.fs new file mode 100644 index 00000000..a85848b8 --- /dev/null +++ b/src/GraphBLAS-sharp/Matrix.fs @@ -0,0 +1,30 @@ +namespace GraphBLAS.FSharp + +module MatrixBackend = + // можно убрать перегрузку и добавить возможность partitial application + type Matrix<'a when 'a : struct and 'a : equality> with + static member Build(denseMatrix: 'T[,], zero: 'T, matrixType: MatrixBackendFormat) : Matrix<'T> = + failwith "Not Implemented" + static member Build(pathToMatrix: string, matrixType: MatrixBackendFormat) : Matrix<'T> = + failwith "Not Implemented" + static member Build(rowCount: int, columnCount: int, initializer: int -> int -> 'T, matrixType: MatrixBackendFormat) : Matrix<'T> = + failwith "Not Implemented" + static member ZeroCreate(rowCount: int, columnCount: int, matrixType: MatrixBackendFormat) : Matrix<'T> = + failwith "Not Implemented" + +[] +module MatrixExtensions = + open MatrixBackend + type Matrix<'a when 'a : struct and 'a : equality> with + static member Build(denseMatrix: 'T[,], zero: 'T) : Matrix<'T> = + Matrix.Build(denseMatrix, zero, matrixBackendFormat) + static member Build(pathToMatrix: string) : Matrix<'T> = + Matrix.Build(pathToMatrix, matrixBackendFormat) + static member Build(rowCount: int, columnCount: int, initializer: int -> int -> 'T) : Matrix<'T> = + Matrix.Build(rowCount, columnCount, initializer, matrixBackendFormat) + static member ZeroCreate(rowCount: int, columnCount: int) : Matrix<'T> = + Matrix.ZeroCreate(rowCount, columnCount) + +[] +module Matrix = + let toSeq (matrix: Matrix<'a>) = failwith "Not Implemented" diff --git a/src/GraphBLAS-sharp/Monoid.fs b/src/GraphBLAS-sharp/Monoid.fs index 56c19d39..5fb09de9 100644 --- a/src/GraphBLAS-sharp/Monoid.fs +++ b/src/GraphBLAS-sharp/Monoid.fs @@ -1,6 +1,6 @@ namespace GraphBLAS.FSharp -type Monoid<'a> = { - Zero: 'a - Append: BinaryOp<'a, 'a, 'a> +type Monoid<'T> = { + Zero: 'T + Append: BinaryOp<'T, 'T, 'T> } diff --git a/src/GraphBLAS-sharp/Operators.fs b/src/GraphBLAS-sharp/Operators.fs index 89b64a0f..57a0521d 100644 --- a/src/GraphBLAS-sharp/Operators.fs +++ b/src/GraphBLAS-sharp/Operators.fs @@ -2,11 +2,11 @@ namespace GraphBLAS.FSharp open Microsoft.FSharp.Quotations -type UnaryOp<'a, 'b> = UnaryOp of Expr<'a -> 'b> +type UnaryOp<'TIn, 'TOut> = UnaryOp of Expr<'TIn -> 'TOut> with static member op_Implicit (UnaryOp source) = source -type BinaryOp<'a, 'b, 'c> = BinaryOp of Expr<'a -> 'b -> 'c> +type BinaryOp<'T1, 'T2, 'TOut> = BinaryOp of Expr<'T1 -> 'T2 -> 'TOut> with static member op_Implicit (BinaryOp source) = source diff --git a/src/GraphBLAS-sharp/Predefined/Boolean.fs b/src/GraphBLAS-sharp/Predefined/Boolean.fs new file mode 100644 index 00000000..fafbb54a --- /dev/null +++ b/src/GraphBLAS-sharp/Predefined/Boolean.fs @@ -0,0 +1,15 @@ +namespace GraphBLAS.FSharp.Predefined + +open GraphBLAS.FSharp + +module BooleanMonoid = + let any: Monoid = { + Zero = false + Append = BinaryOp <@ ( || ) @> + } + +module BooleanSemiring = + let anyAll: Semiring = { + PlusMonoid = BooleanMonoid.any + Times = BinaryOp <@ ( && ) @> + } diff --git a/src/GraphBLAS-sharp/Predefined/Float.fs b/src/GraphBLAS-sharp/Predefined/Float.fs new file mode 100644 index 00000000..e0fb907b --- /dev/null +++ b/src/GraphBLAS-sharp/Predefined/Float.fs @@ -0,0 +1,25 @@ +namespace GraphBLAS.FSharp.Predefined + +open GraphBLAS.FSharp + +module FloatMonoid = + let add: Monoid = { + Zero = 0. + Append = BinaryOp <@ ( + ) @> + } + + let min: Monoid = { + Zero = System.Double.PositiveInfinity + Append = BinaryOp <@ fun x y -> System.Math.Min(x, y) @> + } + +module FloatSemiring = + let addMult: Semiring = { + PlusMonoid = FloatMonoid.add + Times = BinaryOp <@ ( * ) @> + } + + let minAdd: Semiring = { + PlusMonoid = FloatMonoid.min + Times = BinaryOp <@ ( + ) @> + } diff --git a/src/GraphBLAS-sharp/Predefined/Integer.fs b/src/GraphBLAS-sharp/Predefined/Integer.fs new file mode 100644 index 00000000..5b166fe7 --- /dev/null +++ b/src/GraphBLAS-sharp/Predefined/Integer.fs @@ -0,0 +1,25 @@ +namespace GraphBLAS.FSharp.Predefined + +open GraphBLAS.FSharp + +module IntegerMonoid = + let add: Monoid = { + Zero = 0 + Append = BinaryOp <@ ( + ) @> + } + + let min: Monoid = { + Zero = System.Int32.MaxValue + Append = BinaryOp <@ fun x y -> System.Math.Min(x, y) @> + } + +module IntegerSemiring = + let addMult: Semiring = { + PlusMonoid = IntegerMonoid.add + Times = BinaryOp <@ ( * ) @> + } + + // let minFirst<'b> : Semiring = { + // PlusMonoid = IntegerMonoid.min + // Times = BinaryOp <@ fun x y -> x @> + // } diff --git a/src/GraphBLAS-sharp/Semiring.fs b/src/GraphBLAS-sharp/Semiring.fs index 3d8fd266..b05c51d4 100644 --- a/src/GraphBLAS-sharp/Semiring.fs +++ b/src/GraphBLAS-sharp/Semiring.fs @@ -1,16 +1,6 @@ namespace GraphBLAS.FSharp -type Semiring<'a> = { - PlusMonoid: Monoid<'a> - Times: BinaryOp<'a, 'a, 'a> +type Semiring<'T> = { + PlusMonoid: Monoid<'T> + Times: BinaryOp<'T, 'T, 'T> } - -module Semiring = - let create<'a> (zero: 'a) (plus: BinaryOp<'a, 'a, 'a>) (times: BinaryOp<'a, 'a, 'a>) = - { - PlusMonoid = { - Zero = zero - Append = plus - } - Times = times - } diff --git a/src/GraphBLAS-sharp/Semirings/Boolean.fs b/src/GraphBLAS-sharp/Semirings/Boolean.fs deleted file mode 100644 index 5eff6d8c..00000000 --- a/src/GraphBLAS-sharp/Semirings/Boolean.fs +++ /dev/null @@ -1,9 +0,0 @@ -namespace GraphBLAS.FSharp - -[] -type OrAndSemiring = OrAndSemiring of bool -with - static member Zero = OrAndSemiring false - static member (+) (OrAndSemiring x, OrAndSemiring y) = (x || y) |> OrAndSemiring - static member (*) (OrAndSemiring x, OrAndSemiring y) = (x && y) |> OrAndSemiring - static member op_Implicit (OrAndSemiring source) = source diff --git a/src/GraphBLAS-sharp/Semirings/Float.fs b/src/GraphBLAS-sharp/Semirings/Float.fs deleted file mode 100644 index b4f46bd4..00000000 --- a/src/GraphBLAS-sharp/Semirings/Float.fs +++ /dev/null @@ -1,9 +0,0 @@ -namespace GraphBLAS.FSharp - -[] -type MinPlusSemiring = MinPlusSemiring of float -with - static member Zero = MinPlusSemiring System.Double.PositiveInfinity - static member (+) (MinPlusSemiring x, MinPlusSemiring y) = System.Math.Min(x, y) |> MinPlusSemiring - static member (*) (MinPlusSemiring x, MinPlusSemiring y) = x + y |> MinPlusSemiring - static member op_Implicit (MinPlusSemiring source) = source diff --git a/src/GraphBLAS-sharp/Vector.fs b/src/GraphBLAS-sharp/Vector.fs new file mode 100644 index 00000000..7c35c247 --- /dev/null +++ b/src/GraphBLAS-sharp/Vector.fs @@ -0,0 +1,22 @@ +namespace GraphBLAS.FSharp + +[] +module VectorExtensions = + type Vector<'a when 'a : struct and 'a : equality> with + static member Sparse(denseVector: 'T[], zero: 'T) : Vector<'T> = + failwith "Not Implemented" + static member Sparse(length: int, initializer: int -> 'T) : Vector<'T> = + failwith "Not Implemented" + static member ZeroSparse(length: int) : Vector<'T> = + failwith "Not Implemented" + + static member Dense(denseVector: 'T[], monoid: Monoid<'T>) : Vector<'T> = + failwith "Not Implemented" + static member Dense(length: int, initializer: int -> 'T, monoid: Monoid<'T>) : Vector<'T> = + failwith "Not Implemented" + static member ZeroDense(length: int, monoid: Monoid<'T>) : Vector<'T> = + failwith "Not Implemented" + +[] +module Vector = + let toSeq (vector: Vector<'a>) = failwith "Not Implemented" diff --git a/src/GraphBLAS-sharp/paket.references b/src/GraphBLAS-sharp/paket.references index 0864712a..23d8c16f 100644 --- a/src/GraphBLAS-sharp/paket.references +++ b/src/GraphBLAS-sharp/paket.references @@ -3,4 +3,4 @@ Microsoft.SourceLink.GitHub Microsoft.NETFramework.ReferenceAssemblies Brahma.FSharp -Brahma.FSharp.OpenCL.WorkflowBuilder \ No newline at end of file +Brahma.FSharp.OpenCL.WorkflowBuilder diff --git a/tests/GraphBLAS-sharp.Tests/CSRMatrixTests.fs b/tests/GraphBLAS-sharp.Tests/CSRMatrixTests.fs deleted file mode 100644 index 0a2e6183..00000000 --- a/tests/GraphBLAS-sharp.Tests/CSRMatrixTests.fs +++ /dev/null @@ -1,37 +0,0 @@ -namespace CSRMultiplication.Tests - -// open System -// open Xunit -// open FsUnit.Xunit -// open FsCheck -// open FsCheck.Xunit -// open GraphBLAS.FSharp - -// [] -module CSRMatrixTests = - () - -// type FloatMatrix = -// static member FloatSparseMatrix () = -// Gen.oneof [ -// Arb.Default.NormalFloat () |> Arb.toGen |> Gen.map float -// Gen.constant 0. -// ] -// |> Gen.array2DOf -// |> Arb.fromGen - -// [ |])>] -// let ``Matrix should be original after inverse fromCsr transformation`` (matrix: float[,]) = -// let makeDenseFromCsr (matrix: CSRMatrix) = -// let rowCount = matrix.RowCount -// let columnCount = matrix.ColumnCount -// let bufferMatrix = Array2D.zeroCreate rowCount columnCount -// for rowIdx in 0 .. rowCount - 1 do -// for i in matrix.RowPointers.[rowIdx] .. matrix.RowPointers.[rowIdx + 1] - 1 do -// let columnIdx = matrix.Columns.[i] -// let value = matrix.Values.[i] -// bufferMatrix.[rowIdx, columnIdx] <- value -// bufferMatrix - -// let result = matrix |> CSRMatrix.ofDense |> makeDenseFromCsr -// result = matrix |@ (sprintf "\n %A \n %A \n" result matrix) diff --git a/tests/GraphBLAS-sharp.Tests/Common.fs b/tests/GraphBLAS-sharp.Tests/Common.fs new file mode 100644 index 00000000..16437e87 --- /dev/null +++ b/tests/GraphBLAS-sharp.Tests/Common.fs @@ -0,0 +1,34 @@ +namespace GraphBLAS.FSharp.Tests + +open System + +type VectorType = + | Sparse = 0 + | Dense = 1 + +type MatrixType = + | CSR = 0 + | COO = 1 + +type MaskType = + | Regular = 0 + | Complemented = 1 + | None = 2 + +module Utils = + let rec cartesian lstlst = + match lstlst with + | [x] -> + List.fold (fun acc elem -> [elem]::acc) [] x + | h::t -> + List.fold (fun cacc celem -> + (List.fold (fun acc elem -> (elem::celem)::acc) [] h) @ cacc + ) [] (cartesian t) + | _ -> [] + + /// Return all values for an enumeration type + let enumValues (enumType: Type) : int list = + let values = Enum.GetValues enumType + let lb = values.GetLowerBound 0 + let ub = values.GetUpperBound 0 + [lb .. ub] |> List.map (fun i -> values.GetValue i :?> int) diff --git a/tests/GraphBLAS-sharp.Tests/FodyWeavers.xml b/tests/GraphBLAS-sharp.Tests/FodyWeavers.xml new file mode 100644 index 00000000..20aae2eb --- /dev/null +++ b/tests/GraphBLAS-sharp.Tests/FodyWeavers.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/tests/GraphBLAS-sharp.Tests/FodyWeavers.xsd b/tests/GraphBLAS-sharp.Tests/FodyWeavers.xsd new file mode 100644 index 00000000..686bf548 --- /dev/null +++ b/tests/GraphBLAS-sharp.Tests/FodyWeavers.xsd @@ -0,0 +1,26 @@ + + + + + + + + + + + 'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed. + + + + + A comma-separated list of error codes that can be safely ignored in assembly verification. + + + + + 'false' to turn off automatic generation of the XML Schema file. + + + + + \ No newline at end of file diff --git a/tests/GraphBLAS-sharp.Tests/GraphBLAS-sharp.Tests.fsproj b/tests/GraphBLAS-sharp.Tests/GraphBLAS-sharp.Tests.fsproj index 7536bba7..b47330c9 100644 --- a/tests/GraphBLAS-sharp.Tests/GraphBLAS-sharp.Tests.fsproj +++ b/tests/GraphBLAS-sharp.Tests/GraphBLAS-sharp.Tests.fsproj @@ -8,8 +8,9 @@ - - + + + \ No newline at end of file diff --git a/tests/GraphBLAS-sharp.Tests/Main.fs b/tests/GraphBLAS-sharp.Tests/Main.fs new file mode 100644 index 00000000..f84bb8a0 --- /dev/null +++ b/tests/GraphBLAS-sharp.Tests/Main.fs @@ -0,0 +1,16 @@ +namespace GraphBLAS.FSharp.Tests + +open Expecto + +module Main = + [] + let allTests = + testList "All Tests" [ + + ] + + [] + let main argv = + allTests + |> runTestsWithCLIArgs [] argv + diff --git a/tests/GraphBLAS-sharp.Tests/OperationsTests/VxmTests.fs b/tests/GraphBLAS-sharp.Tests/OperationsTests/VxmTests.fs new file mode 100644 index 00000000..04320660 --- /dev/null +++ b/tests/GraphBLAS-sharp.Tests/OperationsTests/VxmTests.fs @@ -0,0 +1,134 @@ +namespace GraphBLAS.FSharp.Tests + +open Expecto +open FsCheck +open GraphBLAS.FSharp +open MathNet.Numerics + +type OperationCase = { + VectorCase: VectorType + MatrixCase: MatrixType + MaskCase: MaskType +} + +type MatrixMultiplicationPair = + static member DimensionGen2() = + fun size -> + Gen.choose (0, size |> float |> sqrt |> int) + |> Gen.two + |> Gen.sized + |> Arb.fromGen + + static member DimensionGen3() = + fun size -> + Gen.choose (0, size |> float |> sqrt |> int) + |> Gen.three + |> Gen.sized + |> Arb.fromGen + + static member FloatSparseMatrixVectorPair() = + fun size -> + let floatSparseGenerator = + Gen.oneof [ + Arb.Default.NormalFloat() |> Arb.toGen |> Gen.map float + Gen.constant 0. + ] + + let dimGenerator = + Gen.choose (0, size |> float |> sqrt |> int) + |> Gen.two + + gen { + let! (rows, cols) = dimGenerator + let! matrix = floatSparseGenerator |> Gen.array2DOfDim (rows, cols) + let! vector = floatSparseGenerator |> Gen.arrayOfLength cols + return (matrix, vector) + } + |> Gen.filter (fun (matrix, vector) -> matrix.Length <> 0 && vector.Length <> 0) + |> Gen.filter (fun (matrix, vector) -> + matrix |> Seq.cast |> Seq.exists (fun elem -> abs elem > System.Double.Epsilon) && + vector |> Seq.cast |> Seq.exists (fun elem -> abs elem > System.Double.Epsilon)) + |> Gen.sized + |> Arb.fromGen + +module VxmTests = + open MatrixBackend + + let config = { + FsCheckConfig.defaultConfig with + arbitrary = [ typeof ] + } + + let testCases = + [ + typeof + typeof + typeof + ] + |> List.map Utils.enumValues + |> Utils.cartesian + |> List.map (fun list -> + { + VectorCase = enum list.[0] + MatrixCase = enum list.[1] + MaskCase = enum list.[2] + }) + + let vxmTestsInStandardSemiring = + let stdSemiring = Predefined.FloatSemiring.addMult + ptestList "Float vector-matrix multiplication tests" ( + List.collect (fun case -> + // добавить возможность пропускать некоторые случаи + let matrixBackend = + match case.MatrixCase with + | MatrixType.CSR -> CSR + | _ -> failwith "Not Implemented" + + let vectorConstructor = + match case.VectorCase with + | VectorType.Sparse -> (fun array -> Vector.Sparse(array, 0.)) + | _ -> failwith "Not Implemented" + + let zeroVectorConstructor = + match case.VectorCase with + | VectorType.Sparse -> (fun length -> Vector.ZeroSparse(length)) + | _ -> failwith "Not Implemented" + + let mask : Mask1D option = + match case.MaskCase with + | MaskType.None -> failwith "Not Implemented" + | _ -> failwith "Not Implemented" + + [ + testPropertyWithConfig config "Dimensional mismatch should raise an exception" <| + fun matrixRowCount matrixColumnCount vectorSize -> + let emptyMatrix = Matrix.ZeroCreate(matrixRowCount, matrixColumnCount, matrixBackend) + let emptyVector = zeroVectorConstructor vectorSize + + Expect.throwsT + (fun () -> (emptyVector @. emptyMatrix) mask stdSemiring |> ignore) + (sprintf "1x%i @ %ix%i\n case:\n %A" vectorSize matrixRowCount matrixColumnCount case) + + testPropertyWithConfig config "Operation should have correct semantic" <| + fun (denseMatrix: float[,]) (denseVector: float[]) -> + let matrix = Matrix.Build(denseMatrix, 0., matrixBackend) + let vector = vectorConstructor denseVector + let result = (vector @. matrix) mask stdSemiring + let a = LinearAlgebra.DenseMatrix.ofArray2 denseMatrix + let b = LinearAlgebra.DenseVector.ofArray denseVector + let c = b * a + let elementWiseDifference = + (result |> Vector.toSeq, c.AsArray() |> Seq.ofArray) + ||> Seq.zip + |> Seq.map (fun (a, b) -> a - b) + + Expect.all + elementWiseDifference + (fun diff -> abs diff < Accuracy.medium.absolute) + (sprintf "%A @ %A = %A\n case:\n %A" vector matrix result case) + + ptestPropertyWithConfig config "Explicit zeroes after operation should be dropped" <| + fun a b -> a + b = b + a + ] + ) testCases + ) diff --git a/tests/GraphBLAS-sharp.Tests/Program.fs b/tests/GraphBLAS-sharp.Tests/Program.fs deleted file mode 100644 index 0695f84c..00000000 --- a/tests/GraphBLAS-sharp.Tests/Program.fs +++ /dev/null @@ -1 +0,0 @@ -module Program = let [] main _ = 0 diff --git a/tests/GraphBLAS-sharp.Tests/SparseMatrixMultiplicationTests.fs b/tests/GraphBLAS-sharp.Tests/SparseMatrixMultiplicationTests.fs deleted file mode 100644 index 90146c1b..00000000 --- a/tests/GraphBLAS-sharp.Tests/SparseMatrixMultiplicationTests.fs +++ /dev/null @@ -1,189 +0,0 @@ -namespace CSRMultiplication.Tests - -// open Xunit -// open FsUnit.Xunit -// open FsCheck -// open FsCheck.Xunit -// open CSRMultiplication -// open OpenCL.Net -// open Brahma.OpenCL -// open GraphBLAS.FSharp - -module SparseMatrixMultiplicationTests = - () - -// type MatrixMultiplicationPair = -// static member FloatSparseMatricesPair () = -// fun size -> -// let floatSparseGenerator = -// Gen.oneof [ -// Arb.Default.NormalFloat () |> Arb.toGen |> Gen.map float -// Gen.constant 0. -// ] - -// let dimGenerator = -// Gen.choose (0, size |> float |> sqrt |> int) -// |> Gen.three -// |> Gen.map (fun (m, n, k) -> ((m, n), (n, k))) - -// gen { -// let! (leftDim, rightDim) = dimGenerator -// let! leftMatrix = floatSparseGenerator |> Gen.array2DOfDim leftDim -// let! rightMatrix = floatSparseGenerator |> Gen.array2DOfDim rightDim -// return (leftMatrix, rightMatrix) -// } -// |> Gen.filter (fun (left, right) -> left.Length <> 0 && right.Length <> 0) -// |> Gen.filter (fun (left, right) -> -// left |> Seq.cast |> Seq.exists (fun elem -> abs elem > System.Double.Epsilon) && -// right |> Seq.cast |> Seq.exists (fun elem -> abs elem > System.Double.Epsilon)) -// |> Gen.sized -// |> Arb.fromGen - -// static member FloatSparseMatrixVectorPair () = -// fun size -> -// let floatSparseGenerator = -// Gen.oneof [ -// Arb.Default.NormalFloat () |> Arb.toGen |> Gen.map float -// Gen.constant 0. -// ] - -// let dimGenerator = -// Gen.choose (0, size |> float |> sqrt |> int) -// |> Gen.two - -// gen { -// let! (rows, cols) = dimGenerator -// let! matrix = floatSparseGenerator |> Gen.array2DOfDim (rows, cols) -// let! vector = floatSparseGenerator |> Gen.arrayOfLength cols -// return (matrix, vector) -// } -// |> Gen.filter (fun (matrix, vector) -> matrix.Length <> 0 && vector.Length <> 0) -// |> Gen.filter (fun (matrix, vector) -> -// matrix |> Seq.cast |> Seq.exists (fun elem -> abs elem > System.Double.Epsilon) && -// vector |> Seq.cast |> Seq.exists (fun elem -> abs elem > System.Double.Epsilon)) -// |> Gen.sized -// |> Arb.fromGen - -// let getFlattenedDiff<'a when 'a :> System.Collections.IEnumerable> (result: 'a) (expected: 'a) = -// let pairMap f (x, y) = f x, f y -// (result, expected) -// |> pairMap Seq.cast -// ||> Seq.zip -// |> Seq.map (fun (x, y) -> x - y) - -// let checkEquality<'a when 'a :> System.Collections.IEnumerable> (result: 'a) (expected: 'a) = -// getFlattenedDiff result expected -// |> Seq.forall (fun diff -> diff < 1e-8) - -// let getLabel<'a when 'a :> System.Collections.IEnumerable> (result: 'a) (expected: 'a) = -// sprintf "\n Total diff:\n %A\n Result:\n %A\n Expected:\n %A\n" -// (getFlattenedDiff result expected |> Seq.sum) -// result -// expected - -// [] -// type Tests() = -// let matrixVectorMultiply (vector: float[]) (matrix: float[,]) = -// let rows = matrix |> Array2D.length1 -// let cols = matrix |> Array2D.length2 -// let resultVector = Array.zeroCreate rows -// for i in 0 .. rows - 1 do -// let mutable buffer = 0. -// for j in 0 .. cols - 1 do -// buffer <- buffer + matrix.[i, j] * vector.[j] -// resultVector.[i] <- buffer -// resultVector - -// let matrixMatrixMultiply (right: float[,]) (left: float[,]) = -// let rows = left |> Array2D.length1 -// let cols = right |> Array2D.length2 -// let resultMatrix = Array2D.zeroCreate rows cols -// for i in 0 .. rows - 1 do -// for j in 0 .. cols - 1 do -// let mutable buffer = 0. -// for k in 0 .. (left |> Array2D.length2) - 1 do -// buffer <- buffer + left.[i, k] * right.[k, j] -// resultMatrix.[i, j] <- resultMatrix.[i, j] + buffer -// resultMatrix - -// let provider = -// try ComputeProvider.Create("INTEL*", DeviceType.Cpu) -// with -// | ex -> failwith ex.Message -// let commandQueue = new CommandQueue(provider, provider.Devices |> Seq.head) -// let oclContext = {Provider = provider; CommandQueue = commandQueue} - -// [] -// [ |])>] -// member this.``CSR x Vector multiplication should work correctly on nonempty and nonzero objects`` (matrix: float[,], vector: float[]) = -// let semiring = -// Semiring.create -// LanguagePrimitives.GenericZero -// (BinaryOp <@ ( + ) @>) -// (BinaryOp <@ ( * ) @>) -// let result = semiring |> CSRMatrix(matrix) +.* DenseVector(vector) -// let expected = matrix |> matrixVectorMultiply vector -// (checkEquality result.AsArray expected) |@ (getLabel result.AsArray expected) - - // [] - // [ |])>] - // member this.``CSR x Dense multiplication should work correctly on nonempty and nonzero matrices`` (left: float[,], right: float[,]) = - // let result = CSRMatrix.makeFromDenseMatrix left |> csrDenseMultiply right - // let expected = left |> matrixMatrixMultiply right - // (checkEquality result expected) |@ (getLabel result expected) - - // [] - // [ |])>] - // member this.``CSR x CSC multiplication should work correctly on nonempty and nonzero matrices`` (left: float[,], right: float[,]) = - // let result = CSRMatrix.makeFromDenseMatrix left |> csrCscMultiply (CSCMatrix.makeFromDenseMatrix right) - // let expected = left |> matrixMatrixMultiply right - // (checkEquality result expected) |@ (getLabel result expected) - - // [] - // [ |])>] - // member this.``CSR x CSR multiplication should work correctly on nonempty and nonzero matrices`` (left: float[,], right: float[,]) = - // let result = CSRMatrix.makeFromDenseMatrix left |> csrCsrMultiply (CSRMatrix.makeFromDenseMatrix right) - // let expected = left |> matrixMatrixMultiply right - // (checkEquality result expected) |@ (getLabel result expected) - - // [] - // [ |])>] - // member this.``CSR x CSR multiplication algo shoud work correctly on cpu`` (left: float[,], right: float[,]) = - // let csrMultAlgo (csrMatrixRight: CSRMatrix.CSRMatrix) (csrMatrixLeft: CSRMatrix.CSRMatrix) = - // let leftMatrixRowCount = csrMatrixLeft |> CSRMatrix.rowCount - // let leftMatrixColumnCount = csrMatrixLeft |> CSRMatrix.columnCount - // let rightMatrixRowCount = csrMatrixRight |> CSRMatrix.rowCount - // let rightMatrixColumnCount = csrMatrixRight |> CSRMatrix.columnCount - // if leftMatrixColumnCount <> rightMatrixRowCount then failwith "fail" - - // let leftCsrValuesBuffer = csrMatrixLeft.GetValues - // let leftCsrColumnsBuffer = csrMatrixLeft.GetColumns - // let leftCsrRowPointersBuffer = csrMatrixLeft.GetRowPointers - // let rightCsrValuesBuffer = csrMatrixRight.GetValues - // let rightCsrColumnsBuffer = csrMatrixRight.GetColumns - // let rightCsrRowPointersBuffer = csrMatrixRight.GetRowPointers - - // let resultMatrix = Array2D.zeroCreate leftMatrixRowCount rightMatrixColumnCount - // for i in 0 .. rightMatrixRowCount - 1 do - // for j in 0 .. leftMatrixRowCount - 1 do - // for k in rightCsrRowPointersBuffer.[i] .. rightCsrRowPointersBuffer.[i + 1] - 1 do - // let mutable localResultBuffer = resultMatrix.[j, rightCsrColumnsBuffer.[k]] - // let mutable pointer = leftCsrRowPointersBuffer.[j] - // while (pointer < leftCsrRowPointersBuffer.[j + 1] && leftCsrColumnsBuffer.[pointer] <= i) do - // if leftCsrColumnsBuffer.[pointer] = i then - // localResultBuffer <- localResultBuffer + - // rightCsrValuesBuffer.[k] * leftCsrValuesBuffer.[pointer] - // pointer <- pointer + 1 - // resultMatrix.[j, rightCsrColumnsBuffer.[k]] <- localResultBuffer - - // resultMatrix - - // let result = CSRMatrix.makeFromDenseMatrix left |> csrMultAlgo (CSRMatrix.makeFromDenseMatrix right) - // let expected = left |> matrixMatrixMultiply right - // (checkEquality result expected) |@ (getLabel result expected) - - // interface System.IDisposable with - // member this.Dispose () = - // commandQueue.Dispose () - // provider.CloseAllBuffers () - // provider.Dispose () diff --git a/tests/GraphBLAS-sharp.Tests/paket.references b/tests/GraphBLAS-sharp.Tests/paket.references index 006e61d9..0c49a30a 100644 --- a/tests/GraphBLAS-sharp.Tests/paket.references +++ b/tests/GraphBLAS-sharp.Tests/paket.references @@ -2,9 +2,11 @@ FSharp.Core Microsoft.NETFramework.ReferenceAssemblies Expecto +Expecto.FsCheck Microsoft.NET.Test.Sdk YoloDev.Expecto.TestSdk +MathNet.Numerics.FSharp dotnet-mono -Brahma.FSharp \ No newline at end of file +Brahma.FSharp