diff --git a/DotNet/EverySecondTurnSolver.Tests/EverySecondTurnSolver.Tests.csproj b/DotNet/EverySecondTurnSolver.Tests/EverySecondTurnSolver.Tests.csproj new file mode 100644 index 00000000..c0ddf53b --- /dev/null +++ b/DotNet/EverySecondTurnSolver.Tests/EverySecondTurnSolver.Tests.csproj @@ -0,0 +1,19 @@ + + + + net10.0 + Exe + false + + + + + + + + + + + + + \ No newline at end of file diff --git a/DotNet/EverySecondTurnSolver.Tests/EverySecondTurnSolverTest.cs b/DotNet/EverySecondTurnSolver.Tests/EverySecondTurnSolverTest.cs new file mode 100644 index 00000000..d78f764e --- /dev/null +++ b/DotNet/EverySecondTurnSolver.Tests/EverySecondTurnSolverTest.cs @@ -0,0 +1,161 @@ +using Xunit; + +namespace EverySecondTurnSolver.Tests; + +public class EverySecondTurnSolverTest +{ + private const char X = EverySecondTurnSolver.Circle; + private const char _ = EverySecondTurnSolver.Empty; + + [Fact] + public void TestSolution_6_6_37g81() + { + // https://gridpuzzle.com/every-second-turn/37g81 + var gridData = new char[,] + { + { _, _, _, _, _, X }, + { _, X, _, _, _, _ }, + { _, _, _, _, X, _ }, + { X, _, _, X, _, _ }, + { _, _, X, _, _, X }, + { X, _, _, _, _, _ }, + }; + + const string expectedSolutionStr = + " ┌──────────────┐ \n" + + " │ ┌────────┐ │ \n" + + " │ │ ┌─────┘ │ \n" + + " └──┘ │ ┌─────┘ \n" + + " ┌─────┘ └─────┐ \n" + + " └──────────────┘ "; + + var solver = new EverySecondTurnSolver(gridData); + var solution = solver.GetSolution(); + Assert.NotNull(solution); + Assert.Equal(expectedSolutionStr, solution.ToString()); + + var otherSolution = solver.GetOtherSolution(); + Assert.True(otherSolution == null || otherSolution.Rows == 0); + } + + [Fact] + public void TestSolution_6_6_3e9k2() + { + // https://gridpuzzle.com/every-second-turn/3e9k2 + var gridData = new char[,] + { + { X, _, _, _, _, _ }, + { _, _, _, _, _, X }, + { _, _, X, _, _, _ }, + { _, _, _, _, X, _ }, + { _, X, _, _, _, _ }, + { _, _, _, _, _, X } + }; + + const string expectedSolutionStr = + " ┌──────────────┐ \n" + + " │ ┌───────────┘ \n" + + " │ │ ┌────────┐ \n" + + " │ │ └─────┐ │ \n" + + " │ └────────┘ │ \n" + + " └──────────────┘ "; + + var solver = new EverySecondTurnSolver(gridData); + var solution = solver.GetSolution(); + Assert.NotNull(solution); + Assert.Equal(expectedSolutionStr, solution.ToString()); + + var otherSolution = solver.GetOtherSolution(); + Assert.True(otherSolution == null || otherSolution.Rows == 0); + } + + [Fact] + public void TestSolution_10_10_0ygm8() + { + // https://gridpuzzle.com/every-second-turn/0ygm8 + var gridData = new[,] + { + { X, _, _, _, _, X, _, _, X, _ }, + { _, _, _, X, _, _, _, X, _, _ }, + { _, _, X, _, _, _, X, _, _, _ }, + { _, X, _, _, X, _, _, _, X, _ }, + { X, _, _, _, X, _, _, _, _, _ }, + { _, _, _, _, _, _, _, _, X, _ }, + { _, X, _, X, _, _, X, _, _, _ }, + { _, _, _, X, _, X, _, X, _, X }, + { _, X, _, _, X, _, _, _, X, _ }, + { _, _, X, _, _, _, _, _, _, X } + }; + + const string expectedSolutionStr = + " ┌───────────┐ ┌─────┐ ┌──┐ \n" + + " │ ┌─────┐ │ │ ┌──┘ │ │ \n" + + " │ │ ┌──┘ │ │ └─────┘ │ \n" + + " └──┘ │ ┌──┘ └────────┐ │ \n" + + " ┌──┐ │ │ ┌───────────┘ │ \n" + + " │ │ │ │ └───────────┐ │ \n" + + " │ └──┘ └─────┐ ┌─────┘ │ \n" + + " │ ┌─────┐ ┌──┘ └──┐ ┌──┘ \n" + + " │ └──┐ │ └────────┘ └──┐ \n" + + " └─────┘ └─────────────────┘ "; + + var solver = new EverySecondTurnSolver(gridData); + var solution = solver.GetSolution(); + Assert.NotNull(solution); + Assert.Equal(expectedSolutionStr, solution.ToString()); + + var otherSolution = solver.GetOtherSolution(); + Assert.True(otherSolution == null || otherSolution.Rows == 0); + } + + [Fact] + public void TestSolution_16_16_0zny2() + { + // https://gridpuzzle.com/every-second-turn/0zny2 + var gridData = new[,] + { + { X, _, X, _, X, _, X, _, _, _, _, _, _, _, X, _ }, + { _, _, _, _, _, X, _, _, X, _, _, _, X, _, _, _ }, + { _, _, _, X, _, _, _, X, _, X, _, _, _, X, _, _ }, + { _, _, _, X, _, X, X, _, _, _, _, X, _, _, _, X }, + { _, X, _, _, X, _, _, _, X, _, X, _, X, _, X, _ }, + { _, _, _, _, X, _, _, _, _, X, _, X, _, X, _, _ }, + { X, _, _, _, _, X, _, _, _, _, _, X, _, _, X, _ }, + { _, X, _, X, X, _, _, X, _, X, X, _, X, _, _, X }, + { X, _, X, _, _, X, _, _, _, X, _, _, X, X, _, _ }, + { _, _, X, _, _, X, _, X, _, _, _, X, _, _, _, X }, + { X, _, _, _, X, _, _, _, X, _, _, X, _, X, _, _ }, + { _, X, _, _, _, _, X, _, X, _, X, _, _, _, X, _ }, + { _, _, X, X, _, _, _, X, _, _, X, _, _, X, _, _ }, + { X, _, _, _, _, X, X, _, _, X, _, _, X, _, _, X }, + { _, X, _, _, X, _, _, X, X, _, _, X, _, _, _, _ }, + { _, _, _, X, _, _, X, _, _, X, _, _, _, _, _, X } + }; + + const string expectedSolutionStr = + " ┌──┐ ┌──┐ ┌──┐ ┌────────────────────┐ ┌──┐ \n" + + " │ │ │ │ │ └──┘ ┌──┐ ┌────────┐ │ │ │ \n" + + " │ │ │ └──┘ ┌─────┘ │ └─────┐ │ └──┘ │ \n" + + " │ │ └──┐ ┌──┘ ┌─────┘ ┌─────┘ └────────┘ \n" + + " │ └─────┘ └──┐ │ ┌──┐ │ ┌──┐ ┌──┐ ┌──┐ \n" + + " └───────────┐ │ │ │ │ └──┘ └──┘ └──┘ │ \n" + + " ┌────────┐ └──┘ │ │ │ ┌─────┐ ┌─────┐ │ \n" + + " └──┐ ┌──┘ ┌──┐ └──┘ └──┘ ┌──┘ └──┐ └──┘ \n" + + " ┌──┘ └──┐ │ └────────┐ ┌──┘ ┌──┐ └─────┐ \n" + + " └─────┐ │ └──┐ ┌──┐ │ │ ┌──┘ │ ┌─────┘ \n" + + " ┌──┐ │ │ ┌──┘ │ │ └──┘ │ ┌──┘ └─────┐ \n" + + " │ └──┘ │ └─────┘ └──┐ ┌──┘ │ ┌─────┐ │ \n" + + " └─────┐ └────────┐ ┌──┘ │ ┌──┘ │ ┌──┘ │ \n" + + " ┌──┐ │ ┌─────┐ └──┘ ┌──┘ │ ┌──┘ └─────┘ \n" + + " │ └──┘ │ ┌──┘ ┌──┐ └──┐ │ └───────────┐ \n" + + " └────────┘ └─────┘ └─────┘ └──────────────┘ "; + + var solver = new EverySecondTurnSolver(gridData); + var solution = solver.GetSolution(); + Assert.NotNull(solution); + Assert.Equal(expectedSolutionStr, solution.ToString()); + + var otherSolution = solver.GetOtherSolution(); + Assert.True(otherSolution == null || otherSolution.Rows == 0); + } +} \ No newline at end of file diff --git a/DotNet/EverySecondTurnSolver.Tests/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs b/DotNet/EverySecondTurnSolver.Tests/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs new file mode 100644 index 00000000..925b1351 --- /dev/null +++ b/DotNet/EverySecondTurnSolver.Tests/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs @@ -0,0 +1,4 @@ +// +using System; +using System.Reflection; +[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v10.0", FrameworkDisplayName = ".NET 10.0")] diff --git a/DotNet/EverySecondTurnSolver.Tests/obj/Debug/net10.0/EverySecondTurnSolver.Tests.AssemblyInfo.cs b/DotNet/EverySecondTurnSolver.Tests/obj/Debug/net10.0/EverySecondTurnSolver.Tests.AssemblyInfo.cs new file mode 100644 index 00000000..4f72704e --- /dev/null +++ b/DotNet/EverySecondTurnSolver.Tests/obj/Debug/net10.0/EverySecondTurnSolver.Tests.AssemblyInfo.cs @@ -0,0 +1,23 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +using System; +using System.Reflection; + +[assembly: System.Reflection.AssemblyCompanyAttribute("EverySecondTurnSolver.Tests")] +[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] +[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+d6901cb504262cbf162f69223fdcc3169a0e063f")] +[assembly: System.Reflection.AssemblyProductAttribute("EverySecondTurnSolver.Tests")] +[assembly: System.Reflection.AssemblyTitleAttribute("EverySecondTurnSolver.Tests")] +[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] +[assembly: System.Reflection.AssemblyMetadata("Microsoft.Testing.Platform.Application", "true")] + +// Généré par la classe MSBuild WriteCodeFragment. + diff --git a/DotNet/EverySecondTurnSolver.Tests/obj/Debug/net10.0/EverySecondTurnSolver.Tests.AssemblyInfoInputs.cache b/DotNet/EverySecondTurnSolver.Tests/obj/Debug/net10.0/EverySecondTurnSolver.Tests.AssemblyInfoInputs.cache new file mode 100644 index 00000000..52b1f9c3 --- /dev/null +++ b/DotNet/EverySecondTurnSolver.Tests/obj/Debug/net10.0/EverySecondTurnSolver.Tests.AssemblyInfoInputs.cache @@ -0,0 +1 @@ +2dcd871c63c72f873bb515cdc86fce434d7639058a53b7cdabbf138195008c08 diff --git a/DotNet/EverySecondTurnSolver.Tests/obj/Debug/net10.0/EverySecondTurnSolver.Tests.GeneratedMSBuildEditorConfig.editorconfig b/DotNet/EverySecondTurnSolver.Tests/obj/Debug/net10.0/EverySecondTurnSolver.Tests.GeneratedMSBuildEditorConfig.editorconfig new file mode 100644 index 00000000..767ee6c9 --- /dev/null +++ b/DotNet/EverySecondTurnSolver.Tests/obj/Debug/net10.0/EverySecondTurnSolver.Tests.GeneratedMSBuildEditorConfig.editorconfig @@ -0,0 +1,17 @@ +is_global = true +build_property.TargetFramework = net10.0 +build_property.TargetFrameworkIdentifier = .NETCoreApp +build_property.TargetFrameworkVersion = v10.0 +build_property.TargetPlatformMinVersion = +build_property.UsingMicrosoftNETSdkWeb = +build_property.ProjectTypeGuids = +build_property.InvariantGlobalization = +build_property.PlatformNeutralAssembly = +build_property.EnforceExtendedAnalyzerRules = +build_property._SupportedPlatformList = Linux,macOS,Windows +build_property.RootNamespace = EverySecondTurnSolver.Tests +build_property.ProjectDir = G:\projets infos\PuzzleGames\DotNet\EverySecondTurnSolver.Tests\ +build_property.EnableComHosting = +build_property.EnableGeneratedComInterfaceComImportInterop = +build_property.EffectiveAnalysisLevelStyle = 10.0 +build_property.EnableCodeStyleSeverity = diff --git a/DotNet/EverySecondTurnSolver.Tests/obj/Debug/net10.0/EverySecondTurnSolver.Tests.assets.cache b/DotNet/EverySecondTurnSolver.Tests/obj/Debug/net10.0/EverySecondTurnSolver.Tests.assets.cache new file mode 100644 index 00000000..d354e322 Binary files /dev/null and b/DotNet/EverySecondTurnSolver.Tests/obj/Debug/net10.0/EverySecondTurnSolver.Tests.assets.cache differ diff --git a/DotNet/EverySecondTurnSolver.Tests/obj/Debug/net10.0/EverySecondTurnSolver.Tests.csproj.AssemblyReference.cache b/DotNet/EverySecondTurnSolver.Tests/obj/Debug/net10.0/EverySecondTurnSolver.Tests.csproj.AssemblyReference.cache new file mode 100644 index 00000000..01c41a8c Binary files /dev/null and b/DotNet/EverySecondTurnSolver.Tests/obj/Debug/net10.0/EverySecondTurnSolver.Tests.csproj.AssemblyReference.cache differ diff --git a/DotNet/EverySecondTurnSolver.Tests/obj/Debug/net10.0/EverySecondTurnSolver.Tests.genautoregisteredextensionsinputcache.cache b/DotNet/EverySecondTurnSolver.Tests/obj/Debug/net10.0/EverySecondTurnSolver.Tests.genautoregisteredextensionsinputcache.cache new file mode 100644 index 00000000..3a0f91f4 --- /dev/null +++ b/DotNet/EverySecondTurnSolver.Tests/obj/Debug/net10.0/EverySecondTurnSolver.Tests.genautoregisteredextensionsinputcache.cache @@ -0,0 +1 @@ +a63d5e7d209e53f6c9bd8f7c0d3f6663cdf2f535b8e224f64d5fe74b1064c8bb diff --git a/DotNet/EverySecondTurnSolver.Tests/obj/Debug/net10.0/EverySecondTurnSolver.Tests.gentestingplatformentrypointinputcache.cache b/DotNet/EverySecondTurnSolver.Tests/obj/Debug/net10.0/EverySecondTurnSolver.Tests.gentestingplatformentrypointinputcache.cache new file mode 100644 index 00000000..1e4108ec --- /dev/null +++ b/DotNet/EverySecondTurnSolver.Tests/obj/Debug/net10.0/EverySecondTurnSolver.Tests.gentestingplatformentrypointinputcache.cache @@ -0,0 +1 @@ +0de06d97a9c41eb92ad31ff5dde7edac9fbf796d148b5c7b187cda2ccdadb7b9 diff --git a/DotNet/EverySecondTurnSolver.Tests/obj/Debug/net10.0/EverySecondTurnSolver.Tests.xUnit.v3.EntryPoint.cache b/DotNet/EverySecondTurnSolver.Tests/obj/Debug/net10.0/EverySecondTurnSolver.Tests.xUnit.v3.EntryPoint.cache new file mode 100644 index 00000000..18f3fcf0 --- /dev/null +++ b/DotNet/EverySecondTurnSolver.Tests/obj/Debug/net10.0/EverySecondTurnSolver.Tests.xUnit.v3.EntryPoint.cache @@ -0,0 +1 @@ +63cac8cbb351e959af87cbbbb3d95aed20d56c496fe77e86e913f8b73c12221a diff --git a/DotNet/EverySecondTurnSolver.Tests/obj/Debug/net10.0/SelfRegisteredExtensions.cs b/DotNet/EverySecondTurnSolver.Tests/obj/Debug/net10.0/SelfRegisteredExtensions.cs new file mode 100644 index 00000000..626af856 --- /dev/null +++ b/DotNet/EverySecondTurnSolver.Tests/obj/Debug/net10.0/SelfRegisteredExtensions.cs @@ -0,0 +1,18 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by Microsoft.Testing.Platform.MSBuild +// +//------------------------------------------------------------------------------ + +namespace EverySecondTurnSolver.Tests +{ + [global::System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverage] + internal static class SelfRegisteredExtensions + { + public static void AddSelfRegisteredExtensions(this global::Microsoft.Testing.Platform.Builder.ITestApplicationBuilder builder, string[] args) + { + global::Microsoft.Testing.Platform.MSBuild.TestingPlatformBuilderHook.AddExtensions(builder, args); + global::Microsoft.Testing.Extensions.Telemetry.TestingPlatformBuilderHook.AddExtensions(builder, args); + } + } +} \ No newline at end of file diff --git a/DotNet/EverySecondTurnSolver.Tests/obj/Debug/net10.0/XunitAutoGeneratedEntryPoint.cs b/DotNet/EverySecondTurnSolver.Tests/obj/Debug/net10.0/XunitAutoGeneratedEntryPoint.cs new file mode 100644 index 00000000..faa486c2 --- /dev/null +++ b/DotNet/EverySecondTurnSolver.Tests/obj/Debug/net10.0/XunitAutoGeneratedEntryPoint.cs @@ -0,0 +1,16 @@ +// This file has been auto generated by xunit.v3.msbuildtasks. + +namespace EverySecondTurnSolver.Tests.AutoGenerated +{ + [global::System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverage] + internal class XunitAutoGeneratedEntryPoint + { + public static int Main(string[] args) + { + if (global::System.Linq.Enumerable.Any(args, arg => arg == "--server" || arg == "--internal-msbuild-node")) + return global::Xunit.MicrosoftTestingPlatform.TestPlatformTestFramework.RunAsync(args, SelfRegisteredExtensions.AddSelfRegisteredExtensions).GetAwaiter().GetResult(); + else + return global::Xunit.Runner.InProc.SystemConsole.ConsoleRunner.Run(args).GetAwaiter().GetResult(); + } + } +} \ No newline at end of file diff --git a/DotNet/EverySecondTurnSolver.Tests/obj/EverySecondTurnSolver.Tests.csproj.nuget.dgspec.json b/DotNet/EverySecondTurnSolver.Tests/obj/EverySecondTurnSolver.Tests.csproj.nuget.dgspec.json new file mode 100644 index 00000000..bfbff260 --- /dev/null +++ b/DotNet/EverySecondTurnSolver.Tests/obj/EverySecondTurnSolver.Tests.csproj.nuget.dgspec.json @@ -0,0 +1,695 @@ +{ + "format": 1, + "restore": { + "G:\\projets infos\\PuzzleGames\\DotNet\\EverySecondTurnSolver.Tests\\EverySecondTurnSolver.Tests.csproj": {} + }, + "projects": { + "G:\\projets infos\\PuzzleGames\\DotNet\\EverySecondTurnSolver.Tests\\EverySecondTurnSolver.Tests.csproj": { + "version": "1.0.0", + "restore": { + "projectUniqueName": "G:\\projets infos\\PuzzleGames\\DotNet\\EverySecondTurnSolver.Tests\\EverySecondTurnSolver.Tests.csproj", + "projectName": "EverySecondTurnSolver.Tests", + "projectPath": "G:\\projets infos\\PuzzleGames\\DotNet\\EverySecondTurnSolver.Tests\\EverySecondTurnSolver.Tests.csproj", + "packagesPath": "G:\\.nuget\\packages", + "outputPath": "G:\\projets infos\\PuzzleGames\\DotNet\\EverySecondTurnSolver.Tests\\obj\\", + "projectStyle": "PackageReference", + "crossTargeting": true, + "configFilePaths": [ + "C:\\Users\\thoma\\AppData\\Roaming\\NuGet\\NuGet.Config" + ], + "originalTargetFrameworks": [ + "net10.0" + ], + "sources": { + "https://api.nuget.org/v3/index.json": {} + }, + "frameworks": { + "net10.0": { + "targetAlias": "net10.0", + "projectReferences": { + "G:\\projets infos\\PuzzleGames\\DotNet\\EverySecondTurnSolver\\EverySecondTurnSolver.csproj": { + "projectPath": "G:\\projets infos\\PuzzleGames\\DotNet\\EverySecondTurnSolver\\EverySecondTurnSolver.csproj" + } + } + } + }, + "warningProperties": { + "warnAsError": [ + "NU1605" + ] + }, + "restoreAuditProperties": { + "enableAudit": "true", + "auditLevel": "low", + "auditMode": "all" + }, + "SdkAnalysisLevel": "10.0.100" + }, + "frameworks": { + "net10.0": { + "targetAlias": "net10.0", + "dependencies": { + "JetBrains.Annotations": { + "target": "Package", + "version": "[2025.2.4, )" + }, + "xunit.v3": { + "target": "Package", + "version": "[3.2.1, )" + } + }, + "imports": [ + "net461", + "net462", + "net47", + "net471", + "net472", + "net48", + "net481" + ], + "assetTargetFallback": true, + "warn": true, + "frameworkReferences": { + "Microsoft.NETCore.App": { + "privateAssets": "all" + } + }, + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\10.0.101/PortableRuntimeIdentifierGraph.json", + "packagesToPrune": { + "Microsoft.CSharp": "(,4.7.32767]", + "Microsoft.VisualBasic": "(,10.4.32767]", + "Microsoft.Win32.Primitives": "(,4.3.32767]", + "Microsoft.Win32.Registry": "(,5.0.32767]", + "runtime.any.System.Collections": "(,4.3.32767]", + "runtime.any.System.Diagnostics.Tools": "(,4.3.32767]", + "runtime.any.System.Diagnostics.Tracing": "(,4.3.32767]", + "runtime.any.System.Globalization": "(,4.3.32767]", + "runtime.any.System.Globalization.Calendars": "(,4.3.32767]", + "runtime.any.System.IO": "(,4.3.32767]", + "runtime.any.System.Reflection": "(,4.3.32767]", + "runtime.any.System.Reflection.Extensions": "(,4.3.32767]", + "runtime.any.System.Reflection.Primitives": "(,4.3.32767]", + "runtime.any.System.Resources.ResourceManager": "(,4.3.32767]", + "runtime.any.System.Runtime": "(,4.3.32767]", + "runtime.any.System.Runtime.Handles": "(,4.3.32767]", + "runtime.any.System.Runtime.InteropServices": "(,4.3.32767]", + "runtime.any.System.Text.Encoding": "(,4.3.32767]", + "runtime.any.System.Text.Encoding.Extensions": "(,4.3.32767]", + "runtime.any.System.Threading.Tasks": "(,4.3.32767]", + "runtime.any.System.Threading.Timer": "(,4.3.32767]", + "runtime.aot.System.Collections": "(,4.3.32767]", + "runtime.aot.System.Diagnostics.Tools": "(,4.3.32767]", + "runtime.aot.System.Diagnostics.Tracing": "(,4.3.32767]", + "runtime.aot.System.Globalization": "(,4.3.32767]", + "runtime.aot.System.Globalization.Calendars": "(,4.3.32767]", + "runtime.aot.System.IO": "(,4.3.32767]", + "runtime.aot.System.Reflection": "(,4.3.32767]", + "runtime.aot.System.Reflection.Extensions": "(,4.3.32767]", + "runtime.aot.System.Reflection.Primitives": "(,4.3.32767]", + "runtime.aot.System.Resources.ResourceManager": "(,4.3.32767]", + "runtime.aot.System.Runtime": "(,4.3.32767]", + "runtime.aot.System.Runtime.Handles": "(,4.3.32767]", + "runtime.aot.System.Runtime.InteropServices": "(,4.3.32767]", + "runtime.aot.System.Text.Encoding": "(,4.3.32767]", + "runtime.aot.System.Text.Encoding.Extensions": "(,4.3.32767]", + "runtime.aot.System.Threading.Tasks": "(,4.3.32767]", + "runtime.aot.System.Threading.Timer": "(,4.3.32767]", + "runtime.debian.8-x64.runtime.native.System": "(,4.3.32767]", + "runtime.debian.8-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.debian.8-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.debian.8-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.debian.8-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", + "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", + "runtime.debian.9-x64.runtime.native.System": "(,4.3.32767]", + "runtime.debian.9-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.debian.9-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.debian.9-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.fedora.23-x64.runtime.native.System": "(,4.3.32767]", + "runtime.fedora.23-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.fedora.23-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.fedora.23-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", + "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", + "runtime.fedora.24-x64.runtime.native.System": "(,4.3.32767]", + "runtime.fedora.24-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.fedora.24-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.fedora.24-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", + "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", + "runtime.fedora.27-x64.runtime.native.System": "(,4.3.32767]", + "runtime.fedora.27-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.fedora.27-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.fedora.27-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.fedora.28-x64.runtime.native.System": "(,4.3.32767]", + "runtime.fedora.28-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.fedora.28-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.fedora.28-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.opensuse.13.2-x64.runtime.native.System": "(,4.3.32767]", + "runtime.opensuse.13.2-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.opensuse.13.2-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.opensuse.13.2-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", + "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", + "runtime.opensuse.42.1-x64.runtime.native.System": "(,4.3.32767]", + "runtime.opensuse.42.1-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.opensuse.42.1-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.opensuse.42.1-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", + "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", + "runtime.opensuse.42.3-x64.runtime.native.System": "(,4.3.32767]", + "runtime.opensuse.42.3-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.opensuse.42.3-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.opensuse.42.3-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.osx.10.10-x64.runtime.native.System": "(,4.3.32767]", + "runtime.osx.10.10-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.osx.10.10-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.osx.10.10-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": "(,4.3.32767]", + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", + "runtime.rhel.7-x64.runtime.native.System": "(,4.3.32767]", + "runtime.rhel.7-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.rhel.7-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.rhel.7-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", + "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", + "runtime.ubuntu.14.04-x64.runtime.native.System": "(,4.3.32767]", + "runtime.ubuntu.14.04-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.ubuntu.14.04-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.ubuntu.14.04-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", + "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", + "runtime.ubuntu.16.04-x64.runtime.native.System": "(,4.3.32767]", + "runtime.ubuntu.16.04-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.ubuntu.16.04-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.ubuntu.16.04-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", + "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", + "runtime.ubuntu.16.10-x64.runtime.native.System": "(,4.3.32767]", + "runtime.ubuntu.16.10-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.ubuntu.16.10-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.ubuntu.16.10-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", + "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", + "runtime.ubuntu.18.04-x64.runtime.native.System": "(,4.3.32767]", + "runtime.ubuntu.18.04-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.ubuntu.18.04-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.ubuntu.18.04-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.unix.Microsoft.Win32.Primitives": "(,4.3.32767]", + "runtime.unix.System.Console": "(,4.3.32767]", + "runtime.unix.System.Diagnostics.Debug": "(,4.3.32767]", + "runtime.unix.System.IO.FileSystem": "(,4.3.32767]", + "runtime.unix.System.Net.Primitives": "(,4.3.32767]", + "runtime.unix.System.Net.Sockets": "(,4.3.32767]", + "runtime.unix.System.Private.Uri": "(,4.3.32767]", + "runtime.unix.System.Runtime.Extensions": "(,4.3.32767]", + "runtime.win.Microsoft.Win32.Primitives": "(,4.3.32767]", + "runtime.win.System.Console": "(,4.3.32767]", + "runtime.win.System.Diagnostics.Debug": "(,4.3.32767]", + "runtime.win.System.IO.FileSystem": "(,4.3.32767]", + "runtime.win.System.Net.Primitives": "(,4.3.32767]", + "runtime.win.System.Net.Sockets": "(,4.3.32767]", + "runtime.win.System.Runtime.Extensions": "(,4.3.32767]", + "runtime.win10-arm-aot.runtime.native.System.IO.Compression": "(,4.0.32767]", + "runtime.win10-arm64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.win10-x64-aot.runtime.native.System.IO.Compression": "(,4.0.32767]", + "runtime.win10-x86-aot.runtime.native.System.IO.Compression": "(,4.0.32767]", + "runtime.win7-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.win7-x86.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.win7.System.Private.Uri": "(,4.3.32767]", + "runtime.win8-arm.runtime.native.System.IO.Compression": "(,4.3.32767]", + "System.AppContext": "(,4.3.32767]", + "System.Buffers": "(,5.0.32767]", + "System.Collections": "(,4.3.32767]", + "System.Collections.Concurrent": "(,4.3.32767]", + "System.Collections.Immutable": "(,10.0.32767]", + "System.Collections.NonGeneric": "(,4.3.32767]", + "System.Collections.Specialized": "(,4.3.32767]", + "System.ComponentModel": "(,4.3.32767]", + "System.ComponentModel.Annotations": "(,4.3.32767]", + "System.ComponentModel.EventBasedAsync": "(,4.3.32767]", + "System.ComponentModel.Primitives": "(,4.3.32767]", + "System.ComponentModel.TypeConverter": "(,4.3.32767]", + "System.Console": "(,4.3.32767]", + "System.Data.Common": "(,4.3.32767]", + "System.Data.DataSetExtensions": "(,4.4.32767]", + "System.Diagnostics.Contracts": "(,4.3.32767]", + "System.Diagnostics.Debug": "(,4.3.32767]", + "System.Diagnostics.DiagnosticSource": "(,10.0.32767]", + "System.Diagnostics.FileVersionInfo": "(,4.3.32767]", + "System.Diagnostics.Process": "(,4.3.32767]", + "System.Diagnostics.StackTrace": "(,4.3.32767]", + "System.Diagnostics.TextWriterTraceListener": "(,4.3.32767]", + "System.Diagnostics.Tools": "(,4.3.32767]", + "System.Diagnostics.TraceSource": "(,4.3.32767]", + "System.Diagnostics.Tracing": "(,4.3.32767]", + "System.Drawing.Primitives": "(,4.3.32767]", + "System.Dynamic.Runtime": "(,4.3.32767]", + "System.Formats.Asn1": "(,10.0.32767]", + "System.Formats.Tar": "(,10.0.32767]", + "System.Globalization": "(,4.3.32767]", + "System.Globalization.Calendars": "(,4.3.32767]", + "System.Globalization.Extensions": "(,4.3.32767]", + "System.IO": "(,4.3.32767]", + "System.IO.Compression": "(,4.3.32767]", + "System.IO.Compression.ZipFile": "(,4.3.32767]", + "System.IO.FileSystem": "(,4.3.32767]", + "System.IO.FileSystem.AccessControl": "(,4.4.32767]", + "System.IO.FileSystem.DriveInfo": "(,4.3.32767]", + "System.IO.FileSystem.Primitives": "(,4.3.32767]", + "System.IO.FileSystem.Watcher": "(,4.3.32767]", + "System.IO.IsolatedStorage": "(,4.3.32767]", + "System.IO.MemoryMappedFiles": "(,4.3.32767]", + "System.IO.Pipelines": "(,10.0.32767]", + "System.IO.Pipes": "(,4.3.32767]", + "System.IO.Pipes.AccessControl": "(,5.0.32767]", + "System.IO.UnmanagedMemoryStream": "(,4.3.32767]", + "System.Linq": "(,4.3.32767]", + "System.Linq.AsyncEnumerable": "(,10.0.32767]", + "System.Linq.Expressions": "(,4.3.32767]", + "System.Linq.Parallel": "(,4.3.32767]", + "System.Linq.Queryable": "(,4.3.32767]", + "System.Memory": "(,5.0.32767]", + "System.Net.Http": "(,4.3.32767]", + "System.Net.Http.Json": "(,10.0.32767]", + "System.Net.NameResolution": "(,4.3.32767]", + "System.Net.NetworkInformation": "(,4.3.32767]", + "System.Net.Ping": "(,4.3.32767]", + "System.Net.Primitives": "(,4.3.32767]", + "System.Net.Requests": "(,4.3.32767]", + "System.Net.Security": "(,4.3.32767]", + "System.Net.ServerSentEvents": "(,10.0.32767]", + "System.Net.Sockets": "(,4.3.32767]", + "System.Net.WebHeaderCollection": "(,4.3.32767]", + "System.Net.WebSockets": "(,4.3.32767]", + "System.Net.WebSockets.Client": "(,4.3.32767]", + "System.Numerics.Vectors": "(,5.0.32767]", + "System.ObjectModel": "(,4.3.32767]", + "System.Private.DataContractSerialization": "(,4.3.32767]", + "System.Private.Uri": "(,4.3.32767]", + "System.Reflection": "(,4.3.32767]", + "System.Reflection.DispatchProxy": "(,6.0.32767]", + "System.Reflection.Emit": "(,4.7.32767]", + "System.Reflection.Emit.ILGeneration": "(,4.7.32767]", + "System.Reflection.Emit.Lightweight": "(,4.7.32767]", + "System.Reflection.Extensions": "(,4.3.32767]", + "System.Reflection.Metadata": "(,10.0.32767]", + "System.Reflection.Primitives": "(,4.3.32767]", + "System.Reflection.TypeExtensions": "(,4.3.32767]", + "System.Resources.Reader": "(,4.3.32767]", + "System.Resources.ResourceManager": "(,4.3.32767]", + "System.Resources.Writer": "(,4.3.32767]", + "System.Runtime": "(,4.3.32767]", + "System.Runtime.CompilerServices.Unsafe": "(,7.0.32767]", + "System.Runtime.CompilerServices.VisualC": "(,4.3.32767]", + "System.Runtime.Extensions": "(,4.3.32767]", + "System.Runtime.Handles": "(,4.3.32767]", + "System.Runtime.InteropServices": "(,4.3.32767]", + "System.Runtime.InteropServices.RuntimeInformation": "(,4.3.32767]", + "System.Runtime.Loader": "(,4.3.32767]", + "System.Runtime.Numerics": "(,4.3.32767]", + "System.Runtime.Serialization.Formatters": "(,4.3.32767]", + "System.Runtime.Serialization.Json": "(,4.3.32767]", + "System.Runtime.Serialization.Primitives": "(,4.3.32767]", + "System.Runtime.Serialization.Xml": "(,4.3.32767]", + "System.Security.AccessControl": "(,6.0.32767]", + "System.Security.Claims": "(,4.3.32767]", + "System.Security.Cryptography.Algorithms": "(,4.3.32767]", + "System.Security.Cryptography.Cng": "(,5.0.32767]", + "System.Security.Cryptography.Csp": "(,4.3.32767]", + "System.Security.Cryptography.Encoding": "(,4.3.32767]", + "System.Security.Cryptography.OpenSsl": "(,5.0.32767]", + "System.Security.Cryptography.Primitives": "(,4.3.32767]", + "System.Security.Cryptography.X509Certificates": "(,4.3.32767]", + "System.Security.Principal": "(,4.3.32767]", + "System.Security.Principal.Windows": "(,5.0.32767]", + "System.Security.SecureString": "(,4.3.32767]", + "System.Text.Encoding": "(,4.3.32767]", + "System.Text.Encoding.CodePages": "(,10.0.32767]", + "System.Text.Encoding.Extensions": "(,4.3.32767]", + "System.Text.Encodings.Web": "(,10.0.32767]", + "System.Text.Json": "(,10.0.32767]", + "System.Text.RegularExpressions": "(,4.3.32767]", + "System.Threading": "(,4.3.32767]", + "System.Threading.AccessControl": "(,10.0.32767]", + "System.Threading.Channels": "(,10.0.32767]", + "System.Threading.Overlapped": "(,4.3.32767]", + "System.Threading.Tasks": "(,4.3.32767]", + "System.Threading.Tasks.Dataflow": "(,10.0.32767]", + "System.Threading.Tasks.Extensions": "(,5.0.32767]", + "System.Threading.Tasks.Parallel": "(,4.3.32767]", + "System.Threading.Thread": "(,4.3.32767]", + "System.Threading.ThreadPool": "(,4.3.32767]", + "System.Threading.Timer": "(,4.3.32767]", + "System.ValueTuple": "(,4.5.32767]", + "System.Xml.ReaderWriter": "(,4.3.32767]", + "System.Xml.XDocument": "(,4.3.32767]", + "System.Xml.XmlDocument": "(,4.3.32767]", + "System.Xml.XmlSerializer": "(,4.3.32767]", + "System.Xml.XPath": "(,4.3.32767]", + "System.Xml.XPath.XDocument": "(,5.0.32767]" + } + } + } + }, + "G:\\projets infos\\PuzzleGames\\DotNet\\EverySecondTurnSolver\\EverySecondTurnSolver.csproj": { + "version": "1.0.0", + "restore": { + "projectUniqueName": "G:\\projets infos\\PuzzleGames\\DotNet\\EverySecondTurnSolver\\EverySecondTurnSolver.csproj", + "projectName": "EverySecondTurnSolver", + "projectPath": "G:\\projets infos\\PuzzleGames\\DotNet\\EverySecondTurnSolver\\EverySecondTurnSolver.csproj", + "packagesPath": "G:\\.nuget\\packages", + "outputPath": "G:\\projets infos\\PuzzleGames\\DotNet\\EverySecondTurnSolver\\obj\\", + "projectStyle": "PackageReference", + "configFilePaths": [ + "C:\\Users\\thoma\\AppData\\Roaming\\NuGet\\NuGet.Config" + ], + "originalTargetFrameworks": [ + "net10.0" + ], + "sources": { + "https://api.nuget.org/v3/index.json": {} + }, + "frameworks": { + "net10.0": { + "targetAlias": "net10.0", + "projectReferences": {} + } + }, + "warningProperties": { + "warnAsError": [ + "NU1605" + ] + }, + "restoreAuditProperties": { + "enableAudit": "true", + "auditLevel": "low", + "auditMode": "all" + }, + "SdkAnalysisLevel": "10.0.100" + }, + "frameworks": { + "net10.0": { + "targetAlias": "net10.0", + "dependencies": { + "Google.OrTools": { + "target": "Package", + "version": "[9.11.4210, )" + } + }, + "imports": [ + "net461", + "net462", + "net47", + "net471", + "net472", + "net48", + "net481" + ], + "assetTargetFallback": true, + "warn": true, + "frameworkReferences": { + "Microsoft.NETCore.App": { + "privateAssets": "all" + } + }, + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\10.0.101/PortableRuntimeIdentifierGraph.json", + "packagesToPrune": { + "Microsoft.CSharp": "(,4.7.32767]", + "Microsoft.VisualBasic": "(,10.4.32767]", + "Microsoft.Win32.Primitives": "(,4.3.32767]", + "Microsoft.Win32.Registry": "(,5.0.32767]", + "runtime.any.System.Collections": "(,4.3.32767]", + "runtime.any.System.Diagnostics.Tools": "(,4.3.32767]", + "runtime.any.System.Diagnostics.Tracing": "(,4.3.32767]", + "runtime.any.System.Globalization": "(,4.3.32767]", + "runtime.any.System.Globalization.Calendars": "(,4.3.32767]", + "runtime.any.System.IO": "(,4.3.32767]", + "runtime.any.System.Reflection": "(,4.3.32767]", + "runtime.any.System.Reflection.Extensions": "(,4.3.32767]", + "runtime.any.System.Reflection.Primitives": "(,4.3.32767]", + "runtime.any.System.Resources.ResourceManager": "(,4.3.32767]", + "runtime.any.System.Runtime": "(,4.3.32767]", + "runtime.any.System.Runtime.Handles": "(,4.3.32767]", + "runtime.any.System.Runtime.InteropServices": "(,4.3.32767]", + "runtime.any.System.Text.Encoding": "(,4.3.32767]", + "runtime.any.System.Text.Encoding.Extensions": "(,4.3.32767]", + "runtime.any.System.Threading.Tasks": "(,4.3.32767]", + "runtime.any.System.Threading.Timer": "(,4.3.32767]", + "runtime.aot.System.Collections": "(,4.3.32767]", + "runtime.aot.System.Diagnostics.Tools": "(,4.3.32767]", + "runtime.aot.System.Diagnostics.Tracing": "(,4.3.32767]", + "runtime.aot.System.Globalization": "(,4.3.32767]", + "runtime.aot.System.Globalization.Calendars": "(,4.3.32767]", + "runtime.aot.System.IO": "(,4.3.32767]", + "runtime.aot.System.Reflection": "(,4.3.32767]", + "runtime.aot.System.Reflection.Extensions": "(,4.3.32767]", + "runtime.aot.System.Reflection.Primitives": "(,4.3.32767]", + "runtime.aot.System.Resources.ResourceManager": "(,4.3.32767]", + "runtime.aot.System.Runtime": "(,4.3.32767]", + "runtime.aot.System.Runtime.Handles": "(,4.3.32767]", + "runtime.aot.System.Runtime.InteropServices": "(,4.3.32767]", + "runtime.aot.System.Text.Encoding": "(,4.3.32767]", + "runtime.aot.System.Text.Encoding.Extensions": "(,4.3.32767]", + "runtime.aot.System.Threading.Tasks": "(,4.3.32767]", + "runtime.aot.System.Threading.Timer": "(,4.3.32767]", + "runtime.debian.8-x64.runtime.native.System": "(,4.3.32767]", + "runtime.debian.8-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.debian.8-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.debian.8-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.debian.8-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", + "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", + "runtime.debian.9-x64.runtime.native.System": "(,4.3.32767]", + "runtime.debian.9-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.debian.9-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.debian.9-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.fedora.23-x64.runtime.native.System": "(,4.3.32767]", + "runtime.fedora.23-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.fedora.23-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.fedora.23-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", + "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", + "runtime.fedora.24-x64.runtime.native.System": "(,4.3.32767]", + "runtime.fedora.24-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.fedora.24-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.fedora.24-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", + "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", + "runtime.fedora.27-x64.runtime.native.System": "(,4.3.32767]", + "runtime.fedora.27-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.fedora.27-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.fedora.27-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.fedora.28-x64.runtime.native.System": "(,4.3.32767]", + "runtime.fedora.28-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.fedora.28-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.fedora.28-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.opensuse.13.2-x64.runtime.native.System": "(,4.3.32767]", + "runtime.opensuse.13.2-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.opensuse.13.2-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.opensuse.13.2-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", + "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", + "runtime.opensuse.42.1-x64.runtime.native.System": "(,4.3.32767]", + "runtime.opensuse.42.1-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.opensuse.42.1-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.opensuse.42.1-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", + "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", + "runtime.opensuse.42.3-x64.runtime.native.System": "(,4.3.32767]", + "runtime.opensuse.42.3-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.opensuse.42.3-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.opensuse.42.3-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.osx.10.10-x64.runtime.native.System": "(,4.3.32767]", + "runtime.osx.10.10-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.osx.10.10-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.osx.10.10-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": "(,4.3.32767]", + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", + "runtime.rhel.7-x64.runtime.native.System": "(,4.3.32767]", + "runtime.rhel.7-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.rhel.7-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.rhel.7-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", + "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", + "runtime.ubuntu.14.04-x64.runtime.native.System": "(,4.3.32767]", + "runtime.ubuntu.14.04-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.ubuntu.14.04-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.ubuntu.14.04-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", + "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", + "runtime.ubuntu.16.04-x64.runtime.native.System": "(,4.3.32767]", + "runtime.ubuntu.16.04-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.ubuntu.16.04-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.ubuntu.16.04-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", + "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", + "runtime.ubuntu.16.10-x64.runtime.native.System": "(,4.3.32767]", + "runtime.ubuntu.16.10-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.ubuntu.16.10-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.ubuntu.16.10-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", + "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", + "runtime.ubuntu.18.04-x64.runtime.native.System": "(,4.3.32767]", + "runtime.ubuntu.18.04-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.ubuntu.18.04-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.ubuntu.18.04-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.unix.Microsoft.Win32.Primitives": "(,4.3.32767]", + "runtime.unix.System.Console": "(,4.3.32767]", + "runtime.unix.System.Diagnostics.Debug": "(,4.3.32767]", + "runtime.unix.System.IO.FileSystem": "(,4.3.32767]", + "runtime.unix.System.Net.Primitives": "(,4.3.32767]", + "runtime.unix.System.Net.Sockets": "(,4.3.32767]", + "runtime.unix.System.Private.Uri": "(,4.3.32767]", + "runtime.unix.System.Runtime.Extensions": "(,4.3.32767]", + "runtime.win.Microsoft.Win32.Primitives": "(,4.3.32767]", + "runtime.win.System.Console": "(,4.3.32767]", + "runtime.win.System.Diagnostics.Debug": "(,4.3.32767]", + "runtime.win.System.IO.FileSystem": "(,4.3.32767]", + "runtime.win.System.Net.Primitives": "(,4.3.32767]", + "runtime.win.System.Net.Sockets": "(,4.3.32767]", + "runtime.win.System.Runtime.Extensions": "(,4.3.32767]", + "runtime.win10-arm-aot.runtime.native.System.IO.Compression": "(,4.0.32767]", + "runtime.win10-arm64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.win10-x64-aot.runtime.native.System.IO.Compression": "(,4.0.32767]", + "runtime.win10-x86-aot.runtime.native.System.IO.Compression": "(,4.0.32767]", + "runtime.win7-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.win7-x86.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.win7.System.Private.Uri": "(,4.3.32767]", + "runtime.win8-arm.runtime.native.System.IO.Compression": "(,4.3.32767]", + "System.AppContext": "(,4.3.32767]", + "System.Buffers": "(,5.0.32767]", + "System.Collections": "(,4.3.32767]", + "System.Collections.Concurrent": "(,4.3.32767]", + "System.Collections.Immutable": "(,10.0.32767]", + "System.Collections.NonGeneric": "(,4.3.32767]", + "System.Collections.Specialized": "(,4.3.32767]", + "System.ComponentModel": "(,4.3.32767]", + "System.ComponentModel.Annotations": "(,4.3.32767]", + "System.ComponentModel.EventBasedAsync": "(,4.3.32767]", + "System.ComponentModel.Primitives": "(,4.3.32767]", + "System.ComponentModel.TypeConverter": "(,4.3.32767]", + "System.Console": "(,4.3.32767]", + "System.Data.Common": "(,4.3.32767]", + "System.Data.DataSetExtensions": "(,4.4.32767]", + "System.Diagnostics.Contracts": "(,4.3.32767]", + "System.Diagnostics.Debug": "(,4.3.32767]", + "System.Diagnostics.DiagnosticSource": "(,10.0.32767]", + "System.Diagnostics.FileVersionInfo": "(,4.3.32767]", + "System.Diagnostics.Process": "(,4.3.32767]", + "System.Diagnostics.StackTrace": "(,4.3.32767]", + "System.Diagnostics.TextWriterTraceListener": "(,4.3.32767]", + "System.Diagnostics.Tools": "(,4.3.32767]", + "System.Diagnostics.TraceSource": "(,4.3.32767]", + "System.Diagnostics.Tracing": "(,4.3.32767]", + "System.Drawing.Primitives": "(,4.3.32767]", + "System.Dynamic.Runtime": "(,4.3.32767]", + "System.Formats.Asn1": "(,10.0.32767]", + "System.Formats.Tar": "(,10.0.32767]", + "System.Globalization": "(,4.3.32767]", + "System.Globalization.Calendars": "(,4.3.32767]", + "System.Globalization.Extensions": "(,4.3.32767]", + "System.IO": "(,4.3.32767]", + "System.IO.Compression": "(,4.3.32767]", + "System.IO.Compression.ZipFile": "(,4.3.32767]", + "System.IO.FileSystem": "(,4.3.32767]", + "System.IO.FileSystem.AccessControl": "(,4.4.32767]", + "System.IO.FileSystem.DriveInfo": "(,4.3.32767]", + "System.IO.FileSystem.Primitives": "(,4.3.32767]", + "System.IO.FileSystem.Watcher": "(,4.3.32767]", + "System.IO.IsolatedStorage": "(,4.3.32767]", + "System.IO.MemoryMappedFiles": "(,4.3.32767]", + "System.IO.Pipelines": "(,10.0.32767]", + "System.IO.Pipes": "(,4.3.32767]", + "System.IO.Pipes.AccessControl": "(,5.0.32767]", + "System.IO.UnmanagedMemoryStream": "(,4.3.32767]", + "System.Linq": "(,4.3.32767]", + "System.Linq.AsyncEnumerable": "(,10.0.32767]", + "System.Linq.Expressions": "(,4.3.32767]", + "System.Linq.Parallel": "(,4.3.32767]", + "System.Linq.Queryable": "(,4.3.32767]", + "System.Memory": "(,5.0.32767]", + "System.Net.Http": "(,4.3.32767]", + "System.Net.Http.Json": "(,10.0.32767]", + "System.Net.NameResolution": "(,4.3.32767]", + "System.Net.NetworkInformation": "(,4.3.32767]", + "System.Net.Ping": "(,4.3.32767]", + "System.Net.Primitives": "(,4.3.32767]", + "System.Net.Requests": "(,4.3.32767]", + "System.Net.Security": "(,4.3.32767]", + "System.Net.ServerSentEvents": "(,10.0.32767]", + "System.Net.Sockets": "(,4.3.32767]", + "System.Net.WebHeaderCollection": "(,4.3.32767]", + "System.Net.WebSockets": "(,4.3.32767]", + "System.Net.WebSockets.Client": "(,4.3.32767]", + "System.Numerics.Vectors": "(,5.0.32767]", + "System.ObjectModel": "(,4.3.32767]", + "System.Private.DataContractSerialization": "(,4.3.32767]", + "System.Private.Uri": "(,4.3.32767]", + "System.Reflection": "(,4.3.32767]", + "System.Reflection.DispatchProxy": "(,6.0.32767]", + "System.Reflection.Emit": "(,4.7.32767]", + "System.Reflection.Emit.ILGeneration": "(,4.7.32767]", + "System.Reflection.Emit.Lightweight": "(,4.7.32767]", + "System.Reflection.Extensions": "(,4.3.32767]", + "System.Reflection.Metadata": "(,10.0.32767]", + "System.Reflection.Primitives": "(,4.3.32767]", + "System.Reflection.TypeExtensions": "(,4.3.32767]", + "System.Resources.Reader": "(,4.3.32767]", + "System.Resources.ResourceManager": "(,4.3.32767]", + "System.Resources.Writer": "(,4.3.32767]", + "System.Runtime": "(,4.3.32767]", + "System.Runtime.CompilerServices.Unsafe": "(,7.0.32767]", + "System.Runtime.CompilerServices.VisualC": "(,4.3.32767]", + "System.Runtime.Extensions": "(,4.3.32767]", + "System.Runtime.Handles": "(,4.3.32767]", + "System.Runtime.InteropServices": "(,4.3.32767]", + "System.Runtime.InteropServices.RuntimeInformation": "(,4.3.32767]", + "System.Runtime.Loader": "(,4.3.32767]", + "System.Runtime.Numerics": "(,4.3.32767]", + "System.Runtime.Serialization.Formatters": "(,4.3.32767]", + "System.Runtime.Serialization.Json": "(,4.3.32767]", + "System.Runtime.Serialization.Primitives": "(,4.3.32767]", + "System.Runtime.Serialization.Xml": "(,4.3.32767]", + "System.Security.AccessControl": "(,6.0.32767]", + "System.Security.Claims": "(,4.3.32767]", + "System.Security.Cryptography.Algorithms": "(,4.3.32767]", + "System.Security.Cryptography.Cng": "(,5.0.32767]", + "System.Security.Cryptography.Csp": "(,4.3.32767]", + "System.Security.Cryptography.Encoding": "(,4.3.32767]", + "System.Security.Cryptography.OpenSsl": "(,5.0.32767]", + "System.Security.Cryptography.Primitives": "(,4.3.32767]", + "System.Security.Cryptography.X509Certificates": "(,4.3.32767]", + "System.Security.Principal": "(,4.3.32767]", + "System.Security.Principal.Windows": "(,5.0.32767]", + "System.Security.SecureString": "(,4.3.32767]", + "System.Text.Encoding": "(,4.3.32767]", + "System.Text.Encoding.CodePages": "(,10.0.32767]", + "System.Text.Encoding.Extensions": "(,4.3.32767]", + "System.Text.Encodings.Web": "(,10.0.32767]", + "System.Text.Json": "(,10.0.32767]", + "System.Text.RegularExpressions": "(,4.3.32767]", + "System.Threading": "(,4.3.32767]", + "System.Threading.AccessControl": "(,10.0.32767]", + "System.Threading.Channels": "(,10.0.32767]", + "System.Threading.Overlapped": "(,4.3.32767]", + "System.Threading.Tasks": "(,4.3.32767]", + "System.Threading.Tasks.Dataflow": "(,10.0.32767]", + "System.Threading.Tasks.Extensions": "(,5.0.32767]", + "System.Threading.Tasks.Parallel": "(,4.3.32767]", + "System.Threading.Thread": "(,4.3.32767]", + "System.Threading.ThreadPool": "(,4.3.32767]", + "System.Threading.Timer": "(,4.3.32767]", + "System.ValueTuple": "(,4.5.32767]", + "System.Xml.ReaderWriter": "(,4.3.32767]", + "System.Xml.XDocument": "(,4.3.32767]", + "System.Xml.XmlDocument": "(,4.3.32767]", + "System.Xml.XmlSerializer": "(,4.3.32767]", + "System.Xml.XPath": "(,4.3.32767]", + "System.Xml.XPath.XDocument": "(,5.0.32767]" + } + } + } + } + } +} \ No newline at end of file diff --git a/DotNet/EverySecondTurnSolver.Tests/obj/EverySecondTurnSolver.Tests.csproj.nuget.g.props b/DotNet/EverySecondTurnSolver.Tests/obj/EverySecondTurnSolver.Tests.csproj.nuget.g.props new file mode 100644 index 00000000..d2ecd304 --- /dev/null +++ b/DotNet/EverySecondTurnSolver.Tests/obj/EverySecondTurnSolver.Tests.csproj.nuget.g.props @@ -0,0 +1,29 @@ + + + + True + NuGet + $(MSBuildThisFileDirectory)project.assets.json + G:\.nuget\packages + G:\.nuget\packages + PackageReference + 7.0.0 + + + + + + + + + + + + + + + + + G:\.nuget\packages\xunit.analyzers\1.26.0 + + \ No newline at end of file diff --git a/DotNet/EverySecondTurnSolver.Tests/obj/EverySecondTurnSolver.Tests.csproj.nuget.g.targets b/DotNet/EverySecondTurnSolver.Tests/obj/EverySecondTurnSolver.Tests.csproj.nuget.g.targets new file mode 100644 index 00000000..cb49536d --- /dev/null +++ b/DotNet/EverySecondTurnSolver.Tests/obj/EverySecondTurnSolver.Tests.csproj.nuget.g.targets @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/DotNet/EverySecondTurnSolver.Tests/obj/project.assets.json b/DotNet/EverySecondTurnSolver.Tests/obj/project.assets.json new file mode 100644 index 00000000..8af9efcd --- /dev/null +++ b/DotNet/EverySecondTurnSolver.Tests/obj/project.assets.json @@ -0,0 +1,1632 @@ +{ + "version": 3, + "targets": { + "net10.0": { + "Google.OrTools/9.11.4210": { + "type": "package", + "dependencies": { + "Google.OrTools.runtime.linux-arm64": "9.11.4210", + "Google.OrTools.runtime.linux-x64": "9.11.4210", + "Google.OrTools.runtime.osx-arm64": "9.11.4210", + "Google.OrTools.runtime.osx-x64": "9.11.4210", + "Google.OrTools.runtime.win-x64": "9.11.4210", + "Google.Protobuf": "3.26.1" + }, + "compile": { + "lib/net6.0/Google.OrTools.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/Google.OrTools.dll": { + "related": ".xml" + } + } + }, + "Google.OrTools.runtime.linux-arm64/9.11.4210": { + "type": "package", + "runtimeTargets": { + "runtimes/linux-arm64/native/google-ortools-native.so": { + "assetType": "native", + "rid": "linux-arm64" + }, + "runtimes/linux-arm64/native/libortools.so.9": { + "assetType": "native", + "rid": "linux-arm64" + } + } + }, + "Google.OrTools.runtime.linux-x64/9.11.4210": { + "type": "package", + "runtimeTargets": { + "runtimes/linux-x64/native/google-ortools-native.so": { + "assetType": "native", + "rid": "linux-x64" + }, + "runtimes/linux-x64/native/libortools.so.9": { + "assetType": "native", + "rid": "linux-x64" + } + } + }, + "Google.OrTools.runtime.osx-arm64/9.11.4210": { + "type": "package", + "runtimeTargets": { + "runtimes/osx-arm64/native/google-ortools-native.dylib": { + "assetType": "native", + "rid": "osx-arm64" + }, + "runtimes/osx-arm64/native/libortools.9.dylib": { + "assetType": "native", + "rid": "osx-arm64" + } + } + }, + "Google.OrTools.runtime.osx-x64/9.11.4210": { + "type": "package", + "runtimeTargets": { + "runtimes/osx-x64/native/google-ortools-native.dylib": { + "assetType": "native", + "rid": "osx-x64" + }, + "runtimes/osx-x64/native/libortools.9.dylib": { + "assetType": "native", + "rid": "osx-x64" + } + } + }, + "Google.OrTools.runtime.win-x64/9.11.4210": { + "type": "package", + "runtimeTargets": { + "runtimes/win-x64/native/google-ortools-native.dll": { + "assetType": "native", + "rid": "win-x64" + } + } + }, + "Google.Protobuf/3.26.1": { + "type": "package", + "compile": { + "lib/net5.0/Google.Protobuf.dll": { + "related": ".pdb;.xml" + } + }, + "runtime": { + "lib/net5.0/Google.Protobuf.dll": { + "related": ".pdb;.xml" + } + } + }, + "JetBrains.Annotations/2025.2.4": { + "type": "package", + "compile": { + "lib/netstandard2.0/JetBrains.Annotations.dll": { + "related": ".deps.json;.xml" + } + }, + "runtime": { + "lib/netstandard2.0/JetBrains.Annotations.dll": { + "related": ".deps.json;.xml" + } + } + }, + "Microsoft.ApplicationInsights/2.23.0": { + "type": "package", + "compile": { + "lib/netstandard2.0/Microsoft.ApplicationInsights.dll": { + "related": ".pdb;.xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.ApplicationInsights.dll": { + "related": ".pdb;.xml" + } + } + }, + "Microsoft.Bcl.AsyncInterfaces/6.0.0": { + "type": "package", + "compile": { + "lib/netstandard2.1/Microsoft.Bcl.AsyncInterfaces.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.1/Microsoft.Bcl.AsyncInterfaces.dll": { + "related": ".xml" + } + } + }, + "Microsoft.Testing.Extensions.Telemetry/1.9.1": { + "type": "package", + "dependencies": { + "Microsoft.ApplicationInsights": "2.23.0", + "Microsoft.Testing.Platform": "1.9.1" + }, + "compile": { + "lib/net9.0/Microsoft.Testing.Extensions.Telemetry.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net9.0/Microsoft.Testing.Extensions.Telemetry.dll": { + "related": ".xml" + } + }, + "resource": { + "lib/net9.0/cs/Microsoft.Testing.Extensions.Telemetry.resources.dll": { + "locale": "cs" + }, + "lib/net9.0/de/Microsoft.Testing.Extensions.Telemetry.resources.dll": { + "locale": "de" + }, + "lib/net9.0/es/Microsoft.Testing.Extensions.Telemetry.resources.dll": { + "locale": "es" + }, + "lib/net9.0/fr/Microsoft.Testing.Extensions.Telemetry.resources.dll": { + "locale": "fr" + }, + "lib/net9.0/it/Microsoft.Testing.Extensions.Telemetry.resources.dll": { + "locale": "it" + }, + "lib/net9.0/ja/Microsoft.Testing.Extensions.Telemetry.resources.dll": { + "locale": "ja" + }, + "lib/net9.0/ko/Microsoft.Testing.Extensions.Telemetry.resources.dll": { + "locale": "ko" + }, + "lib/net9.0/pl/Microsoft.Testing.Extensions.Telemetry.resources.dll": { + "locale": "pl" + }, + "lib/net9.0/pt-BR/Microsoft.Testing.Extensions.Telemetry.resources.dll": { + "locale": "pt-BR" + }, + "lib/net9.0/ru/Microsoft.Testing.Extensions.Telemetry.resources.dll": { + "locale": "ru" + }, + "lib/net9.0/tr/Microsoft.Testing.Extensions.Telemetry.resources.dll": { + "locale": "tr" + }, + "lib/net9.0/zh-Hans/Microsoft.Testing.Extensions.Telemetry.resources.dll": { + "locale": "zh-Hans" + }, + "lib/net9.0/zh-Hant/Microsoft.Testing.Extensions.Telemetry.resources.dll": { + "locale": "zh-Hant" + } + }, + "build": { + "buildTransitive/net9.0/Microsoft.Testing.Extensions.Telemetry.props": {} + }, + "buildMultiTargeting": { + "buildMultiTargeting/Microsoft.Testing.Extensions.Telemetry.props": {} + } + }, + "Microsoft.Testing.Extensions.TrxReport.Abstractions/1.9.1": { + "type": "package", + "dependencies": { + "Microsoft.Testing.Platform": "1.9.1" + }, + "compile": { + "lib/net9.0/Microsoft.Testing.Extensions.TrxReport.Abstractions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net9.0/Microsoft.Testing.Extensions.TrxReport.Abstractions.dll": { + "related": ".xml" + } + } + }, + "Microsoft.Testing.Platform/1.9.1": { + "type": "package", + "compile": { + "lib/net9.0/Microsoft.Testing.Platform.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net9.0/Microsoft.Testing.Platform.dll": { + "related": ".xml" + } + }, + "resource": { + "lib/net9.0/cs/Microsoft.Testing.Platform.resources.dll": { + "locale": "cs" + }, + "lib/net9.0/de/Microsoft.Testing.Platform.resources.dll": { + "locale": "de" + }, + "lib/net9.0/es/Microsoft.Testing.Platform.resources.dll": { + "locale": "es" + }, + "lib/net9.0/fr/Microsoft.Testing.Platform.resources.dll": { + "locale": "fr" + }, + "lib/net9.0/it/Microsoft.Testing.Platform.resources.dll": { + "locale": "it" + }, + "lib/net9.0/ja/Microsoft.Testing.Platform.resources.dll": { + "locale": "ja" + }, + "lib/net9.0/ko/Microsoft.Testing.Platform.resources.dll": { + "locale": "ko" + }, + "lib/net9.0/pl/Microsoft.Testing.Platform.resources.dll": { + "locale": "pl" + }, + "lib/net9.0/pt-BR/Microsoft.Testing.Platform.resources.dll": { + "locale": "pt-BR" + }, + "lib/net9.0/ru/Microsoft.Testing.Platform.resources.dll": { + "locale": "ru" + }, + "lib/net9.0/tr/Microsoft.Testing.Platform.resources.dll": { + "locale": "tr" + }, + "lib/net9.0/zh-Hans/Microsoft.Testing.Platform.resources.dll": { + "locale": "zh-Hans" + }, + "lib/net9.0/zh-Hant/Microsoft.Testing.Platform.resources.dll": { + "locale": "zh-Hant" + } + }, + "build": { + "buildTransitive/net9.0/Microsoft.Testing.Platform.props": {}, + "buildTransitive/net9.0/Microsoft.Testing.Platform.targets": {} + }, + "buildMultiTargeting": { + "buildMultiTargeting/Microsoft.Testing.Platform.props": {}, + "buildMultiTargeting/Microsoft.Testing.Platform.targets": {} + } + }, + "Microsoft.Testing.Platform.MSBuild/1.9.1": { + "type": "package", + "dependencies": { + "Microsoft.Testing.Platform": "1.9.1" + }, + "compile": { + "lib/net9.0/Microsoft.Testing.Extensions.MSBuild.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net9.0/Microsoft.Testing.Extensions.MSBuild.dll": { + "related": ".xml" + } + }, + "resource": { + "lib/net9.0/cs/Microsoft.Testing.Extensions.MSBuild.resources.dll": { + "locale": "cs" + }, + "lib/net9.0/de/Microsoft.Testing.Extensions.MSBuild.resources.dll": { + "locale": "de" + }, + "lib/net9.0/es/Microsoft.Testing.Extensions.MSBuild.resources.dll": { + "locale": "es" + }, + "lib/net9.0/fr/Microsoft.Testing.Extensions.MSBuild.resources.dll": { + "locale": "fr" + }, + "lib/net9.0/it/Microsoft.Testing.Extensions.MSBuild.resources.dll": { + "locale": "it" + }, + "lib/net9.0/ja/Microsoft.Testing.Extensions.MSBuild.resources.dll": { + "locale": "ja" + }, + "lib/net9.0/ko/Microsoft.Testing.Extensions.MSBuild.resources.dll": { + "locale": "ko" + }, + "lib/net9.0/pl/Microsoft.Testing.Extensions.MSBuild.resources.dll": { + "locale": "pl" + }, + "lib/net9.0/pt-BR/Microsoft.Testing.Extensions.MSBuild.resources.dll": { + "locale": "pt-BR" + }, + "lib/net9.0/ru/Microsoft.Testing.Extensions.MSBuild.resources.dll": { + "locale": "ru" + }, + "lib/net9.0/tr/Microsoft.Testing.Extensions.MSBuild.resources.dll": { + "locale": "tr" + }, + "lib/net9.0/zh-Hans/Microsoft.Testing.Extensions.MSBuild.resources.dll": { + "locale": "zh-Hans" + }, + "lib/net9.0/zh-Hant/Microsoft.Testing.Extensions.MSBuild.resources.dll": { + "locale": "zh-Hant" + } + }, + "build": { + "buildTransitive/Microsoft.Testing.Platform.MSBuild.props": {}, + "buildTransitive/Microsoft.Testing.Platform.MSBuild.targets": {} + }, + "buildMultiTargeting": { + "buildMultiTargeting/Microsoft.Testing.Platform.MSBuild.props": {}, + "buildMultiTargeting/Microsoft.Testing.Platform.MSBuild.targets": {} + } + }, + "Microsoft.Win32.Registry/5.0.0": { + "type": "package", + "compile": { + "ref/netstandard2.0/Microsoft.Win32.Registry.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Win32.Registry.dll": { + "related": ".xml" + } + }, + "runtimeTargets": { + "runtimes/win/lib/netstandard2.0/Microsoft.Win32.Registry.dll": { + "assetType": "runtime", + "rid": "win" + } + } + }, + "xunit.analyzers/1.26.0": { + "type": "package" + }, + "xunit.v3/3.2.1": { + "type": "package", + "dependencies": { + "xunit.v3.mtp-v1": "[3.2.1]" + }, + "compile": { + "lib/net8.0/_._": {} + }, + "runtime": { + "lib/net8.0/_._": {} + } + }, + "xunit.v3.assert/3.2.1": { + "type": "package", + "compile": { + "lib/net8.0/xunit.v3.assert.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/xunit.v3.assert.dll": { + "related": ".xml" + } + } + }, + "xunit.v3.common/3.2.1": { + "type": "package", + "dependencies": { + "Microsoft.Bcl.AsyncInterfaces": "6.0.0" + }, + "compile": { + "lib/netstandard2.0/xunit.v3.common.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/xunit.v3.common.dll": { + "related": ".xml" + } + } + }, + "xunit.v3.core.mtp-v1/3.2.1": { + "type": "package", + "dependencies": { + "Microsoft.Testing.Extensions.Telemetry": "1.9.1", + "Microsoft.Testing.Extensions.TrxReport.Abstractions": "1.9.1", + "Microsoft.Testing.Platform": "1.9.1", + "Microsoft.Testing.Platform.MSBuild": "1.9.1", + "xunit.v3.extensibility.core": "[3.2.1]", + "xunit.v3.runner.inproc.console": "[3.2.1]" + }, + "compile": { + "lib/net8.0/xunit.v3.mtp-v1.dll": {} + }, + "runtime": { + "lib/net8.0/xunit.v3.mtp-v1.dll": {} + }, + "build": { + "buildTransitive/xunit.v3.core.mtp-v1.props": {}, + "buildTransitive/xunit.v3.core.mtp-v1.targets": {} + } + }, + "xunit.v3.extensibility.core/3.2.1": { + "type": "package", + "dependencies": { + "xunit.v3.common": "[3.2.1]" + }, + "compile": { + "lib/netstandard2.0/xunit.v3.core.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/xunit.v3.core.dll": { + "related": ".xml" + } + } + }, + "xunit.v3.mtp-v1/3.2.1": { + "type": "package", + "dependencies": { + "xunit.analyzers": "1.26.0", + "xunit.v3.assert": "[3.2.1]", + "xunit.v3.core.mtp-v1": "[3.2.1]" + }, + "compile": { + "lib/net8.0/_._": {} + }, + "runtime": { + "lib/net8.0/_._": {} + } + }, + "xunit.v3.runner.common/3.2.1": { + "type": "package", + "dependencies": { + "Microsoft.Win32.Registry": "[5.0.0]", + "xunit.v3.common": "[3.2.1]" + }, + "compile": { + "lib/netstandard2.0/xunit.v3.runner.common.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/netstandard2.0/xunit.v3.runner.common.dll": { + "related": ".xml" + } + } + }, + "xunit.v3.runner.inproc.console/3.2.1": { + "type": "package", + "dependencies": { + "xunit.v3.extensibility.core": "[3.2.1]", + "xunit.v3.runner.common": "[3.2.1]" + }, + "compile": { + "lib/net8.0/xunit.v3.runner.inproc.console.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net8.0/xunit.v3.runner.inproc.console.dll": { + "related": ".xml" + } + } + }, + "EverySecondTurnSolver/1.0.0": { + "type": "project", + "framework": ".NETCoreApp,Version=v10.0", + "dependencies": { + "Google.OrTools": "9.11.4210" + }, + "compile": { + "bin/placeholder/EverySecondTurnSolver.dll": {} + }, + "runtime": { + "bin/placeholder/EverySecondTurnSolver.dll": {} + } + } + } + }, + "libraries": { + "Google.OrTools/9.11.4210": { + "sha512": "iZ39D66o0lD8H4Jujf+3TRj4jdMPiYB0m0Ae+Az4rtG9llxteB5Ie/rOC0zGDd85cHrPalS7PPwD3xEP1XgZhg==", + "type": "package", + "path": "google.ortools/9.11.4210", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "content/README.md", + "content/algorithms/set_cover.proto", + "content/bop/bop_parameters.proto", + "content/constraint_solver/assignment.proto", + "content/constraint_solver/demon_profiler.proto", + "content/constraint_solver/routing_enums.proto", + "content/constraint_solver/routing_ils.proto", + "content/constraint_solver/routing_parameters.proto", + "content/constraint_solver/search_limit.proto", + "content/constraint_solver/search_stats.proto", + "content/constraint_solver/solver_parameters.proto", + "content/glop/parameters.proto", + "content/graph/flow_problem.proto", + "content/linear_solver/linear_solver.proto", + "content/orLogo.png", + "content/pdlp/solve_log.proto", + "content/pdlp/solvers.proto", + "content/sat/boolean_problem.proto", + "content/sat/cp_model.proto", + "content/sat/cp_model_service.proto", + "content/sat/sat_parameters.proto", + "content/util/int128.proto", + "content/util/optional_boolean.proto", + "google.ortools.9.11.4210.nupkg.sha512", + "google.ortools.nuspec", + "lib/net462/Google.OrTools.dll", + "lib/net462/Google.OrTools.xml", + "lib/net6.0/Google.OrTools.dll", + "lib/net6.0/Google.OrTools.xml" + ] + }, + "Google.OrTools.runtime.linux-arm64/9.11.4210": { + "sha512": "8+4Y0EFZg1p0mI+X9dioyuNZN80OHzOUW2ZOulkfbbQsPSduT0hZGpydTBn+t9ONOznWFWSmCqhv6JxD8Qs9zw==", + "type": "package", + "path": "google.ortools.runtime.linux-arm64/9.11.4210", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "content/README.md", + "content/orLogo.png", + "google.ortools.runtime.linux-arm64.9.11.4210.nupkg.sha512", + "google.ortools.runtime.linux-arm64.nuspec", + "runtimes/linux-arm64/native/google-ortools-native.so", + "runtimes/linux-arm64/native/libortools.so.9" + ] + }, + "Google.OrTools.runtime.linux-x64/9.11.4210": { + "sha512": "zfDb6GVs2OfEFoin1t0NfbPu52Sv5xFh4EEBwU+mD0OGplHIlDE2K0MK8PL8wMh4aUQz3zWcHbjFAwisX60wiw==", + "type": "package", + "path": "google.ortools.runtime.linux-x64/9.11.4210", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "content/README.md", + "content/orLogo.png", + "google.ortools.runtime.linux-x64.9.11.4210.nupkg.sha512", + "google.ortools.runtime.linux-x64.nuspec", + "runtimes/linux-x64/native/google-ortools-native.so", + "runtimes/linux-x64/native/libortools.so.9" + ] + }, + "Google.OrTools.runtime.osx-arm64/9.11.4210": { + "sha512": "uIqvHvxYL3sVQWr5/N/8XMM6RMhOgWzr4z6GozJSPRbSrAE0IO5zB/inv3MPt2+U9JRQW9ogGp+5dkU0oLaU1Q==", + "type": "package", + "path": "google.ortools.runtime.osx-arm64/9.11.4210", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "content/README.md", + "content/orLogo.png", + "google.ortools.runtime.osx-arm64.9.11.4210.nupkg.sha512", + "google.ortools.runtime.osx-arm64.nuspec", + "runtimes/osx-arm64/native/google-ortools-native.dylib", + "runtimes/osx-arm64/native/libortools.9.dylib" + ] + }, + "Google.OrTools.runtime.osx-x64/9.11.4210": { + "sha512": "9+Ypa2QbqcC5UU7Z8Ruh1t2i5VKayQ5e2w/jqfxSxYVkVJOrhoOaMwKHPhGstWI+CljSQKCxc0I6lEiScL3+RA==", + "type": "package", + "path": "google.ortools.runtime.osx-x64/9.11.4210", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "content/README.md", + "content/orLogo.png", + "google.ortools.runtime.osx-x64.9.11.4210.nupkg.sha512", + "google.ortools.runtime.osx-x64.nuspec", + "runtimes/osx-x64/native/google-ortools-native.dylib", + "runtimes/osx-x64/native/libortools.9.dylib" + ] + }, + "Google.OrTools.runtime.win-x64/9.11.4210": { + "sha512": "gs01iumgpIqgdHiWW3H4vCsgBQF1L0U+eAAi5FNO7gtHqqVZr/23vIzXsN6UKdLbb6qnctczB2qSuWRnBTL9XQ==", + "type": "package", + "path": "google.ortools.runtime.win-x64/9.11.4210", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "content/README.md", + "content/orLogo.png", + "google.ortools.runtime.win-x64.9.11.4210.nupkg.sha512", + "google.ortools.runtime.win-x64.nuspec", + "runtimes/win-x64/native/google-ortools-native.dll" + ] + }, + "Google.Protobuf/3.26.1": { + "sha512": "CHZX8zXqhF/fdUtd+AYzew8T2HFkAoe5c7lbGxZY/qryAlQXckDvM5BfOJjXlMS7kyICqQTMszj4w1bX5uBJ/w==", + "type": "package", + "path": "google.protobuf/3.26.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "google.protobuf.3.26.1.nupkg.sha512", + "google.protobuf.nuspec", + "lib/net45/Google.Protobuf.dll", + "lib/net45/Google.Protobuf.pdb", + "lib/net45/Google.Protobuf.xml", + "lib/net5.0/Google.Protobuf.dll", + "lib/net5.0/Google.Protobuf.pdb", + "lib/net5.0/Google.Protobuf.xml", + "lib/netstandard1.1/Google.Protobuf.dll", + "lib/netstandard1.1/Google.Protobuf.pdb", + "lib/netstandard1.1/Google.Protobuf.xml", + "lib/netstandard2.0/Google.Protobuf.dll", + "lib/netstandard2.0/Google.Protobuf.pdb", + "lib/netstandard2.0/Google.Protobuf.xml" + ] + }, + "JetBrains.Annotations/2025.2.4": { + "sha512": "TwbgxAkXxY+vNEhNVx/QXjJ4vqxmepOjsgRvvImQPbHkHMMb4W+ahL3laMsxXKtNT7iMy+E1B3xkqao2hf1n3A==", + "type": "package", + "path": "jetbrains.annotations/2025.2.4", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "icon.png", + "jetbrains.annotations.2025.2.4.nupkg.sha512", + "jetbrains.annotations.nuspec", + "lib/net20/JetBrains.Annotations.dll", + "lib/net20/JetBrains.Annotations.xml", + "lib/netstandard1.0/JetBrains.Annotations.deps.json", + "lib/netstandard1.0/JetBrains.Annotations.dll", + "lib/netstandard1.0/JetBrains.Annotations.xml", + "lib/netstandard2.0/JetBrains.Annotations.deps.json", + "lib/netstandard2.0/JetBrains.Annotations.dll", + "lib/netstandard2.0/JetBrains.Annotations.xml", + "lib/portable40-net40+sl5+win8+wp8+wpa81/JetBrains.Annotations.dll", + "lib/portable40-net40+sl5+win8+wp8+wpa81/JetBrains.Annotations.xml", + "readme.md" + ] + }, + "Microsoft.ApplicationInsights/2.23.0": { + "sha512": "nWArUZTdU7iqZLycLKWe0TDms48KKGE6pONH2terYNa8REXiqixrMOkf1sk5DHGMaUTqONU2YkS4SAXBhLStgw==", + "type": "package", + "path": "microsoft.applicationinsights/2.23.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "icon.png", + "lib/net452/Microsoft.ApplicationInsights.dll", + "lib/net452/Microsoft.ApplicationInsights.pdb", + "lib/net452/Microsoft.ApplicationInsights.xml", + "lib/net46/Microsoft.ApplicationInsights.dll", + "lib/net46/Microsoft.ApplicationInsights.pdb", + "lib/net46/Microsoft.ApplicationInsights.xml", + "lib/netstandard2.0/Microsoft.ApplicationInsights.dll", + "lib/netstandard2.0/Microsoft.ApplicationInsights.pdb", + "lib/netstandard2.0/Microsoft.ApplicationInsights.xml", + "microsoft.applicationinsights.2.23.0.nupkg.sha512", + "microsoft.applicationinsights.nuspec" + ] + }, + "Microsoft.Bcl.AsyncInterfaces/6.0.0": { + "sha512": "UcSjPsst+DfAdJGVDsu346FX0ci0ah+lw3WRtn18NUwEqRt70HaOQ7lI72vy3+1LxtqI3T5GWwV39rQSrCzAeg==", + "type": "package", + "path": "microsoft.bcl.asyncinterfaces/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/net461/Microsoft.Bcl.AsyncInterfaces.dll", + "lib/net461/Microsoft.Bcl.AsyncInterfaces.xml", + "lib/netstandard2.0/Microsoft.Bcl.AsyncInterfaces.dll", + "lib/netstandard2.0/Microsoft.Bcl.AsyncInterfaces.xml", + "lib/netstandard2.1/Microsoft.Bcl.AsyncInterfaces.dll", + "lib/netstandard2.1/Microsoft.Bcl.AsyncInterfaces.xml", + "microsoft.bcl.asyncinterfaces.6.0.0.nupkg.sha512", + "microsoft.bcl.asyncinterfaces.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Testing.Extensions.Telemetry/1.9.1": { + "sha512": "No5AudZMmSb+uNXjlgL2y3/stHD2IT4uxqc5yHwkE+/nNux9jbKcaJMvcp9SwgP4DVD8L9/P3OUz8mmmcvEIdQ==", + "type": "package", + "path": "microsoft.testing.extensions.telemetry/1.9.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "PACKAGE.md", + "build/net6.0/Microsoft.Testing.Extensions.Telemetry.props", + "build/net7.0/Microsoft.Testing.Extensions.Telemetry.props", + "build/net8.0/Microsoft.Testing.Extensions.Telemetry.props", + "build/net9.0/Microsoft.Testing.Extensions.Telemetry.props", + "build/netstandard2.0/Microsoft.Testing.Extensions.Telemetry.props", + "buildMultiTargeting/Microsoft.Testing.Extensions.Telemetry.props", + "buildTransitive/net6.0/Microsoft.Testing.Extensions.Telemetry.props", + "buildTransitive/net7.0/Microsoft.Testing.Extensions.Telemetry.props", + "buildTransitive/net8.0/Microsoft.Testing.Extensions.Telemetry.props", + "buildTransitive/net9.0/Microsoft.Testing.Extensions.Telemetry.props", + "buildTransitive/netstandard2.0/Microsoft.Testing.Extensions.Telemetry.props", + "lib/net6.0/Microsoft.Testing.Extensions.Telemetry.dll", + "lib/net6.0/Microsoft.Testing.Extensions.Telemetry.xml", + "lib/net6.0/cs/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net6.0/de/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net6.0/es/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net6.0/fr/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net6.0/it/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net6.0/ja/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net6.0/ko/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net6.0/pl/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net6.0/pt-BR/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net6.0/ru/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net6.0/tr/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net6.0/zh-Hans/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net6.0/zh-Hant/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net7.0/Microsoft.Testing.Extensions.Telemetry.dll", + "lib/net7.0/Microsoft.Testing.Extensions.Telemetry.xml", + "lib/net7.0/cs/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net7.0/de/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net7.0/es/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net7.0/fr/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net7.0/it/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net7.0/ja/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net7.0/ko/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net7.0/pl/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net7.0/pt-BR/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net7.0/ru/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net7.0/tr/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net7.0/zh-Hans/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net7.0/zh-Hant/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net8.0/Microsoft.Testing.Extensions.Telemetry.dll", + "lib/net8.0/Microsoft.Testing.Extensions.Telemetry.xml", + "lib/net8.0/cs/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net8.0/de/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net8.0/es/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net8.0/fr/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net8.0/it/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net8.0/ja/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net8.0/ko/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net8.0/pl/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net8.0/pt-BR/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net8.0/ru/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net8.0/tr/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net8.0/zh-Hans/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net8.0/zh-Hant/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net9.0/Microsoft.Testing.Extensions.Telemetry.dll", + "lib/net9.0/Microsoft.Testing.Extensions.Telemetry.xml", + "lib/net9.0/cs/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net9.0/de/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net9.0/es/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net9.0/fr/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net9.0/it/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net9.0/ja/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net9.0/ko/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net9.0/pl/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net9.0/pt-BR/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net9.0/ru/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net9.0/tr/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net9.0/zh-Hans/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/net9.0/zh-Hant/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/netstandard2.0/Microsoft.Testing.Extensions.Telemetry.dll", + "lib/netstandard2.0/Microsoft.Testing.Extensions.Telemetry.xml", + "lib/netstandard2.0/cs/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/netstandard2.0/de/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/netstandard2.0/es/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/netstandard2.0/fr/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/netstandard2.0/it/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/netstandard2.0/ja/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/netstandard2.0/ko/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/netstandard2.0/pl/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/netstandard2.0/pt-BR/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/netstandard2.0/ru/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/netstandard2.0/tr/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/netstandard2.0/zh-Hans/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "lib/netstandard2.0/zh-Hant/Microsoft.Testing.Extensions.Telemetry.resources.dll", + "microsoft.testing.extensions.telemetry.1.9.1.nupkg.sha512", + "microsoft.testing.extensions.telemetry.nuspec" + ] + }, + "Microsoft.Testing.Extensions.TrxReport.Abstractions/1.9.1": { + "sha512": "AL46Xe1WBi85Ntd4mNPvat5ZSsZ2uejiVqoKCypr8J3wK0elA5xJ3AN4G/Q4GIwzUFnggZoH/DBjnr9J18IO/g==", + "type": "package", + "path": "microsoft.testing.extensions.trxreport.abstractions/1.9.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "PACKAGE.md", + "lib/net6.0/Microsoft.Testing.Extensions.TrxReport.Abstractions.dll", + "lib/net6.0/Microsoft.Testing.Extensions.TrxReport.Abstractions.xml", + "lib/net7.0/Microsoft.Testing.Extensions.TrxReport.Abstractions.dll", + "lib/net7.0/Microsoft.Testing.Extensions.TrxReport.Abstractions.xml", + "lib/net8.0/Microsoft.Testing.Extensions.TrxReport.Abstractions.dll", + "lib/net8.0/Microsoft.Testing.Extensions.TrxReport.Abstractions.xml", + "lib/net9.0/Microsoft.Testing.Extensions.TrxReport.Abstractions.dll", + "lib/net9.0/Microsoft.Testing.Extensions.TrxReport.Abstractions.xml", + "lib/netstandard2.0/Microsoft.Testing.Extensions.TrxReport.Abstractions.dll", + "lib/netstandard2.0/Microsoft.Testing.Extensions.TrxReport.Abstractions.xml", + "microsoft.testing.extensions.trxreport.abstractions.1.9.1.nupkg.sha512", + "microsoft.testing.extensions.trxreport.abstractions.nuspec" + ] + }, + "Microsoft.Testing.Platform/1.9.1": { + "sha512": "QafNtNSmEI0zazdebnsIkDKmFtTSpmx/5PLOjURWwozcPb3tvRxzosQSL8xwYNM1iPhhKiBksXZyRSE2COisrA==", + "type": "package", + "path": "microsoft.testing.platform/1.9.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "PACKAGE.md", + "build/net6.0/Microsoft.Testing.Platform.props", + "build/net6.0/Microsoft.Testing.Platform.targets", + "build/net7.0/Microsoft.Testing.Platform.props", + "build/net7.0/Microsoft.Testing.Platform.targets", + "build/net8.0/Microsoft.Testing.Platform.props", + "build/net8.0/Microsoft.Testing.Platform.targets", + "build/net9.0/Microsoft.Testing.Platform.props", + "build/net9.0/Microsoft.Testing.Platform.targets", + "build/netstandard2.0/Microsoft.Testing.Platform.props", + "build/netstandard2.0/Microsoft.Testing.Platform.targets", + "buildMultiTargeting/Microsoft.Testing.Platform.props", + "buildMultiTargeting/Microsoft.Testing.Platform.targets", + "buildTransitive/net6.0/Microsoft.Testing.Platform.props", + "buildTransitive/net6.0/Microsoft.Testing.Platform.targets", + "buildTransitive/net7.0/Microsoft.Testing.Platform.props", + "buildTransitive/net7.0/Microsoft.Testing.Platform.targets", + "buildTransitive/net8.0/Microsoft.Testing.Platform.props", + "buildTransitive/net8.0/Microsoft.Testing.Platform.targets", + "buildTransitive/net9.0/Microsoft.Testing.Platform.props", + "buildTransitive/net9.0/Microsoft.Testing.Platform.targets", + "buildTransitive/netstandard2.0/Microsoft.Testing.Platform.props", + "buildTransitive/netstandard2.0/Microsoft.Testing.Platform.targets", + "lib/net6.0/Microsoft.Testing.Platform.dll", + "lib/net6.0/Microsoft.Testing.Platform.xml", + "lib/net6.0/cs/Microsoft.Testing.Platform.resources.dll", + "lib/net6.0/de/Microsoft.Testing.Platform.resources.dll", + "lib/net6.0/es/Microsoft.Testing.Platform.resources.dll", + "lib/net6.0/fr/Microsoft.Testing.Platform.resources.dll", + "lib/net6.0/it/Microsoft.Testing.Platform.resources.dll", + "lib/net6.0/ja/Microsoft.Testing.Platform.resources.dll", + "lib/net6.0/ko/Microsoft.Testing.Platform.resources.dll", + "lib/net6.0/pl/Microsoft.Testing.Platform.resources.dll", + "lib/net6.0/pt-BR/Microsoft.Testing.Platform.resources.dll", + "lib/net6.0/ru/Microsoft.Testing.Platform.resources.dll", + "lib/net6.0/tr/Microsoft.Testing.Platform.resources.dll", + "lib/net6.0/zh-Hans/Microsoft.Testing.Platform.resources.dll", + "lib/net6.0/zh-Hant/Microsoft.Testing.Platform.resources.dll", + "lib/net7.0/Microsoft.Testing.Platform.dll", + "lib/net7.0/Microsoft.Testing.Platform.xml", + "lib/net7.0/cs/Microsoft.Testing.Platform.resources.dll", + "lib/net7.0/de/Microsoft.Testing.Platform.resources.dll", + "lib/net7.0/es/Microsoft.Testing.Platform.resources.dll", + "lib/net7.0/fr/Microsoft.Testing.Platform.resources.dll", + "lib/net7.0/it/Microsoft.Testing.Platform.resources.dll", + "lib/net7.0/ja/Microsoft.Testing.Platform.resources.dll", + "lib/net7.0/ko/Microsoft.Testing.Platform.resources.dll", + "lib/net7.0/pl/Microsoft.Testing.Platform.resources.dll", + "lib/net7.0/pt-BR/Microsoft.Testing.Platform.resources.dll", + "lib/net7.0/ru/Microsoft.Testing.Platform.resources.dll", + "lib/net7.0/tr/Microsoft.Testing.Platform.resources.dll", + "lib/net7.0/zh-Hans/Microsoft.Testing.Platform.resources.dll", + "lib/net7.0/zh-Hant/Microsoft.Testing.Platform.resources.dll", + "lib/net8.0/Microsoft.Testing.Platform.dll", + "lib/net8.0/Microsoft.Testing.Platform.xml", + "lib/net8.0/cs/Microsoft.Testing.Platform.resources.dll", + "lib/net8.0/de/Microsoft.Testing.Platform.resources.dll", + "lib/net8.0/es/Microsoft.Testing.Platform.resources.dll", + "lib/net8.0/fr/Microsoft.Testing.Platform.resources.dll", + "lib/net8.0/it/Microsoft.Testing.Platform.resources.dll", + "lib/net8.0/ja/Microsoft.Testing.Platform.resources.dll", + "lib/net8.0/ko/Microsoft.Testing.Platform.resources.dll", + "lib/net8.0/pl/Microsoft.Testing.Platform.resources.dll", + "lib/net8.0/pt-BR/Microsoft.Testing.Platform.resources.dll", + "lib/net8.0/ru/Microsoft.Testing.Platform.resources.dll", + "lib/net8.0/tr/Microsoft.Testing.Platform.resources.dll", + "lib/net8.0/zh-Hans/Microsoft.Testing.Platform.resources.dll", + "lib/net8.0/zh-Hant/Microsoft.Testing.Platform.resources.dll", + "lib/net9.0/Microsoft.Testing.Platform.dll", + "lib/net9.0/Microsoft.Testing.Platform.xml", + "lib/net9.0/cs/Microsoft.Testing.Platform.resources.dll", + "lib/net9.0/de/Microsoft.Testing.Platform.resources.dll", + "lib/net9.0/es/Microsoft.Testing.Platform.resources.dll", + "lib/net9.0/fr/Microsoft.Testing.Platform.resources.dll", + "lib/net9.0/it/Microsoft.Testing.Platform.resources.dll", + "lib/net9.0/ja/Microsoft.Testing.Platform.resources.dll", + "lib/net9.0/ko/Microsoft.Testing.Platform.resources.dll", + "lib/net9.0/pl/Microsoft.Testing.Platform.resources.dll", + "lib/net9.0/pt-BR/Microsoft.Testing.Platform.resources.dll", + "lib/net9.0/ru/Microsoft.Testing.Platform.resources.dll", + "lib/net9.0/tr/Microsoft.Testing.Platform.resources.dll", + "lib/net9.0/zh-Hans/Microsoft.Testing.Platform.resources.dll", + "lib/net9.0/zh-Hant/Microsoft.Testing.Platform.resources.dll", + "lib/netstandard2.0/Microsoft.Testing.Platform.dll", + "lib/netstandard2.0/Microsoft.Testing.Platform.xml", + "lib/netstandard2.0/cs/Microsoft.Testing.Platform.resources.dll", + "lib/netstandard2.0/de/Microsoft.Testing.Platform.resources.dll", + "lib/netstandard2.0/es/Microsoft.Testing.Platform.resources.dll", + "lib/netstandard2.0/fr/Microsoft.Testing.Platform.resources.dll", + "lib/netstandard2.0/it/Microsoft.Testing.Platform.resources.dll", + "lib/netstandard2.0/ja/Microsoft.Testing.Platform.resources.dll", + "lib/netstandard2.0/ko/Microsoft.Testing.Platform.resources.dll", + "lib/netstandard2.0/pl/Microsoft.Testing.Platform.resources.dll", + "lib/netstandard2.0/pt-BR/Microsoft.Testing.Platform.resources.dll", + "lib/netstandard2.0/ru/Microsoft.Testing.Platform.resources.dll", + "lib/netstandard2.0/tr/Microsoft.Testing.Platform.resources.dll", + "lib/netstandard2.0/zh-Hans/Microsoft.Testing.Platform.resources.dll", + "lib/netstandard2.0/zh-Hant/Microsoft.Testing.Platform.resources.dll", + "microsoft.testing.platform.1.9.1.nupkg.sha512", + "microsoft.testing.platform.nuspec" + ] + }, + "Microsoft.Testing.Platform.MSBuild/1.9.1": { + "sha512": "oTUtyR4X/s9ytuiNA29FGsNCCH0rNmY5Wdm14NCKLjTM1cT9edVSlA+rGS/mVmusPqcP0l/x9qOnMXg16v87RQ==", + "type": "package", + "path": "microsoft.testing.platform.msbuild/1.9.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "PACKAGE.md", + "_MSBuildTasks/netstandard2.0/Microsoft.Testing.Platform.MSBuild.dll", + "_MSBuildTasks/netstandard2.0/Microsoft.Testing.Platform.MSBuild.xml", + "_MSBuildTasks/netstandard2.0/Microsoft.Testing.Platform.dll", + "_MSBuildTasks/netstandard2.0/Microsoft.Testing.Platform.xml", + "_MSBuildTasks/netstandard2.0/Microsoft.Win32.Registry.dll", + "_MSBuildTasks/netstandard2.0/System.Security.AccessControl.dll", + "_MSBuildTasks/netstandard2.0/System.Security.Principal.Windows.dll", + "_MSBuildTasks/netstandard2.0/cs/Microsoft.Testing.Platform.MSBuild.resources.dll", + "_MSBuildTasks/netstandard2.0/cs/Microsoft.Testing.Platform.resources.dll", + "_MSBuildTasks/netstandard2.0/de/Microsoft.Testing.Platform.MSBuild.resources.dll", + "_MSBuildTasks/netstandard2.0/de/Microsoft.Testing.Platform.resources.dll", + "_MSBuildTasks/netstandard2.0/es/Microsoft.Testing.Platform.MSBuild.resources.dll", + "_MSBuildTasks/netstandard2.0/es/Microsoft.Testing.Platform.resources.dll", + "_MSBuildTasks/netstandard2.0/fr/Microsoft.Testing.Platform.MSBuild.resources.dll", + "_MSBuildTasks/netstandard2.0/fr/Microsoft.Testing.Platform.resources.dll", + "_MSBuildTasks/netstandard2.0/it/Microsoft.Testing.Platform.MSBuild.resources.dll", + "_MSBuildTasks/netstandard2.0/it/Microsoft.Testing.Platform.resources.dll", + "_MSBuildTasks/netstandard2.0/ja/Microsoft.Testing.Platform.MSBuild.resources.dll", + "_MSBuildTasks/netstandard2.0/ja/Microsoft.Testing.Platform.resources.dll", + "_MSBuildTasks/netstandard2.0/ko/Microsoft.Testing.Platform.MSBuild.resources.dll", + "_MSBuildTasks/netstandard2.0/ko/Microsoft.Testing.Platform.resources.dll", + "_MSBuildTasks/netstandard2.0/pl/Microsoft.Testing.Platform.MSBuild.resources.dll", + "_MSBuildTasks/netstandard2.0/pl/Microsoft.Testing.Platform.resources.dll", + "_MSBuildTasks/netstandard2.0/pt-BR/Microsoft.Testing.Platform.MSBuild.resources.dll", + "_MSBuildTasks/netstandard2.0/pt-BR/Microsoft.Testing.Platform.resources.dll", + "_MSBuildTasks/netstandard2.0/ru/Microsoft.Testing.Platform.MSBuild.resources.dll", + "_MSBuildTasks/netstandard2.0/ru/Microsoft.Testing.Platform.resources.dll", + "_MSBuildTasks/netstandard2.0/tr/Microsoft.Testing.Platform.MSBuild.resources.dll", + "_MSBuildTasks/netstandard2.0/tr/Microsoft.Testing.Platform.resources.dll", + "_MSBuildTasks/netstandard2.0/zh-Hans/Microsoft.Testing.Platform.MSBuild.resources.dll", + "_MSBuildTasks/netstandard2.0/zh-Hans/Microsoft.Testing.Platform.resources.dll", + "_MSBuildTasks/netstandard2.0/zh-Hant/Microsoft.Testing.Platform.MSBuild.resources.dll", + "_MSBuildTasks/netstandard2.0/zh-Hant/Microsoft.Testing.Platform.resources.dll", + "build/Microsoft.Testing.Platform.MSBuild.props", + "build/Microsoft.Testing.Platform.MSBuild.targets", + "buildMultiTargeting/Microsoft.Testing.Platform.MSBuild.CustomTestTarget.targets", + "buildMultiTargeting/Microsoft.Testing.Platform.MSBuild.VSTest.targets", + "buildMultiTargeting/Microsoft.Testing.Platform.MSBuild.props", + "buildMultiTargeting/Microsoft.Testing.Platform.MSBuild.targets", + "buildTransitive/Microsoft.Testing.Platform.MSBuild.props", + "buildTransitive/Microsoft.Testing.Platform.MSBuild.targets", + "lib/net6.0/Microsoft.Testing.Extensions.MSBuild.dll", + "lib/net6.0/Microsoft.Testing.Extensions.MSBuild.xml", + "lib/net6.0/cs/Microsoft.Testing.Extensions.MSBuild.resources.dll", + "lib/net6.0/de/Microsoft.Testing.Extensions.MSBuild.resources.dll", + "lib/net6.0/es/Microsoft.Testing.Extensions.MSBuild.resources.dll", + "lib/net6.0/fr/Microsoft.Testing.Extensions.MSBuild.resources.dll", + "lib/net6.0/it/Microsoft.Testing.Extensions.MSBuild.resources.dll", + "lib/net6.0/ja/Microsoft.Testing.Extensions.MSBuild.resources.dll", + "lib/net6.0/ko/Microsoft.Testing.Extensions.MSBuild.resources.dll", + "lib/net6.0/pl/Microsoft.Testing.Extensions.MSBuild.resources.dll", + "lib/net6.0/pt-BR/Microsoft.Testing.Extensions.MSBuild.resources.dll", + "lib/net6.0/ru/Microsoft.Testing.Extensions.MSBuild.resources.dll", + "lib/net6.0/tr/Microsoft.Testing.Extensions.MSBuild.resources.dll", + "lib/net6.0/zh-Hans/Microsoft.Testing.Extensions.MSBuild.resources.dll", + "lib/net6.0/zh-Hant/Microsoft.Testing.Extensions.MSBuild.resources.dll", + "lib/net7.0/Microsoft.Testing.Extensions.MSBuild.dll", + "lib/net7.0/Microsoft.Testing.Extensions.MSBuild.xml", + "lib/net7.0/cs/Microsoft.Testing.Extensions.MSBuild.resources.dll", + "lib/net7.0/de/Microsoft.Testing.Extensions.MSBuild.resources.dll", + "lib/net7.0/es/Microsoft.Testing.Extensions.MSBuild.resources.dll", + "lib/net7.0/fr/Microsoft.Testing.Extensions.MSBuild.resources.dll", + "lib/net7.0/it/Microsoft.Testing.Extensions.MSBuild.resources.dll", + "lib/net7.0/ja/Microsoft.Testing.Extensions.MSBuild.resources.dll", + "lib/net7.0/ko/Microsoft.Testing.Extensions.MSBuild.resources.dll", + "lib/net7.0/pl/Microsoft.Testing.Extensions.MSBuild.resources.dll", + "lib/net7.0/pt-BR/Microsoft.Testing.Extensions.MSBuild.resources.dll", + "lib/net7.0/ru/Microsoft.Testing.Extensions.MSBuild.resources.dll", + "lib/net7.0/tr/Microsoft.Testing.Extensions.MSBuild.resources.dll", + "lib/net7.0/zh-Hans/Microsoft.Testing.Extensions.MSBuild.resources.dll", + "lib/net7.0/zh-Hant/Microsoft.Testing.Extensions.MSBuild.resources.dll", + "lib/net8.0/Microsoft.Testing.Extensions.MSBuild.dll", + "lib/net8.0/Microsoft.Testing.Extensions.MSBuild.xml", + "lib/net8.0/cs/Microsoft.Testing.Extensions.MSBuild.resources.dll", + "lib/net8.0/de/Microsoft.Testing.Extensions.MSBuild.resources.dll", + "lib/net8.0/es/Microsoft.Testing.Extensions.MSBuild.resources.dll", + "lib/net8.0/fr/Microsoft.Testing.Extensions.MSBuild.resources.dll", + "lib/net8.0/it/Microsoft.Testing.Extensions.MSBuild.resources.dll", + "lib/net8.0/ja/Microsoft.Testing.Extensions.MSBuild.resources.dll", + "lib/net8.0/ko/Microsoft.Testing.Extensions.MSBuild.resources.dll", + "lib/net8.0/pl/Microsoft.Testing.Extensions.MSBuild.resources.dll", + "lib/net8.0/pt-BR/Microsoft.Testing.Extensions.MSBuild.resources.dll", + "lib/net8.0/ru/Microsoft.Testing.Extensions.MSBuild.resources.dll", + "lib/net8.0/tr/Microsoft.Testing.Extensions.MSBuild.resources.dll", + "lib/net8.0/zh-Hans/Microsoft.Testing.Extensions.MSBuild.resources.dll", + "lib/net8.0/zh-Hant/Microsoft.Testing.Extensions.MSBuild.resources.dll", + "lib/net9.0/Microsoft.Testing.Extensions.MSBuild.dll", + "lib/net9.0/Microsoft.Testing.Extensions.MSBuild.xml", + "lib/net9.0/cs/Microsoft.Testing.Extensions.MSBuild.resources.dll", + "lib/net9.0/de/Microsoft.Testing.Extensions.MSBuild.resources.dll", + "lib/net9.0/es/Microsoft.Testing.Extensions.MSBuild.resources.dll", + "lib/net9.0/fr/Microsoft.Testing.Extensions.MSBuild.resources.dll", + "lib/net9.0/it/Microsoft.Testing.Extensions.MSBuild.resources.dll", + "lib/net9.0/ja/Microsoft.Testing.Extensions.MSBuild.resources.dll", + "lib/net9.0/ko/Microsoft.Testing.Extensions.MSBuild.resources.dll", + "lib/net9.0/pl/Microsoft.Testing.Extensions.MSBuild.resources.dll", + "lib/net9.0/pt-BR/Microsoft.Testing.Extensions.MSBuild.resources.dll", + "lib/net9.0/ru/Microsoft.Testing.Extensions.MSBuild.resources.dll", + "lib/net9.0/tr/Microsoft.Testing.Extensions.MSBuild.resources.dll", + "lib/net9.0/zh-Hans/Microsoft.Testing.Extensions.MSBuild.resources.dll", + "lib/net9.0/zh-Hant/Microsoft.Testing.Extensions.MSBuild.resources.dll", + "lib/netstandard2.0/Microsoft.Testing.Extensions.MSBuild.dll", + "lib/netstandard2.0/Microsoft.Testing.Extensions.MSBuild.xml", + "lib/netstandard2.0/cs/Microsoft.Testing.Extensions.MSBuild.resources.dll", + "lib/netstandard2.0/de/Microsoft.Testing.Extensions.MSBuild.resources.dll", + "lib/netstandard2.0/es/Microsoft.Testing.Extensions.MSBuild.resources.dll", + "lib/netstandard2.0/fr/Microsoft.Testing.Extensions.MSBuild.resources.dll", + "lib/netstandard2.0/it/Microsoft.Testing.Extensions.MSBuild.resources.dll", + "lib/netstandard2.0/ja/Microsoft.Testing.Extensions.MSBuild.resources.dll", + "lib/netstandard2.0/ko/Microsoft.Testing.Extensions.MSBuild.resources.dll", + "lib/netstandard2.0/pl/Microsoft.Testing.Extensions.MSBuild.resources.dll", + "lib/netstandard2.0/pt-BR/Microsoft.Testing.Extensions.MSBuild.resources.dll", + "lib/netstandard2.0/ru/Microsoft.Testing.Extensions.MSBuild.resources.dll", + "lib/netstandard2.0/tr/Microsoft.Testing.Extensions.MSBuild.resources.dll", + "lib/netstandard2.0/zh-Hans/Microsoft.Testing.Extensions.MSBuild.resources.dll", + "lib/netstandard2.0/zh-Hant/Microsoft.Testing.Extensions.MSBuild.resources.dll", + "microsoft.testing.platform.msbuild.1.9.1.nupkg.sha512", + "microsoft.testing.platform.msbuild.nuspec" + ] + }, + "Microsoft.Win32.Registry/5.0.0": { + "sha512": "dDoKi0PnDz31yAyETfRntsLArTlVAVzUzCIvvEDsDsucrl33Dl8pIJG06ePTJTI3tGpeyHS9Cq7Foc/s4EeKcg==", + "type": "package", + "path": "microsoft.win32.registry/5.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/net46/Microsoft.Win32.Registry.dll", + "lib/net461/Microsoft.Win32.Registry.dll", + "lib/net461/Microsoft.Win32.Registry.xml", + "lib/netstandard1.3/Microsoft.Win32.Registry.dll", + "lib/netstandard2.0/Microsoft.Win32.Registry.dll", + "lib/netstandard2.0/Microsoft.Win32.Registry.xml", + "microsoft.win32.registry.5.0.0.nupkg.sha512", + "microsoft.win32.registry.nuspec", + "ref/net46/Microsoft.Win32.Registry.dll", + "ref/net461/Microsoft.Win32.Registry.dll", + "ref/net461/Microsoft.Win32.Registry.xml", + "ref/netstandard1.3/Microsoft.Win32.Registry.dll", + "ref/netstandard1.3/Microsoft.Win32.Registry.xml", + "ref/netstandard1.3/de/Microsoft.Win32.Registry.xml", + "ref/netstandard1.3/es/Microsoft.Win32.Registry.xml", + "ref/netstandard1.3/fr/Microsoft.Win32.Registry.xml", + "ref/netstandard1.3/it/Microsoft.Win32.Registry.xml", + "ref/netstandard1.3/ja/Microsoft.Win32.Registry.xml", + "ref/netstandard1.3/ko/Microsoft.Win32.Registry.xml", + "ref/netstandard1.3/ru/Microsoft.Win32.Registry.xml", + "ref/netstandard1.3/zh-hans/Microsoft.Win32.Registry.xml", + "ref/netstandard1.3/zh-hant/Microsoft.Win32.Registry.xml", + "ref/netstandard2.0/Microsoft.Win32.Registry.dll", + "ref/netstandard2.0/Microsoft.Win32.Registry.xml", + "runtimes/win/lib/net46/Microsoft.Win32.Registry.dll", + "runtimes/win/lib/net461/Microsoft.Win32.Registry.dll", + "runtimes/win/lib/net461/Microsoft.Win32.Registry.xml", + "runtimes/win/lib/netstandard1.3/Microsoft.Win32.Registry.dll", + "runtimes/win/lib/netstandard2.0/Microsoft.Win32.Registry.dll", + "runtimes/win/lib/netstandard2.0/Microsoft.Win32.Registry.xml", + "useSharedDesignerContext.txt", + "version.txt" + ] + }, + "xunit.analyzers/1.26.0": { + "sha512": "YrWZOfuU1Scg4iGizAlMNALOxVS+HPSVilfscNDEJAyrTIVdF4c+8o+Aerw2RYnrJxafj/F56YkJOKCURUWQmA==", + "type": "package", + "path": "xunit.analyzers/1.26.0", + "hasTools": true, + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "_content/README.md", + "_content/logo-128-transparent.png", + "analyzers/dotnet/cs/xunit.analyzers.dll", + "analyzers/dotnet/cs/xunit.analyzers.fixes.dll", + "tools/install.ps1", + "tools/uninstall.ps1", + "xunit.analyzers.1.26.0.nupkg.sha512", + "xunit.analyzers.nuspec" + ] + }, + "xunit.v3/3.2.1": { + "sha512": "oefMPnMEQv9JXlc1mmj4XnNmylLWJA6XHncTcyM3LBvbepO+rsWfmIZ2gb2tO6WU29De4RxvEFHT5xxmsrjn8Q==", + "type": "package", + "path": "xunit.v3/3.2.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "_content/README.md", + "_content/logo-128-transparent.png", + "lib/net472/_._", + "lib/net8.0/_._", + "xunit.v3.3.2.1.nupkg.sha512", + "xunit.v3.nuspec" + ] + }, + "xunit.v3.assert/3.2.1": { + "sha512": "7hGxs+sfgPCiHg7CbWL8Vsmg8WS4vBfipZ7rfE+FEyS7ksU4+0vcV08TQvLIXLPAfinT06zVoK83YjRcMXcXLw==", + "type": "package", + "path": "xunit.v3.assert/3.2.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "_content/README.md", + "_content/logo-128-transparent.png", + "lib/net8.0/xunit.v3.assert.dll", + "lib/net8.0/xunit.v3.assert.xml", + "lib/netstandard2.0/xunit.v3.assert.dll", + "lib/netstandard2.0/xunit.v3.assert.xml", + "xunit.v3.assert.3.2.1.nupkg.sha512", + "xunit.v3.assert.nuspec" + ] + }, + "xunit.v3.common/3.2.1": { + "sha512": "NUh3pPTC3Py4XTnjoCCCIEzvdKTQ9apu0ikDNCrUETBtfHHXcoUmIl5bOfJLQQu7awhu8eaZHjJnG7rx9lUZpg==", + "type": "package", + "path": "xunit.v3.common/3.2.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "_content/README.md", + "_content/logo-128-transparent.png", + "lib/netstandard2.0/xunit.v3.common.dll", + "lib/netstandard2.0/xunit.v3.common.xml", + "xunit.v3.common.3.2.1.nupkg.sha512", + "xunit.v3.common.nuspec" + ] + }, + "xunit.v3.core.mtp-v1/3.2.1": { + "sha512": "PeClKsdYS8TN7q8UxcIKgMVEf1xjqa5XWaizzt+WfLp8+85ZKT+LAQ2/ct+eYqazFzaGSJCAj96+1Z2USkWV6A==", + "type": "package", + "path": "xunit.v3.core.mtp-v1/3.2.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "_content/DefaultRunnerReporters.cs", + "_content/DefaultRunnerReporters.fs", + "_content/DefaultRunnerReporters.vb", + "_content/README.md", + "_content/logo-128-transparent.png", + "_content/runners/netcore/xunit.abstractions.dll", + "_content/runners/netcore/xunit.v3.runner.utility.netcore.dll", + "_content/runners/netfx/xunit.abstractions.dll", + "_content/runners/netfx/xunit.v3.runner.utility.netfx.dll", + "_content/tasks/netcore/xunit.v3.msbuildtasks.dll", + "_content/tasks/netfx/xunit.v3.msbuildtasks.dll", + "buildTransitive/xunit.v3.core.mtp-v1.props", + "buildTransitive/xunit.v3.core.mtp-v1.targets", + "lib/net472/xunit.v3.mtp-v1.dll", + "lib/net8.0/xunit.v3.mtp-v1.dll", + "xunit.v3.core.mtp-v1.3.2.1.nupkg.sha512", + "xunit.v3.core.mtp-v1.nuspec" + ] + }, + "xunit.v3.extensibility.core/3.2.1": { + "sha512": "soZuThF5CwB/ZZ2HY/ivdinyM/6MvmjsHTG0vNw3fRd1ZKcmLzfxVb3fB6R3G5yoaN4Bh+aWzFGjOvYO05OzkA==", + "type": "package", + "path": "xunit.v3.extensibility.core/3.2.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "_content/README.md", + "_content/logo-128-transparent.png", + "lib/netstandard2.0/xunit.v3.core.dll", + "lib/netstandard2.0/xunit.v3.core.xml", + "xunit.v3.extensibility.core.3.2.1.nupkg.sha512", + "xunit.v3.extensibility.core.nuspec" + ] + }, + "xunit.v3.mtp-v1/3.2.1": { + "sha512": "lREcN7+kZmHqLmivhfzN+BHBYf3nQzMEojX5390qDplnXjaHYUxH49XmrWEbCx+va3ZTiIR2vVWPJWCs2UFBFQ==", + "type": "package", + "path": "xunit.v3.mtp-v1/3.2.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "_content/README.md", + "_content/logo-128-transparent.png", + "lib/net472/_._", + "lib/net8.0/_._", + "xunit.v3.mtp-v1.3.2.1.nupkg.sha512", + "xunit.v3.mtp-v1.nuspec" + ] + }, + "xunit.v3.runner.common/3.2.1": { + "sha512": "oF0jwl0xH45/RWjDcaCPOeeI6HCoyiEXIT8yvByd37rhJorjL/Ri8S9A/Vql8DBPjCfQWd6Url5JRmeiQ55isA==", + "type": "package", + "path": "xunit.v3.runner.common/3.2.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "_content/README.md", + "_content/logo-128-transparent.png", + "lib/netstandard2.0/xunit.v3.runner.common.dll", + "lib/netstandard2.0/xunit.v3.runner.common.xml", + "xunit.v3.runner.common.3.2.1.nupkg.sha512", + "xunit.v3.runner.common.nuspec" + ] + }, + "xunit.v3.runner.inproc.console/3.2.1": { + "sha512": "EC/VLj1E9BPWfmzdEMQEqouxh0rWAdX6SXuiiDRf0yXXsQo3E2PNLKCyJ9V8hmkGH/nBvM7pHLFbuCf00vCynw==", + "type": "package", + "path": "xunit.v3.runner.inproc.console/3.2.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "_content/README.md", + "_content/logo-128-transparent.png", + "lib/net472/xunit.v3.runner.inproc.console.dll", + "lib/net472/xunit.v3.runner.inproc.console.xml", + "lib/net8.0/xunit.v3.runner.inproc.console.dll", + "lib/net8.0/xunit.v3.runner.inproc.console.xml", + "xunit.v3.runner.inproc.console.3.2.1.nupkg.sha512", + "xunit.v3.runner.inproc.console.nuspec" + ] + }, + "EverySecondTurnSolver/1.0.0": { + "type": "project", + "path": "../EverySecondTurnSolver/EverySecondTurnSolver.csproj", + "msbuildProject": "../EverySecondTurnSolver/EverySecondTurnSolver.csproj" + } + }, + "projectFileDependencyGroups": { + "net10.0": [ + "EverySecondTurnSolver >= 1.0.0", + "JetBrains.Annotations >= 2025.2.4", + "xunit.v3 >= 3.2.1" + ] + }, + "packageFolders": { + "G:\\.nuget\\packages": {} + }, + "project": { + "version": "1.0.0", + "restore": { + "projectUniqueName": "G:\\projets infos\\PuzzleGames\\DotNet\\EverySecondTurnSolver.Tests\\EverySecondTurnSolver.Tests.csproj", + "projectName": "EverySecondTurnSolver.Tests", + "projectPath": "G:\\projets infos\\PuzzleGames\\DotNet\\EverySecondTurnSolver.Tests\\EverySecondTurnSolver.Tests.csproj", + "packagesPath": "G:\\.nuget\\packages", + "outputPath": "G:\\projets infos\\PuzzleGames\\DotNet\\EverySecondTurnSolver.Tests\\obj\\", + "projectStyle": "PackageReference", + "crossTargeting": true, + "configFilePaths": [ + "C:\\Users\\thoma\\AppData\\Roaming\\NuGet\\NuGet.Config" + ], + "originalTargetFrameworks": [ + "net10.0" + ], + "sources": { + "https://api.nuget.org/v3/index.json": {} + }, + "frameworks": { + "net10.0": { + "targetAlias": "net10.0", + "projectReferences": { + "G:\\projets infos\\PuzzleGames\\DotNet\\EverySecondTurnSolver\\EverySecondTurnSolver.csproj": { + "projectPath": "G:\\projets infos\\PuzzleGames\\DotNet\\EverySecondTurnSolver\\EverySecondTurnSolver.csproj" + } + } + } + }, + "warningProperties": { + "warnAsError": [ + "NU1605" + ] + }, + "restoreAuditProperties": { + "enableAudit": "true", + "auditLevel": "low", + "auditMode": "all" + }, + "SdkAnalysisLevel": "10.0.100" + }, + "frameworks": { + "net10.0": { + "targetAlias": "net10.0", + "dependencies": { + "JetBrains.Annotations": { + "target": "Package", + "version": "[2025.2.4, )" + }, + "xunit.v3": { + "target": "Package", + "version": "[3.2.1, )" + } + }, + "imports": [ + "net461", + "net462", + "net47", + "net471", + "net472", + "net48", + "net481" + ], + "assetTargetFallback": true, + "warn": true, + "frameworkReferences": { + "Microsoft.NETCore.App": { + "privateAssets": "all" + } + }, + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\10.0.101/PortableRuntimeIdentifierGraph.json", + "packagesToPrune": { + "Microsoft.CSharp": "(,4.7.32767]", + "Microsoft.VisualBasic": "(,10.4.32767]", + "Microsoft.Win32.Primitives": "(,4.3.32767]", + "Microsoft.Win32.Registry": "(,5.0.32767]", + "runtime.any.System.Collections": "(,4.3.32767]", + "runtime.any.System.Diagnostics.Tools": "(,4.3.32767]", + "runtime.any.System.Diagnostics.Tracing": "(,4.3.32767]", + "runtime.any.System.Globalization": "(,4.3.32767]", + "runtime.any.System.Globalization.Calendars": "(,4.3.32767]", + "runtime.any.System.IO": "(,4.3.32767]", + "runtime.any.System.Reflection": "(,4.3.32767]", + "runtime.any.System.Reflection.Extensions": "(,4.3.32767]", + "runtime.any.System.Reflection.Primitives": "(,4.3.32767]", + "runtime.any.System.Resources.ResourceManager": "(,4.3.32767]", + "runtime.any.System.Runtime": "(,4.3.32767]", + "runtime.any.System.Runtime.Handles": "(,4.3.32767]", + "runtime.any.System.Runtime.InteropServices": "(,4.3.32767]", + "runtime.any.System.Text.Encoding": "(,4.3.32767]", + "runtime.any.System.Text.Encoding.Extensions": "(,4.3.32767]", + "runtime.any.System.Threading.Tasks": "(,4.3.32767]", + "runtime.any.System.Threading.Timer": "(,4.3.32767]", + "runtime.aot.System.Collections": "(,4.3.32767]", + "runtime.aot.System.Diagnostics.Tools": "(,4.3.32767]", + "runtime.aot.System.Diagnostics.Tracing": "(,4.3.32767]", + "runtime.aot.System.Globalization": "(,4.3.32767]", + "runtime.aot.System.Globalization.Calendars": "(,4.3.32767]", + "runtime.aot.System.IO": "(,4.3.32767]", + "runtime.aot.System.Reflection": "(,4.3.32767]", + "runtime.aot.System.Reflection.Extensions": "(,4.3.32767]", + "runtime.aot.System.Reflection.Primitives": "(,4.3.32767]", + "runtime.aot.System.Resources.ResourceManager": "(,4.3.32767]", + "runtime.aot.System.Runtime": "(,4.3.32767]", + "runtime.aot.System.Runtime.Handles": "(,4.3.32767]", + "runtime.aot.System.Runtime.InteropServices": "(,4.3.32767]", + "runtime.aot.System.Text.Encoding": "(,4.3.32767]", + "runtime.aot.System.Text.Encoding.Extensions": "(,4.3.32767]", + "runtime.aot.System.Threading.Tasks": "(,4.3.32767]", + "runtime.aot.System.Threading.Timer": "(,4.3.32767]", + "runtime.debian.8-x64.runtime.native.System": "(,4.3.32767]", + "runtime.debian.8-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.debian.8-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.debian.8-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.debian.8-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", + "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", + "runtime.debian.9-x64.runtime.native.System": "(,4.3.32767]", + "runtime.debian.9-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.debian.9-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.debian.9-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.fedora.23-x64.runtime.native.System": "(,4.3.32767]", + "runtime.fedora.23-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.fedora.23-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.fedora.23-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", + "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", + "runtime.fedora.24-x64.runtime.native.System": "(,4.3.32767]", + "runtime.fedora.24-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.fedora.24-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.fedora.24-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", + "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", + "runtime.fedora.27-x64.runtime.native.System": "(,4.3.32767]", + "runtime.fedora.27-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.fedora.27-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.fedora.27-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.fedora.28-x64.runtime.native.System": "(,4.3.32767]", + "runtime.fedora.28-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.fedora.28-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.fedora.28-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.opensuse.13.2-x64.runtime.native.System": "(,4.3.32767]", + "runtime.opensuse.13.2-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.opensuse.13.2-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.opensuse.13.2-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", + "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", + "runtime.opensuse.42.1-x64.runtime.native.System": "(,4.3.32767]", + "runtime.opensuse.42.1-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.opensuse.42.1-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.opensuse.42.1-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", + "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", + "runtime.opensuse.42.3-x64.runtime.native.System": "(,4.3.32767]", + "runtime.opensuse.42.3-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.opensuse.42.3-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.opensuse.42.3-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.osx.10.10-x64.runtime.native.System": "(,4.3.32767]", + "runtime.osx.10.10-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.osx.10.10-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.osx.10.10-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": "(,4.3.32767]", + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", + "runtime.rhel.7-x64.runtime.native.System": "(,4.3.32767]", + "runtime.rhel.7-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.rhel.7-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.rhel.7-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", + "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", + "runtime.ubuntu.14.04-x64.runtime.native.System": "(,4.3.32767]", + "runtime.ubuntu.14.04-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.ubuntu.14.04-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.ubuntu.14.04-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", + "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", + "runtime.ubuntu.16.04-x64.runtime.native.System": "(,4.3.32767]", + "runtime.ubuntu.16.04-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.ubuntu.16.04-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.ubuntu.16.04-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", + "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", + "runtime.ubuntu.16.10-x64.runtime.native.System": "(,4.3.32767]", + "runtime.ubuntu.16.10-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.ubuntu.16.10-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.ubuntu.16.10-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography": "(,4.3.32767]", + "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "(,4.3.32767]", + "runtime.ubuntu.18.04-x64.runtime.native.System": "(,4.3.32767]", + "runtime.ubuntu.18.04-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.ubuntu.18.04-x64.runtime.native.System.Net.Http": "(,4.3.32767]", + "runtime.ubuntu.18.04-x64.runtime.native.System.Net.Security": "(,4.3.32767]", + "runtime.unix.Microsoft.Win32.Primitives": "(,4.3.32767]", + "runtime.unix.System.Console": "(,4.3.32767]", + "runtime.unix.System.Diagnostics.Debug": "(,4.3.32767]", + "runtime.unix.System.IO.FileSystem": "(,4.3.32767]", + "runtime.unix.System.Net.Primitives": "(,4.3.32767]", + "runtime.unix.System.Net.Sockets": "(,4.3.32767]", + "runtime.unix.System.Private.Uri": "(,4.3.32767]", + "runtime.unix.System.Runtime.Extensions": "(,4.3.32767]", + "runtime.win.Microsoft.Win32.Primitives": "(,4.3.32767]", + "runtime.win.System.Console": "(,4.3.32767]", + "runtime.win.System.Diagnostics.Debug": "(,4.3.32767]", + "runtime.win.System.IO.FileSystem": "(,4.3.32767]", + "runtime.win.System.Net.Primitives": "(,4.3.32767]", + "runtime.win.System.Net.Sockets": "(,4.3.32767]", + "runtime.win.System.Runtime.Extensions": "(,4.3.32767]", + "runtime.win10-arm-aot.runtime.native.System.IO.Compression": "(,4.0.32767]", + "runtime.win10-arm64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.win10-x64-aot.runtime.native.System.IO.Compression": "(,4.0.32767]", + "runtime.win10-x86-aot.runtime.native.System.IO.Compression": "(,4.0.32767]", + "runtime.win7-x64.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.win7-x86.runtime.native.System.IO.Compression": "(,4.3.32767]", + "runtime.win7.System.Private.Uri": "(,4.3.32767]", + "runtime.win8-arm.runtime.native.System.IO.Compression": "(,4.3.32767]", + "System.AppContext": "(,4.3.32767]", + "System.Buffers": "(,5.0.32767]", + "System.Collections": "(,4.3.32767]", + "System.Collections.Concurrent": "(,4.3.32767]", + "System.Collections.Immutable": "(,10.0.32767]", + "System.Collections.NonGeneric": "(,4.3.32767]", + "System.Collections.Specialized": "(,4.3.32767]", + "System.ComponentModel": "(,4.3.32767]", + "System.ComponentModel.Annotations": "(,4.3.32767]", + "System.ComponentModel.EventBasedAsync": "(,4.3.32767]", + "System.ComponentModel.Primitives": "(,4.3.32767]", + "System.ComponentModel.TypeConverter": "(,4.3.32767]", + "System.Console": "(,4.3.32767]", + "System.Data.Common": "(,4.3.32767]", + "System.Data.DataSetExtensions": "(,4.4.32767]", + "System.Diagnostics.Contracts": "(,4.3.32767]", + "System.Diagnostics.Debug": "(,4.3.32767]", + "System.Diagnostics.DiagnosticSource": "(,10.0.32767]", + "System.Diagnostics.FileVersionInfo": "(,4.3.32767]", + "System.Diagnostics.Process": "(,4.3.32767]", + "System.Diagnostics.StackTrace": "(,4.3.32767]", + "System.Diagnostics.TextWriterTraceListener": "(,4.3.32767]", + "System.Diagnostics.Tools": "(,4.3.32767]", + "System.Diagnostics.TraceSource": "(,4.3.32767]", + "System.Diagnostics.Tracing": "(,4.3.32767]", + "System.Drawing.Primitives": "(,4.3.32767]", + "System.Dynamic.Runtime": "(,4.3.32767]", + "System.Formats.Asn1": "(,10.0.32767]", + "System.Formats.Tar": "(,10.0.32767]", + "System.Globalization": "(,4.3.32767]", + "System.Globalization.Calendars": "(,4.3.32767]", + "System.Globalization.Extensions": "(,4.3.32767]", + "System.IO": "(,4.3.32767]", + "System.IO.Compression": "(,4.3.32767]", + "System.IO.Compression.ZipFile": "(,4.3.32767]", + "System.IO.FileSystem": "(,4.3.32767]", + "System.IO.FileSystem.AccessControl": "(,4.4.32767]", + "System.IO.FileSystem.DriveInfo": "(,4.3.32767]", + "System.IO.FileSystem.Primitives": "(,4.3.32767]", + "System.IO.FileSystem.Watcher": "(,4.3.32767]", + "System.IO.IsolatedStorage": "(,4.3.32767]", + "System.IO.MemoryMappedFiles": "(,4.3.32767]", + "System.IO.Pipelines": "(,10.0.32767]", + "System.IO.Pipes": "(,4.3.32767]", + "System.IO.Pipes.AccessControl": "(,5.0.32767]", + "System.IO.UnmanagedMemoryStream": "(,4.3.32767]", + "System.Linq": "(,4.3.32767]", + "System.Linq.AsyncEnumerable": "(,10.0.32767]", + "System.Linq.Expressions": "(,4.3.32767]", + "System.Linq.Parallel": "(,4.3.32767]", + "System.Linq.Queryable": "(,4.3.32767]", + "System.Memory": "(,5.0.32767]", + "System.Net.Http": "(,4.3.32767]", + "System.Net.Http.Json": "(,10.0.32767]", + "System.Net.NameResolution": "(,4.3.32767]", + "System.Net.NetworkInformation": "(,4.3.32767]", + "System.Net.Ping": "(,4.3.32767]", + "System.Net.Primitives": "(,4.3.32767]", + "System.Net.Requests": "(,4.3.32767]", + "System.Net.Security": "(,4.3.32767]", + "System.Net.ServerSentEvents": "(,10.0.32767]", + "System.Net.Sockets": "(,4.3.32767]", + "System.Net.WebHeaderCollection": "(,4.3.32767]", + "System.Net.WebSockets": "(,4.3.32767]", + "System.Net.WebSockets.Client": "(,4.3.32767]", + "System.Numerics.Vectors": "(,5.0.32767]", + "System.ObjectModel": "(,4.3.32767]", + "System.Private.DataContractSerialization": "(,4.3.32767]", + "System.Private.Uri": "(,4.3.32767]", + "System.Reflection": "(,4.3.32767]", + "System.Reflection.DispatchProxy": "(,6.0.32767]", + "System.Reflection.Emit": "(,4.7.32767]", + "System.Reflection.Emit.ILGeneration": "(,4.7.32767]", + "System.Reflection.Emit.Lightweight": "(,4.7.32767]", + "System.Reflection.Extensions": "(,4.3.32767]", + "System.Reflection.Metadata": "(,10.0.32767]", + "System.Reflection.Primitives": "(,4.3.32767]", + "System.Reflection.TypeExtensions": "(,4.3.32767]", + "System.Resources.Reader": "(,4.3.32767]", + "System.Resources.ResourceManager": "(,4.3.32767]", + "System.Resources.Writer": "(,4.3.32767]", + "System.Runtime": "(,4.3.32767]", + "System.Runtime.CompilerServices.Unsafe": "(,7.0.32767]", + "System.Runtime.CompilerServices.VisualC": "(,4.3.32767]", + "System.Runtime.Extensions": "(,4.3.32767]", + "System.Runtime.Handles": "(,4.3.32767]", + "System.Runtime.InteropServices": "(,4.3.32767]", + "System.Runtime.InteropServices.RuntimeInformation": "(,4.3.32767]", + "System.Runtime.Loader": "(,4.3.32767]", + "System.Runtime.Numerics": "(,4.3.32767]", + "System.Runtime.Serialization.Formatters": "(,4.3.32767]", + "System.Runtime.Serialization.Json": "(,4.3.32767]", + "System.Runtime.Serialization.Primitives": "(,4.3.32767]", + "System.Runtime.Serialization.Xml": "(,4.3.32767]", + "System.Security.AccessControl": "(,6.0.32767]", + "System.Security.Claims": "(,4.3.32767]", + "System.Security.Cryptography.Algorithms": "(,4.3.32767]", + "System.Security.Cryptography.Cng": "(,5.0.32767]", + "System.Security.Cryptography.Csp": "(,4.3.32767]", + "System.Security.Cryptography.Encoding": "(,4.3.32767]", + "System.Security.Cryptography.OpenSsl": "(,5.0.32767]", + "System.Security.Cryptography.Primitives": "(,4.3.32767]", + "System.Security.Cryptography.X509Certificates": "(,4.3.32767]", + "System.Security.Principal": "(,4.3.32767]", + "System.Security.Principal.Windows": "(,5.0.32767]", + "System.Security.SecureString": "(,4.3.32767]", + "System.Text.Encoding": "(,4.3.32767]", + "System.Text.Encoding.CodePages": "(,10.0.32767]", + "System.Text.Encoding.Extensions": "(,4.3.32767]", + "System.Text.Encodings.Web": "(,10.0.32767]", + "System.Text.Json": "(,10.0.32767]", + "System.Text.RegularExpressions": "(,4.3.32767]", + "System.Threading": "(,4.3.32767]", + "System.Threading.AccessControl": "(,10.0.32767]", + "System.Threading.Channels": "(,10.0.32767]", + "System.Threading.Overlapped": "(,4.3.32767]", + "System.Threading.Tasks": "(,4.3.32767]", + "System.Threading.Tasks.Dataflow": "(,10.0.32767]", + "System.Threading.Tasks.Extensions": "(,5.0.32767]", + "System.Threading.Tasks.Parallel": "(,4.3.32767]", + "System.Threading.Thread": "(,4.3.32767]", + "System.Threading.ThreadPool": "(,4.3.32767]", + "System.Threading.Timer": "(,4.3.32767]", + "System.ValueTuple": "(,4.5.32767]", + "System.Xml.ReaderWriter": "(,4.3.32767]", + "System.Xml.XDocument": "(,4.3.32767]", + "System.Xml.XmlDocument": "(,4.3.32767]", + "System.Xml.XmlSerializer": "(,4.3.32767]", + "System.Xml.XPath": "(,4.3.32767]", + "System.Xml.XPath.XDocument": "(,5.0.32767]" + } + } + } + } +} \ No newline at end of file diff --git a/DotNet/EverySecondTurnSolver.Tests/obj/project.nuget.cache b/DotNet/EverySecondTurnSolver.Tests/obj/project.nuget.cache new file mode 100644 index 00000000..2eab1ed6 --- /dev/null +++ b/DotNet/EverySecondTurnSolver.Tests/obj/project.nuget.cache @@ -0,0 +1,33 @@ +{ + "version": 2, + "dgSpecHash": "+yl5fxRNXHo=", + "success": true, + "projectFilePath": "G:\\projets infos\\PuzzleGames\\DotNet\\EverySecondTurnSolver.Tests\\EverySecondTurnSolver.Tests.csproj", + "expectedPackageFiles": [ + "G:\\.nuget\\packages\\google.ortools\\9.11.4210\\google.ortools.9.11.4210.nupkg.sha512", + "G:\\.nuget\\packages\\google.ortools.runtime.linux-arm64\\9.11.4210\\google.ortools.runtime.linux-arm64.9.11.4210.nupkg.sha512", + "G:\\.nuget\\packages\\google.ortools.runtime.linux-x64\\9.11.4210\\google.ortools.runtime.linux-x64.9.11.4210.nupkg.sha512", + "G:\\.nuget\\packages\\google.ortools.runtime.osx-arm64\\9.11.4210\\google.ortools.runtime.osx-arm64.9.11.4210.nupkg.sha512", + "G:\\.nuget\\packages\\google.ortools.runtime.osx-x64\\9.11.4210\\google.ortools.runtime.osx-x64.9.11.4210.nupkg.sha512", + "G:\\.nuget\\packages\\google.ortools.runtime.win-x64\\9.11.4210\\google.ortools.runtime.win-x64.9.11.4210.nupkg.sha512", + "G:\\.nuget\\packages\\google.protobuf\\3.26.1\\google.protobuf.3.26.1.nupkg.sha512", + "G:\\.nuget\\packages\\jetbrains.annotations\\2025.2.4\\jetbrains.annotations.2025.2.4.nupkg.sha512", + "G:\\.nuget\\packages\\microsoft.applicationinsights\\2.23.0\\microsoft.applicationinsights.2.23.0.nupkg.sha512", + "G:\\.nuget\\packages\\microsoft.bcl.asyncinterfaces\\6.0.0\\microsoft.bcl.asyncinterfaces.6.0.0.nupkg.sha512", + "G:\\.nuget\\packages\\microsoft.testing.extensions.telemetry\\1.9.1\\microsoft.testing.extensions.telemetry.1.9.1.nupkg.sha512", + "G:\\.nuget\\packages\\microsoft.testing.extensions.trxreport.abstractions\\1.9.1\\microsoft.testing.extensions.trxreport.abstractions.1.9.1.nupkg.sha512", + "G:\\.nuget\\packages\\microsoft.testing.platform\\1.9.1\\microsoft.testing.platform.1.9.1.nupkg.sha512", + "G:\\.nuget\\packages\\microsoft.testing.platform.msbuild\\1.9.1\\microsoft.testing.platform.msbuild.1.9.1.nupkg.sha512", + "G:\\.nuget\\packages\\microsoft.win32.registry\\5.0.0\\microsoft.win32.registry.5.0.0.nupkg.sha512", + "G:\\.nuget\\packages\\xunit.analyzers\\1.26.0\\xunit.analyzers.1.26.0.nupkg.sha512", + "G:\\.nuget\\packages\\xunit.v3\\3.2.1\\xunit.v3.3.2.1.nupkg.sha512", + "G:\\.nuget\\packages\\xunit.v3.assert\\3.2.1\\xunit.v3.assert.3.2.1.nupkg.sha512", + "G:\\.nuget\\packages\\xunit.v3.common\\3.2.1\\xunit.v3.common.3.2.1.nupkg.sha512", + "G:\\.nuget\\packages\\xunit.v3.core.mtp-v1\\3.2.1\\xunit.v3.core.mtp-v1.3.2.1.nupkg.sha512", + "G:\\.nuget\\packages\\xunit.v3.extensibility.core\\3.2.1\\xunit.v3.extensibility.core.3.2.1.nupkg.sha512", + "G:\\.nuget\\packages\\xunit.v3.mtp-v1\\3.2.1\\xunit.v3.mtp-v1.3.2.1.nupkg.sha512", + "G:\\.nuget\\packages\\xunit.v3.runner.common\\3.2.1\\xunit.v3.runner.common.3.2.1.nupkg.sha512", + "G:\\.nuget\\packages\\xunit.v3.runner.inproc.console\\3.2.1\\xunit.v3.runner.inproc.console.3.2.1.nupkg.sha512" + ], + "logs": [] +} \ No newline at end of file diff --git a/DotNet/EverySecondTurnSolver.Tests/obj/project.packagespec.json b/DotNet/EverySecondTurnSolver.Tests/obj/project.packagespec.json new file mode 100644 index 00000000..a59ab9d3 --- /dev/null +++ b/DotNet/EverySecondTurnSolver.Tests/obj/project.packagespec.json @@ -0,0 +1 @@ +"restore":{"projectUniqueName":"G:\\projets infos\\PuzzleGames\\DotNet\\EverySecondTurnSolver.Tests\\EverySecondTurnSolver.Tests.csproj","projectName":"EverySecondTurnSolver.Tests","projectPath":"G:\\projets infos\\PuzzleGames\\DotNet\\EverySecondTurnSolver.Tests\\EverySecondTurnSolver.Tests.csproj","outputPath":"G:\\projets infos\\PuzzleGames\\DotNet\\EverySecondTurnSolver.Tests\\obj\\","projectStyle":"PackageReference","crossTargeting":true,"originalTargetFrameworks":["net10.0"],"sources":{"https://api.nuget.org/v3/index.json":{}},"frameworks":{"net10.0":{"targetAlias":"net10.0","projectReferences":{"G:\\projets infos\\PuzzleGames\\DotNet\\EverySecondTurnSolver\\EverySecondTurnSolver.csproj":{"projectPath":"G:\\projets infos\\PuzzleGames\\DotNet\\EverySecondTurnSolver\\EverySecondTurnSolver.csproj"}}}},"warningProperties":{"warnAsError":["NU1605"]},"restoreAuditProperties":{"enableAudit":"true","auditLevel":"low","auditMode":"all"},"SdkAnalysisLevel":"10.0.100"}"frameworks":{"net10.0":{"targetAlias":"net10.0","dependencies":{"JetBrains.Annotations":{"target":"Package","version":"[2025.2.4, )"},"xunit.v3":{"target":"Package","version":"[3.2.1, )"}},"imports":["net461","net462","net47","net471","net472","net48","net481"],"assetTargetFallback":true,"warn":true,"frameworkReferences":{"Microsoft.NETCore.App":{"privateAssets":"all"}},"runtimeIdentifierGraphPath":"C:\\Program Files\\dotnet\\sdk\\10.0.101/PortableRuntimeIdentifierGraph.json","packagesToPrune":{"Microsoft.CSharp":"(,4.7.32767]","Microsoft.VisualBasic":"(,10.4.32767]","Microsoft.Win32.Primitives":"(,4.3.32767]","Microsoft.Win32.Registry":"(,5.0.32767]","runtime.any.System.Collections":"(,4.3.32767]","runtime.any.System.Diagnostics.Tools":"(,4.3.32767]","runtime.any.System.Diagnostics.Tracing":"(,4.3.32767]","runtime.any.System.Globalization":"(,4.3.32767]","runtime.any.System.Globalization.Calendars":"(,4.3.32767]","runtime.any.System.IO":"(,4.3.32767]","runtime.any.System.Reflection":"(,4.3.32767]","runtime.any.System.Reflection.Extensions":"(,4.3.32767]","runtime.any.System.Reflection.Primitives":"(,4.3.32767]","runtime.any.System.Resources.ResourceManager":"(,4.3.32767]","runtime.any.System.Runtime":"(,4.3.32767]","runtime.any.System.Runtime.Handles":"(,4.3.32767]","runtime.any.System.Runtime.InteropServices":"(,4.3.32767]","runtime.any.System.Text.Encoding":"(,4.3.32767]","runtime.any.System.Text.Encoding.Extensions":"(,4.3.32767]","runtime.any.System.Threading.Tasks":"(,4.3.32767]","runtime.any.System.Threading.Timer":"(,4.3.32767]","runtime.aot.System.Collections":"(,4.3.32767]","runtime.aot.System.Diagnostics.Tools":"(,4.3.32767]","runtime.aot.System.Diagnostics.Tracing":"(,4.3.32767]","runtime.aot.System.Globalization":"(,4.3.32767]","runtime.aot.System.Globalization.Calendars":"(,4.3.32767]","runtime.aot.System.IO":"(,4.3.32767]","runtime.aot.System.Reflection":"(,4.3.32767]","runtime.aot.System.Reflection.Extensions":"(,4.3.32767]","runtime.aot.System.Reflection.Primitives":"(,4.3.32767]","runtime.aot.System.Resources.ResourceManager":"(,4.3.32767]","runtime.aot.System.Runtime":"(,4.3.32767]","runtime.aot.System.Runtime.Handles":"(,4.3.32767]","runtime.aot.System.Runtime.InteropServices":"(,4.3.32767]","runtime.aot.System.Text.Encoding":"(,4.3.32767]","runtime.aot.System.Text.Encoding.Extensions":"(,4.3.32767]","runtime.aot.System.Threading.Tasks":"(,4.3.32767]","runtime.aot.System.Threading.Timer":"(,4.3.32767]","runtime.debian.8-x64.runtime.native.System":"(,4.3.32767]","runtime.debian.8-x64.runtime.native.System.IO.Compression":"(,4.3.32767]","runtime.debian.8-x64.runtime.native.System.Net.Http":"(,4.3.32767]","runtime.debian.8-x64.runtime.native.System.Net.Security":"(,4.3.32767]","runtime.debian.8-x64.runtime.native.System.Security.Cryptography":"(,4.3.32767]","runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl":"(,4.3.32767]","runtime.debian.9-x64.runtime.native.System":"(,4.3.32767]","runtime.debian.9-x64.runtime.native.System.IO.Compression":"(,4.3.32767]","runtime.debian.9-x64.runtime.native.System.Net.Http":"(,4.3.32767]","runtime.debian.9-x64.runtime.native.System.Net.Security":"(,4.3.32767]","runtime.fedora.23-x64.runtime.native.System":"(,4.3.32767]","runtime.fedora.23-x64.runtime.native.System.IO.Compression":"(,4.3.32767]","runtime.fedora.23-x64.runtime.native.System.Net.Http":"(,4.3.32767]","runtime.fedora.23-x64.runtime.native.System.Net.Security":"(,4.3.32767]","runtime.fedora.23-x64.runtime.native.System.Security.Cryptography":"(,4.3.32767]","runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl":"(,4.3.32767]","runtime.fedora.24-x64.runtime.native.System":"(,4.3.32767]","runtime.fedora.24-x64.runtime.native.System.IO.Compression":"(,4.3.32767]","runtime.fedora.24-x64.runtime.native.System.Net.Http":"(,4.3.32767]","runtime.fedora.24-x64.runtime.native.System.Net.Security":"(,4.3.32767]","runtime.fedora.24-x64.runtime.native.System.Security.Cryptography":"(,4.3.32767]","runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl":"(,4.3.32767]","runtime.fedora.27-x64.runtime.native.System":"(,4.3.32767]","runtime.fedora.27-x64.runtime.native.System.IO.Compression":"(,4.3.32767]","runtime.fedora.27-x64.runtime.native.System.Net.Http":"(,4.3.32767]","runtime.fedora.27-x64.runtime.native.System.Net.Security":"(,4.3.32767]","runtime.fedora.28-x64.runtime.native.System":"(,4.3.32767]","runtime.fedora.28-x64.runtime.native.System.IO.Compression":"(,4.3.32767]","runtime.fedora.28-x64.runtime.native.System.Net.Http":"(,4.3.32767]","runtime.fedora.28-x64.runtime.native.System.Net.Security":"(,4.3.32767]","runtime.opensuse.13.2-x64.runtime.native.System":"(,4.3.32767]","runtime.opensuse.13.2-x64.runtime.native.System.IO.Compression":"(,4.3.32767]","runtime.opensuse.13.2-x64.runtime.native.System.Net.Http":"(,4.3.32767]","runtime.opensuse.13.2-x64.runtime.native.System.Net.Security":"(,4.3.32767]","runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography":"(,4.3.32767]","runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl":"(,4.3.32767]","runtime.opensuse.42.1-x64.runtime.native.System":"(,4.3.32767]","runtime.opensuse.42.1-x64.runtime.native.System.IO.Compression":"(,4.3.32767]","runtime.opensuse.42.1-x64.runtime.native.System.Net.Http":"(,4.3.32767]","runtime.opensuse.42.1-x64.runtime.native.System.Net.Security":"(,4.3.32767]","runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography":"(,4.3.32767]","runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl":"(,4.3.32767]","runtime.opensuse.42.3-x64.runtime.native.System":"(,4.3.32767]","runtime.opensuse.42.3-x64.runtime.native.System.IO.Compression":"(,4.3.32767]","runtime.opensuse.42.3-x64.runtime.native.System.Net.Http":"(,4.3.32767]","runtime.opensuse.42.3-x64.runtime.native.System.Net.Security":"(,4.3.32767]","runtime.osx.10.10-x64.runtime.native.System":"(,4.3.32767]","runtime.osx.10.10-x64.runtime.native.System.IO.Compression":"(,4.3.32767]","runtime.osx.10.10-x64.runtime.native.System.Net.Http":"(,4.3.32767]","runtime.osx.10.10-x64.runtime.native.System.Net.Security":"(,4.3.32767]","runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography":"(,4.3.32767]","runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple":"(,4.3.32767]","runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl":"(,4.3.32767]","runtime.rhel.7-x64.runtime.native.System":"(,4.3.32767]","runtime.rhel.7-x64.runtime.native.System.IO.Compression":"(,4.3.32767]","runtime.rhel.7-x64.runtime.native.System.Net.Http":"(,4.3.32767]","runtime.rhel.7-x64.runtime.native.System.Net.Security":"(,4.3.32767]","runtime.rhel.7-x64.runtime.native.System.Security.Cryptography":"(,4.3.32767]","runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl":"(,4.3.32767]","runtime.ubuntu.14.04-x64.runtime.native.System":"(,4.3.32767]","runtime.ubuntu.14.04-x64.runtime.native.System.IO.Compression":"(,4.3.32767]","runtime.ubuntu.14.04-x64.runtime.native.System.Net.Http":"(,4.3.32767]","runtime.ubuntu.14.04-x64.runtime.native.System.Net.Security":"(,4.3.32767]","runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography":"(,4.3.32767]","runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl":"(,4.3.32767]","runtime.ubuntu.16.04-x64.runtime.native.System":"(,4.3.32767]","runtime.ubuntu.16.04-x64.runtime.native.System.IO.Compression":"(,4.3.32767]","runtime.ubuntu.16.04-x64.runtime.native.System.Net.Http":"(,4.3.32767]","runtime.ubuntu.16.04-x64.runtime.native.System.Net.Security":"(,4.3.32767]","runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography":"(,4.3.32767]","runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl":"(,4.3.32767]","runtime.ubuntu.16.10-x64.runtime.native.System":"(,4.3.32767]","runtime.ubuntu.16.10-x64.runtime.native.System.IO.Compression":"(,4.3.32767]","runtime.ubuntu.16.10-x64.runtime.native.System.Net.Http":"(,4.3.32767]","runtime.ubuntu.16.10-x64.runtime.native.System.Net.Security":"(,4.3.32767]","runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography":"(,4.3.32767]","runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl":"(,4.3.32767]","runtime.ubuntu.18.04-x64.runtime.native.System":"(,4.3.32767]","runtime.ubuntu.18.04-x64.runtime.native.System.IO.Compression":"(,4.3.32767]","runtime.ubuntu.18.04-x64.runtime.native.System.Net.Http":"(,4.3.32767]","runtime.ubuntu.18.04-x64.runtime.native.System.Net.Security":"(,4.3.32767]","runtime.unix.Microsoft.Win32.Primitives":"(,4.3.32767]","runtime.unix.System.Console":"(,4.3.32767]","runtime.unix.System.Diagnostics.Debug":"(,4.3.32767]","runtime.unix.System.IO.FileSystem":"(,4.3.32767]","runtime.unix.System.Net.Primitives":"(,4.3.32767]","runtime.unix.System.Net.Sockets":"(,4.3.32767]","runtime.unix.System.Private.Uri":"(,4.3.32767]","runtime.unix.System.Runtime.Extensions":"(,4.3.32767]","runtime.win.Microsoft.Win32.Primitives":"(,4.3.32767]","runtime.win.System.Console":"(,4.3.32767]","runtime.win.System.Diagnostics.Debug":"(,4.3.32767]","runtime.win.System.IO.FileSystem":"(,4.3.32767]","runtime.win.System.Net.Primitives":"(,4.3.32767]","runtime.win.System.Net.Sockets":"(,4.3.32767]","runtime.win.System.Runtime.Extensions":"(,4.3.32767]","runtime.win10-arm-aot.runtime.native.System.IO.Compression":"(,4.0.32767]","runtime.win10-arm64.runtime.native.System.IO.Compression":"(,4.3.32767]","runtime.win10-x64-aot.runtime.native.System.IO.Compression":"(,4.0.32767]","runtime.win10-x86-aot.runtime.native.System.IO.Compression":"(,4.0.32767]","runtime.win7-x64.runtime.native.System.IO.Compression":"(,4.3.32767]","runtime.win7-x86.runtime.native.System.IO.Compression":"(,4.3.32767]","runtime.win7.System.Private.Uri":"(,4.3.32767]","runtime.win8-arm.runtime.native.System.IO.Compression":"(,4.3.32767]","System.AppContext":"(,4.3.32767]","System.Buffers":"(,5.0.32767]","System.Collections":"(,4.3.32767]","System.Collections.Concurrent":"(,4.3.32767]","System.Collections.Immutable":"(,10.0.32767]","System.Collections.NonGeneric":"(,4.3.32767]","System.Collections.Specialized":"(,4.3.32767]","System.ComponentModel":"(,4.3.32767]","System.ComponentModel.Annotations":"(,4.3.32767]","System.ComponentModel.EventBasedAsync":"(,4.3.32767]","System.ComponentModel.Primitives":"(,4.3.32767]","System.ComponentModel.TypeConverter":"(,4.3.32767]","System.Console":"(,4.3.32767]","System.Data.Common":"(,4.3.32767]","System.Data.DataSetExtensions":"(,4.4.32767]","System.Diagnostics.Contracts":"(,4.3.32767]","System.Diagnostics.Debug":"(,4.3.32767]","System.Diagnostics.DiagnosticSource":"(,10.0.32767]","System.Diagnostics.FileVersionInfo":"(,4.3.32767]","System.Diagnostics.Process":"(,4.3.32767]","System.Diagnostics.StackTrace":"(,4.3.32767]","System.Diagnostics.TextWriterTraceListener":"(,4.3.32767]","System.Diagnostics.Tools":"(,4.3.32767]","System.Diagnostics.TraceSource":"(,4.3.32767]","System.Diagnostics.Tracing":"(,4.3.32767]","System.Drawing.Primitives":"(,4.3.32767]","System.Dynamic.Runtime":"(,4.3.32767]","System.Formats.Asn1":"(,10.0.32767]","System.Formats.Tar":"(,10.0.32767]","System.Globalization":"(,4.3.32767]","System.Globalization.Calendars":"(,4.3.32767]","System.Globalization.Extensions":"(,4.3.32767]","System.IO":"(,4.3.32767]","System.IO.Compression":"(,4.3.32767]","System.IO.Compression.ZipFile":"(,4.3.32767]","System.IO.FileSystem":"(,4.3.32767]","System.IO.FileSystem.AccessControl":"(,4.4.32767]","System.IO.FileSystem.DriveInfo":"(,4.3.32767]","System.IO.FileSystem.Primitives":"(,4.3.32767]","System.IO.FileSystem.Watcher":"(,4.3.32767]","System.IO.IsolatedStorage":"(,4.3.32767]","System.IO.MemoryMappedFiles":"(,4.3.32767]","System.IO.Pipelines":"(,10.0.32767]","System.IO.Pipes":"(,4.3.32767]","System.IO.Pipes.AccessControl":"(,5.0.32767]","System.IO.UnmanagedMemoryStream":"(,4.3.32767]","System.Linq":"(,4.3.32767]","System.Linq.AsyncEnumerable":"(,10.0.32767]","System.Linq.Expressions":"(,4.3.32767]","System.Linq.Parallel":"(,4.3.32767]","System.Linq.Queryable":"(,4.3.32767]","System.Memory":"(,5.0.32767]","System.Net.Http":"(,4.3.32767]","System.Net.Http.Json":"(,10.0.32767]","System.Net.NameResolution":"(,4.3.32767]","System.Net.NetworkInformation":"(,4.3.32767]","System.Net.Ping":"(,4.3.32767]","System.Net.Primitives":"(,4.3.32767]","System.Net.Requests":"(,4.3.32767]","System.Net.Security":"(,4.3.32767]","System.Net.ServerSentEvents":"(,10.0.32767]","System.Net.Sockets":"(,4.3.32767]","System.Net.WebHeaderCollection":"(,4.3.32767]","System.Net.WebSockets":"(,4.3.32767]","System.Net.WebSockets.Client":"(,4.3.32767]","System.Numerics.Vectors":"(,5.0.32767]","System.ObjectModel":"(,4.3.32767]","System.Private.DataContractSerialization":"(,4.3.32767]","System.Private.Uri":"(,4.3.32767]","System.Reflection":"(,4.3.32767]","System.Reflection.DispatchProxy":"(,6.0.32767]","System.Reflection.Emit":"(,4.7.32767]","System.Reflection.Emit.ILGeneration":"(,4.7.32767]","System.Reflection.Emit.Lightweight":"(,4.7.32767]","System.Reflection.Extensions":"(,4.3.32767]","System.Reflection.Metadata":"(,10.0.32767]","System.Reflection.Primitives":"(,4.3.32767]","System.Reflection.TypeExtensions":"(,4.3.32767]","System.Resources.Reader":"(,4.3.32767]","System.Resources.ResourceManager":"(,4.3.32767]","System.Resources.Writer":"(,4.3.32767]","System.Runtime":"(,4.3.32767]","System.Runtime.CompilerServices.Unsafe":"(,7.0.32767]","System.Runtime.CompilerServices.VisualC":"(,4.3.32767]","System.Runtime.Extensions":"(,4.3.32767]","System.Runtime.Handles":"(,4.3.32767]","System.Runtime.InteropServices":"(,4.3.32767]","System.Runtime.InteropServices.RuntimeInformation":"(,4.3.32767]","System.Runtime.Loader":"(,4.3.32767]","System.Runtime.Numerics":"(,4.3.32767]","System.Runtime.Serialization.Formatters":"(,4.3.32767]","System.Runtime.Serialization.Json":"(,4.3.32767]","System.Runtime.Serialization.Primitives":"(,4.3.32767]","System.Runtime.Serialization.Xml":"(,4.3.32767]","System.Security.AccessControl":"(,6.0.32767]","System.Security.Claims":"(,4.3.32767]","System.Security.Cryptography.Algorithms":"(,4.3.32767]","System.Security.Cryptography.Cng":"(,5.0.32767]","System.Security.Cryptography.Csp":"(,4.3.32767]","System.Security.Cryptography.Encoding":"(,4.3.32767]","System.Security.Cryptography.OpenSsl":"(,5.0.32767]","System.Security.Cryptography.Primitives":"(,4.3.32767]","System.Security.Cryptography.X509Certificates":"(,4.3.32767]","System.Security.Principal":"(,4.3.32767]","System.Security.Principal.Windows":"(,5.0.32767]","System.Security.SecureString":"(,4.3.32767]","System.Text.Encoding":"(,4.3.32767]","System.Text.Encoding.CodePages":"(,10.0.32767]","System.Text.Encoding.Extensions":"(,4.3.32767]","System.Text.Encodings.Web":"(,10.0.32767]","System.Text.Json":"(,10.0.32767]","System.Text.RegularExpressions":"(,4.3.32767]","System.Threading":"(,4.3.32767]","System.Threading.AccessControl":"(,10.0.32767]","System.Threading.Channels":"(,10.0.32767]","System.Threading.Overlapped":"(,4.3.32767]","System.Threading.Tasks":"(,4.3.32767]","System.Threading.Tasks.Dataflow":"(,10.0.32767]","System.Threading.Tasks.Extensions":"(,5.0.32767]","System.Threading.Tasks.Parallel":"(,4.3.32767]","System.Threading.Thread":"(,4.3.32767]","System.Threading.ThreadPool":"(,4.3.32767]","System.Threading.Timer":"(,4.3.32767]","System.ValueTuple":"(,4.5.32767]","System.Xml.ReaderWriter":"(,4.3.32767]","System.Xml.XDocument":"(,4.3.32767]","System.Xml.XmlDocument":"(,4.3.32767]","System.Xml.XmlSerializer":"(,4.3.32767]","System.Xml.XPath":"(,4.3.32767]","System.Xml.XPath.XDocument":"(,5.0.32767]"}}} \ No newline at end of file diff --git a/DotNet/EverySecondTurnSolver.Tests/obj/rider.project.model.nuget.info b/DotNet/EverySecondTurnSolver.Tests/obj/rider.project.model.nuget.info new file mode 100644 index 00000000..d738690d --- /dev/null +++ b/DotNet/EverySecondTurnSolver.Tests/obj/rider.project.model.nuget.info @@ -0,0 +1 @@ +17667841566459275 \ No newline at end of file diff --git a/DotNet/EverySecondTurnSolver.Tests/obj/rider.project.restore.info b/DotNet/EverySecondTurnSolver.Tests/obj/rider.project.restore.info new file mode 100644 index 00000000..957265c4 --- /dev/null +++ b/DotNet/EverySecondTurnSolver.Tests/obj/rider.project.restore.info @@ -0,0 +1 @@ +17667841585705685 \ No newline at end of file diff --git a/DotNet/EverySecondTurnSolver.sln b/DotNet/EverySecondTurnSolver.sln new file mode 100644 index 00000000..f081a2d1 --- /dev/null +++ b/DotNet/EverySecondTurnSolver.sln @@ -0,0 +1,27 @@ +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.0.31903.59 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EverySecondTurnSolver", "EverySecondTurnSolver\EverySecondTurnSolver.csproj", "{8A55D112-E590-411E-B943-20700C323631}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EverySecondTurnSolver.Tests", "EverySecondTurnSolver.Tests\EverySecondTurnSolver.Tests.csproj", "{2008E2E1-48A0-4096-91D5-DEF962B9E3AF}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {8A55D112-E590-411E-B943-20700C323631}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {8A55D112-E590-411E-B943-20700C323631}.Debug|Any CPU.Build.0 = Debug|Any CPU + {8A55D112-E590-411E-B943-20700C323631}.Release|Any CPU.ActiveCfg = Release|Any CPU + {8A55D112-E590-411E-B943-20700C323631}.Release|Any CPU.Build.0 = Release|Any CPU + {2008E2E1-48A0-4096-91D5-DEF962B9E3AF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {2008E2E1-48A0-4096-91D5-DEF962B9E3AF}.Debug|Any CPU.Build.0 = Debug|Any CPU + {2008E2E1-48A0-4096-91D5-DEF962B9E3AF}.Release|Any CPU.ActiveCfg = Release|Any CPU + {2008E2E1-48A0-4096-91D5-DEF962B9E3AF}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/DotNet/EverySecondTurnSolver/Direction.cs b/DotNet/EverySecondTurnSolver/Direction.cs new file mode 100644 index 00000000..7c54f121 --- /dev/null +++ b/DotNet/EverySecondTurnSolver/Direction.cs @@ -0,0 +1,29 @@ +namespace EverySecondTurnSolver; + +public static class Direction +{ + public static DirectionEnum Up => DirectionEnum.Up; + public static DirectionEnum Right => DirectionEnum.Right; + public static DirectionEnum Down => DirectionEnum.Down; + public static DirectionEnum Left => DirectionEnum.Left; + + public static IEnumerable OrthogonalDirections() + { + yield return Up; + yield return Right; + yield return Down; + yield return Left; + } + + public static DirectionEnum Opposite(this DirectionEnum d) + { + return d switch + { + DirectionEnum.Up => Down, + DirectionEnum.Right => Left, + DirectionEnum.Down => Up, + DirectionEnum.Left => Right, + _ => throw new ArgumentOutOfRangeException(nameof(d), d, null) + }; + } +} \ No newline at end of file diff --git a/DotNet/EverySecondTurnSolver/DirectionEnum.cs b/DotNet/EverySecondTurnSolver/DirectionEnum.cs new file mode 100644 index 00000000..0d3bbc13 --- /dev/null +++ b/DotNet/EverySecondTurnSolver/DirectionEnum.cs @@ -0,0 +1,11 @@ +namespace EverySecondTurnSolver; + +public enum DirectionEnum +{ + Up, + Right, + Down, + Left +} + +// --- The Solver --- \ No newline at end of file diff --git a/DotNet/EverySecondTurnSolver/EverySecondTurnSolver.cs b/DotNet/EverySecondTurnSolver/EverySecondTurnSolver.cs new file mode 100644 index 00000000..cb4e9c82 --- /dev/null +++ b/DotNet/EverySecondTurnSolver/EverySecondTurnSolver.cs @@ -0,0 +1,285 @@ +using Google.OrTools.Sat; + +namespace EverySecondTurnSolver; + +public class EverySecondTurnSolver +{ + public const char Circle = '*'; + public const char Empty = '.'; + + private readonly char[,] _inputGrid; + private readonly int _rows; + private readonly int _cols; + private readonly IslandGrid _islandGrid; + private readonly CpModel _model; + private readonly Dictionary> _islandBridges; + private IslandGrid? _previousSolution; + + public EverySecondTurnSolver(char[,] grid) + { + _inputGrid = grid; + _rows = grid.GetLength(0); + _cols = grid.GetLength(1); + _islandGrid = new IslandGrid(_rows, _cols); + _model = new CpModel(); + _islandBridges = new Dictionary>(); + } + + private void InitSolver() + { + _islandBridges.Clear(); + foreach (var island in _islandGrid.GetAllIslands()) + { + var pos = island.Position; + _islandBridges[pos] = new Dictionary(); + foreach (var dir in Direction.OrthogonalDirections()) + _islandBridges[pos][dir] = _model.NewBoolVar($"{pos}_{dir}"); + } + + AddConstraints(); + } + + public IslandGrid? GetSolution() + { + if (_islandBridges.Count == 0) InitSolver(); + + return EnsureAllIslandsConnected(); + } + + public IslandGrid? GetOtherSolution() + { + if (_previousSolution == null) return null; + + var previousSolutionConstraints = new List(); + foreach (var island in _previousSolution.GetAllIslands()) + { + var pos = island.Position; + foreach (var kvp in island.Bridges) + { + if (kvp.Value > 0) + { + previousSolutionConstraints.Add(_islandBridges[pos][kvp.Key]); + } + } + } + + _model.AddBoolOr(previousSolutionConstraints.Select(c => c.Not())); + + foreach (var island in _islandGrid.GetAllIslands()) + island.Bridges.Clear(); + + return GetSolution(); + } + + private IslandGrid? EnsureAllIslandsConnected() + { + var solver = new CpSolver(); + + while (true) + { + var status = solver.Solve(_model); + if (status != CpSolverStatus.Optimal && status != CpSolverStatus.Feasible) + return null; + + foreach (var island in _islandGrid.GetAllIslands()) + { + island.Bridges.Clear(); // Reset + var pos = island.Position; + foreach (var dir in Direction.OrthogonalDirections()) + { + var neighborPos = pos.After(dir); + if (!_islandGrid.IsValidPosition(neighborPos)) continue; + + if (solver.Value(_islandBridges[pos][dir]) == 1) + island.Bridges[dir] = 1; + } + } + + var components = _islandGrid.GetConnectedComponents(); + + if (components.Count <= 1) + { + _previousSolution = _islandGrid; + return _islandGrid; + } + + foreach (var component in components) + { + var activeEdges = new List(); + foreach (var pos in component) + { + var island = _islandGrid[pos]; + foreach (var kvp in island.Bridges) + if (kvp.Value > 0) activeEdges.Add(_islandBridges[pos][kvp.Key]); + } + + _model.AddBoolOr(activeEdges.Select(x => x.Not())); + } + } + } + + private void AddConstraints() + { + AddInitialConstraints(); + AddOppositeBridgesConstraints(); + AddLinksConstraints(); + AddTurnAtEveryCircleConstraints(); + } + + private void AddInitialConstraints() + { + foreach (var kvp in _islandBridges) + _model.Add(LinearExpr.Sum(kvp.Value.Values) == 2); + } + + private void AddOppositeBridgesConstraints() + { + foreach (var island in _islandGrid.GetAllIslands()) + { + var pos = island.Position; + foreach (var dir in Direction.OrthogonalDirections()) + { + var neighbor = pos.After(dir); + if (_islandGrid.IsValidPosition(neighbor)) + _model.Add(_islandBridges[pos][dir] == _islandBridges[neighbor][dir.Opposite()]); + else + _model.Add(_islandBridges[pos][dir] == 0); + } + } + } + + private void AddLinksConstraints() + { + for (var r = 0; r < _rows; r++) + { + for (var c = 0; c < _cols; c++) + { + if (_inputGrid[r, c] != Circle) continue; + var pos = new Position(r, c); + var linkConstraints = OneTurnBetweenLinkedCirclesConstraints(pos); + _model.Add(LinearExpr.Sum(linkConstraints) == 2); + } + } + } + + private List OneTurnBetweenLinkedCirclesConstraints(Position circlePos) + { + var constraints = new List(); + var otherCircles = new List(); + + for (var r = 0; r < _rows; r++) + { + for (var c = 0; c < _cols; c++) + { + if (_inputGrid[r, c] == Circle && (r != circlePos.R || c != circlePos.C)) + otherCircles.Add(new Position(r, c)); + } + } + + foreach (var otherCirclePos in otherCircles) + { + var horTurnPos = new Position(circlePos.R, otherCirclePos.C); + var vertTurnPos = new Position(otherCirclePos.R, circlePos.C); + + var horDirection = otherCirclePos.C > circlePos.C ? Direction.Right : Direction.Left; + var vertDirection = otherCirclePos.R > circlePos.R ? Direction.Down : Direction.Up; + + var horPathVars = ToOtherCircleConstraint(circlePos, otherCirclePos, horTurnPos, horDirection, vertDirection); + var vertPathVars = ToOtherCircleConstraint(circlePos, otherCirclePos, vertTurnPos, vertDirection, horDirection); + + var horPathOk = NewAnd(horPathVars); + var vertPathOk = NewAnd(vertPathVars); + + var linkOk = _model.NewBoolVar($"link_{circlePos}_to_{otherCirclePos}"); + + _model.AddBoolOr([horPathOk, vertPathOk]).OnlyEnforceIf(linkOk); + _model.AddImplication(horPathOk, linkOk); + _model.AddImplication(vertPathOk, linkOk); + + constraints.Add(linkOk); + } + + return constraints; + } + + private List ToOtherCircleConstraint(Position start, Position end, Position turnPos, DirectionEnum dir1, DirectionEnum dir2) + { + var constraints = new List { _islandBridges[start][dir1] }; + + var current = start.After(dir1); + while (_islandGrid.IsValidPosition(current) && _inputGrid[current.R, current.C] == Empty && current != turnPos) + { + constraints.Add(_islandBridges[current][dir1]); + current = current.After(dir1); + } + + if (!_islandGrid.IsValidPosition(current) || _inputGrid[current.R, current.C] != Empty) + { + if (!_islandGrid.IsValidPosition(current) || (_inputGrid[current.R, current.C] != Empty && current != turnPos)) + { + var b = _model.NewBoolVar("impossible_path"); + _model.Add(b == 0); + return [b]; + } + } + + constraints.Add(_islandBridges[current][dir2]); + current = current.After(dir2); + + while (_islandGrid.IsValidPosition(current) && _inputGrid[current.R, current.C] == Empty && current != end) + { + constraints.Add(_islandBridges[current][dir2]); + current = current.After(dir2); + } + + if (_islandGrid.IsValidPosition(current) && current == end) return constraints; + { + var b = _model.NewBoolVar("impossible_path_2"); + _model.Add(b == 0); + return [b]; + } + } + + private BoolVar NewAnd(List literals) + { + var b = _model.NewBoolVar("reified_and"); + if (literals.Count == 0) + { + _model.Add(b == 1); + return b; + } + + foreach (var lit in literals) + _model.AddImplication(b, lit); + + var clause = literals.Select(l => l.Not()).ToList(); + clause.Add(b); + _model.AddBoolOr(clause); + + return b; + } + + private void AddTurnAtEveryCircleConstraints() + { + for (var r = 0; r < _rows; r++) + { + for (var c = 0; c < _cols; c++) + { + if (_inputGrid[r, c] != Circle) continue; + + var pos = new Position(r, c); + var right = _islandBridges[pos][Direction.Right]; + var up = _islandBridges[pos][Direction.Up]; + var left = _islandBridges[pos][Direction.Left]; + var down = _islandBridges[pos][Direction.Down]; + + _model.AddBoolOr([ + NewAnd([right, up, left.Not(), down.Not()]), + NewAnd([right, up.Not(), left.Not(), down]), + NewAnd([right.Not(), up.Not(), left, down]), + NewAnd([right.Not(), up, left, down.Not()]) + ]); + } + } + } +} \ No newline at end of file diff --git a/DotNet/EverySecondTurnSolver/EverySecondTurnSolver.csproj b/DotNet/EverySecondTurnSolver/EverySecondTurnSolver.csproj new file mode 100644 index 00000000..a14b8d15 --- /dev/null +++ b/DotNet/EverySecondTurnSolver/EverySecondTurnSolver.csproj @@ -0,0 +1,14 @@ + + + + Exe + net10.0 + enable + enable + + + + + + + diff --git a/DotNet/EverySecondTurnSolver/Island.cs b/DotNet/EverySecondTurnSolver/Island.cs new file mode 100644 index 00000000..af1f5b6c --- /dev/null +++ b/DotNet/EverySecondTurnSolver/Island.cs @@ -0,0 +1,45 @@ +namespace EverySecondTurnSolver; + +public class Island(Position position, int maxBridges) +{ + public Position Position { get; } = position; + + public int MaxBridges { get; } = maxBridges; + + public Dictionary Bridges { get; } = new(); + + public override string ToString() + { + Bridges.TryGetValue(DirectionEnum.Up, out var up); + Bridges.TryGetValue(DirectionEnum.Down, out var down); + Bridges.TryGetValue(DirectionEnum.Left, out var left); + Bridges.TryGetValue(DirectionEnum.Right, out var right); + + if (up == 0 && down == 0 && left == 0 && right == 0) return " · "; + + var leftChar = left == 1 ? '─' : ' '; + var rightChar = right == 1 ? '─' : ' '; + + var centerChar = (up, down, left, right) switch + { + (1, 1, 1, 1) => '┼', + (0, 1, 1, 1) => '┬', + (1, 0, 1, 1) => '┴', + (1, 1, 0, 1) => '├', + (1, 1, 1, 0) => '┤', + (1, 0, 1, 0) => '┘', + (1, 0, 0, 1) => '└', + (0, 1, 1, 0) => '┐', + (0, 1, 0, 1) => '┌', + (1, 1, 0, 0) => '│', + (0, 0, 1, 1) => '─', + (1, 0, 0, 0) => '╵', + (0, 1, 0, 0) => '╷', + (0, 0, 1, 0) => '╴', + (0, 0, 0, 1) => '╶', + _ => 'X' + }; + + return $"{leftChar}{centerChar}{rightChar}"; + } +} \ No newline at end of file diff --git a/DotNet/EverySecondTurnSolver/IslandGrid.cs b/DotNet/EverySecondTurnSolver/IslandGrid.cs new file mode 100644 index 00000000..7864317f --- /dev/null +++ b/DotNet/EverySecondTurnSolver/IslandGrid.cs @@ -0,0 +1,106 @@ +using System.Text; + +namespace EverySecondTurnSolver; + +public class IslandGrid +{ + private readonly Island[,] _islands; + public int Rows { get; } + public int Cols { get; } + + public IslandGrid(int rows, int cols) + { + Rows = rows; + Cols = cols; + _islands = new Island[rows, cols]; + for (int r = 0; r < rows; r++) + { + for (int c = 0; c < cols; c++) + { + _islands[r, c] = new Island(new Position(r, c), 2); + } + } + } + + public Island this[Position p] => _islands[p.R, p.C]; + public Island this[int r, int c] => _islands[r, c]; + + public bool IsValidPosition(Position p) + { + return p.R >= 0 && p.R < Rows && p.C >= 0 && p.C < Cols; + } + + public IEnumerable GetAllIslands() + { + foreach (var island in _islands) + { + yield return island; + } + } + + // Helper to find connected components (Union-Find or BFS) + public List> GetConnectedComponents() + { + var visited = new HashSet(); + var components = new List>(); + + foreach (var island in GetAllIslands()) + { + // Only consider islands that actually have bridges + if (island.Bridges.Count == 0) continue; + if (visited.Contains(island.Position)) continue; + + var component = new List(); + var queue = new Queue(); + queue.Enqueue(island.Position); + visited.Add(island.Position); + + while (queue.Count > 0) + { + var current = queue.Dequeue(); + component.Add(current); + + if (IsValidPosition(current)) + { + var currentIsland = this[current]; + foreach (var kvp in currentIsland.Bridges) + { + // If bridge count > 0, there is a connection + if (kvp.Value > 0) + { + var neighborPos = current.After(kvp.Key); + if (IsValidPosition(neighborPos) && !visited.Contains(neighborPos)) + { + visited.Add(neighborPos); + queue.Enqueue(neighborPos); + } + } + } + } + } + + components.Add(component); + } + + return components; + } + + public static IslandGrid Empty() => new IslandGrid(0, 0); + + public override string ToString() + { + if (Rows == 0) return ""; + var sb = new StringBuilder(); + for (var r = 0; r < Rows; r++) + { + for (var c = 0; c < Cols; c++) + { + sb.Append(_islands[r, c]); + } + + if (r < Rows - 1) sb.Append('\n'); + } + + return sb.ToString(); + } +} \ No newline at end of file diff --git a/DotNet/EverySecondTurnSolver/Position.cs b/DotNet/EverySecondTurnSolver/Position.cs new file mode 100644 index 00000000..67662c11 --- /dev/null +++ b/DotNet/EverySecondTurnSolver/Position.cs @@ -0,0 +1,32 @@ +namespace EverySecondTurnSolver; + +public readonly struct Position : IEquatable +{ + public int R { get; } + public int C { get; } + + public Position(int r, int c) + { + R = r; + C = c; + } + + public Position After(DirectionEnum direction) + { + return direction switch + { + DirectionEnum.Up => new Position(R - 1, C), + DirectionEnum.Right => new Position(R, C + 1), + DirectionEnum.Down => new Position(R + 1, C), + DirectionEnum.Left => new Position(R, C - 1), + _ => throw new ArgumentOutOfRangeException(nameof(direction), direction, null) + }; + } + + public override bool Equals(object? obj) => obj is Position position && Equals(position); + public bool Equals(Position other) => R == other.R && C == other.C; + public override int GetHashCode() => HashCode.Combine(R, C); + public static bool operator ==(Position left, Position right) => left.Equals(right); + public static bool operator !=(Position left, Position right) => !(left == right); + public override string ToString() => $"({R}, {C})"; +} \ No newline at end of file diff --git a/DotNet/EverySecondTurnSolver/Program.cs b/DotNet/EverySecondTurnSolver/Program.cs new file mode 100644 index 00000000..1f7e45b4 --- /dev/null +++ b/DotNet/EverySecondTurnSolver/Program.cs @@ -0,0 +1,128 @@ +using System; +using System.Text; + +namespace EverySecondTurnSolver; + +internal static class Program +{ + private static void Main(string[] args) + { + Console.WriteLine("Every Second Turn Solver (.NET Port)"); + Console.WriteLine("====================================="); + + const char x = '*'; + const char _ = '.'; + var gridData = new[,] + { + { _, _, _, _, _, x }, + { _, x, _, _, _, _ }, + { _, _, _, _, x, _ }, + { x, _, _, x, _, _ }, + { _, _, x, _, _, x }, + { x, _, _, _, _, _ }, + }; + + + Console.WriteLine("Input Grid:"); + PrintGrid(gridData); + + try + { + var solver = new EverySecondTurnSolver(gridData); + var solution = solver.GetSolution(); + + if (solution != null) + { + Console.WriteLine("\nSolution Found:"); + PrintSolution(solution); + } + else + { + Console.WriteLine("\nNo solution found."); + } + } + catch (Exception ex) + { + Console.WriteLine($"Error: {ex.Message}"); + Console.WriteLine(ex.StackTrace); + } + } + + private static void PrintGrid(char[,] grid) + { + var rows = grid.GetLength(0); + var cols = grid.GetLength(1); + for (var r = 0; r < rows; r++) + { + for (var c = 0; c < cols; c++) + { + Console.Write(grid[r, c] + " "); + } + + Console.WriteLine(); + } + } + + private static void PrintSolution(IslandGrid solution) + { + var rows = solution.Rows; + var cols = solution.Cols; + + for (var r = 0; r < rows; r++) + { + var line1 = new StringBuilder(); + var line2 = new StringBuilder(); + + for (var c = 0; c < cols; c++) + { + var island = solution[r, c]; + + var up = island.Bridges.ContainsKey(Direction.Up) && island.Bridges[Direction.Up] > 0; + var down = island.Bridges.ContainsKey(Direction.Down) && island.Bridges[Direction.Down] > 0; + var left = island.Bridges.ContainsKey(Direction.Left) && island.Bridges[Direction.Left] > 0; + var right = island.Bridges.ContainsKey(Direction.Right) && island.Bridges[Direction.Right] > 0; + + var center = "+"; + switch (up) + { + case true when down && !left && !right: + center = "|"; + break; + case false when !down && left && right: + center = "-"; + break; + case true when right: + center = "L"; // Simplified + break; + default: + { + switch (down) + { + case true when right: + center = "F"; + break; + case true when left: + center = "7"; + break; + default: + { + if (up && left) center = "J"; + break; + } + } + + break; + } + } + + line1.Append(center); + line1.Append(right ? "-" : " "); + + line2.Append(down ? "| " : " "); + } + + Console.WriteLine(line1.ToString()); + Console.WriteLine(line2.ToString()); + } + } +} \ No newline at end of file