diff --git a/.gitignore b/.gitignore deleted file mode 100644 index d0a1f14..0000000 --- a/.gitignore +++ /dev/null @@ -1,6 +0,0 @@ -bin -obj -.vs -*.png -.idea -/.contest diff --git a/.idea/.idea.lilo-stitcher-console/.idea/.gitignore b/.idea/.idea.lilo-stitcher-console/.idea/.gitignore new file mode 100644 index 0000000..4be9211 --- /dev/null +++ b/.idea/.idea.lilo-stitcher-console/.idea/.gitignore @@ -0,0 +1,13 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Rider ignored files +/modules.xml +/contentModel.xml +/projectSettingsUpdater.xml +/.idea.lilo-stitcher-console.iml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/.idea.lilo-stitcher-console/.idea/encodings.xml b/.idea/.idea.lilo-stitcher-console/.idea/encodings.xml new file mode 100644 index 0000000..df87cf9 --- /dev/null +++ b/.idea/.idea.lilo-stitcher-console/.idea/encodings.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/LiloController.cs b/LiloController.cs index 989b972..ce39378 100644 --- a/LiloController.cs +++ b/LiloController.cs @@ -1,18 +1,17 @@ -using lilos_stitcher; using Microsoft.AspNetCore.Mvc; namespace LiloStitcher; [ApiController] [Route( "api/image" )] -public sealed class LiloController( lilos_stitcher.LiloStitcher stitcher ) : ControllerBase +public sealed class LiloController( LiloStitcher stitcher ) : ControllerBase { - [HttpPost] - [Route( "generate" )] - [Produces( "image/png" )] - public async Task Generate( [FromBody] GenerateRequest payload, CancellationToken ct ) - { - string path = await stitcher.CreateImageAsync( payload, ct ); - return PhysicalFile(path, "image/png", enableRangeProcessing: false); - } + [HttpPost] + [Route( "generate" )] + [Produces( "image/png" )] + public async Task Generate( [FromBody] GenerateRequest payload, CancellationToken ct ) + { + var png = await stitcher.CreateImageAsync( payload, ct ); + return File( png, "image/png" ); + } } \ No newline at end of file diff --git a/LiloStitcher.cs b/LiloStitcher.cs index afee0dd..64e3a52 100644 --- a/LiloStitcher.cs +++ b/LiloStitcher.cs @@ -1,7 +1,7 @@ using Microsoft.Extensions.Caching.Memory; using NetVips; -namespace lilos_stitcher; +namespace LiloStitcher; public sealed record GenerateRequest( string Canvas_Rect, @@ -60,12 +60,10 @@ public class TileLoader( TileCache cache, string assetDir ) public class LiloStitcher( TileLoader loader ) { - public async Task CreateImageAsync( GenerateRequest req, CancellationToken ct ) + public async Task CreateImageAsync( GenerateRequest req, CancellationToken ct ) { (int rowMin, int colMin, int rows, int cols) = ParseCanvas( req.Canvas_Rect ); - Validate(req.Crop_Offset, nameof(req.Crop_Offset)); - Validate(req.Crop_Size, nameof(req.Crop_Size)); double scale = req.Output_Scale; if( scale <= 0 || scale > 1 ) throw new ArgumentOutOfRangeException( nameof( req.Output_Scale ) ); @@ -84,8 +82,8 @@ public class LiloStitcher( TileLoader loader ) var mosaic = Image.Arrayjoin( tiles.ToArray(), across: cols ); - int offsetX = (int)Math.Truncate( req.Crop_Offset[0] * mosaic.Width ); - int offsetY = (int)Math.Truncate( req.Crop_Offset[1] * mosaic.Height ); + int offsetX = (int)Math.Truncate( req.Output_Scale * mosaic.Width ); + int offsetY = (int)Math.Truncate( req.Output_Scale * mosaic.Height ); int restWidth = mosaic.Width - offsetX; int restHeight = mosaic.Height - offsetY; @@ -98,9 +96,13 @@ public class LiloStitcher( TileLoader loader ) var cropped = mosaic.Crop( cropX, cropY, cropWidth, cropHeight ); - string path = Path.Combine(Path.GetTempPath(), $"mosaic-{Guid.NewGuid():N}.png"); - cropped.WriteToFile(path); - return path; + var finalImg = scale < 1.0 ? cropped.Resize( scale ) : cropped; + + string tmp = Path.GetTempFileName() + ".png"; + finalImg.WriteToFile( tmp ); + byte[] result = await File.ReadAllBytesAsync( tmp, ct ); + File.Delete( tmp ); + return result; } private static (int rowMin, int colMin, int rows, int cols) ParseCanvas( string rect ) diff --git a/Program.cs b/Program.cs index 5b60d67..05492df 100644 --- a/Program.cs +++ b/Program.cs @@ -1,20 +1,19 @@ -using lilos_stitcher; - var builder = WebApplication.CreateBuilder(args); -NetVips.NetVips.Init(); -NetVips.NetVips.Concurrency = 3; +// Add services to the container. +// Learn more about configuring OpenAPI at https://aka.ms/aspnet/openapi +// builder.Services.AddOpenApi(); -builder.Services.AddControllers().AddJsonOptions(o => o.JsonSerializerOptions.PropertyNameCaseInsensitive = true); +builder.Services.AddControllers().AddJsonOptions(options => options.JsonSerializerOptions.PropertyNameCaseInsensitive = true); -builder.Services.AddMemoryCache(o => o.SizeLimit = 128L * 1024 * 1024); +builder.Services.AddMemoryCache(o => o.SizeLimit = 256 * 1024 * 1024); -string assetDir = Environment.GetEnvironmentVariable("ASSET_PATH_RO") ?? throw new InvalidOperationException("dir not found"); - -builder.Services.AddSingleton(); -builder.Services.AddSingleton(provider => new TileLoader(provider.GetRequiredService(), assetDir)); -builder.Services.AddSingleton(); +builder.Services.AddSingleton(); +builder.Services.AddSingleton(); +builder.Services.AddSingleton(); var app = builder.Build(); + app.MapControllers(); + app.Run(); \ No newline at end of file diff --git a/README.md b/README.md deleted file mode 100644 index 1980fc5..0000000 --- a/README.md +++ /dev/null @@ -1,44 +0,0 @@ -# Lilo Stitcher API - -An ASP.NET Core Web API for stitching, cropping, and scaling tiled images (720×720). - -## Prerequisites - -* .NET 9.0 SDK -* `ASSET_PATH_RO` environment variable containing the path to tiles directory (1,705 PNGs named A1.png…AE55.png) - -## Build & Run - -```bash -cd lilo-stitcher -dotnet clean -dotnet run -``` - -By default, the API listens on `http://localhost:5243` and `https://localhost:7121` (see [`launchSettings.json`](https://null.formulatrix.dev/fikribahru/lilo-stitcher/src/branch/main/Properties/launchSettings.json)). - -## Usage - -**Endpoint:** `POST /api/image/generate` - -**Request Body (JSON):** - -```json -{ - "canvas_rect": "A1:H12", - "crop_offset": [0.25, 0.25], - "crop_size": [0.5, 0.5], - "output_scale": 1.0 -} -``` - -**Example (using `curl`):** - -```bash -curl -X POST http://localhost:5243/api/image/generate \ - -H "Content-Type: application/json" \ - -o output.png \ - -d '{"canvas_rect":"A1:H12","crop_offset":[0.25,0.25],"crop_size":[0.5,0.5],"output_scale":1.0}' -``` - -The API will return a `image/png` containing the stitched, cropped, and scaled result. diff --git a/lilos-stitcher.csproj b/lilos-stitcher.csproj index 2ced848..c86ded4 100644 --- a/lilos-stitcher.csproj +++ b/lilos-stitcher.csproj @@ -5,15 +5,13 @@ enable enable lilos_stitcher - preview - - - + + \ No newline at end of file diff --git a/mise.toml b/mise.toml deleted file mode 100644 index dca4d7a..0000000 --- a/mise.toml +++ /dev/null @@ -1,92 +0,0 @@ -# Quick Guide -# - install mise -# - download the asset and extract them to ASSET_PATH_RO -# - mise trust mise.toml -# - mise run verify-asset -# - require hashdeep -# `hashdeep` package in debian -# or `md5deep` package in fedora -# or uncomment `tools."http:hashdeep"` below in windows -# - mise run serve -# - mise run arrange -# - mise run action -# - mise run assert -# - mise run bench - -[env] -ASSET_PATH_RO = "{{ [xdg_cache_home, 'stitch-a-ton', 'asset'] | join_path }}" -CONTEST_HOST = "http://localhost:7007" -CONTEST_API = "/api/image/generate" -CONTEST_OUTPUT = "{{ [cwd, '.contest'] | join_path }}" -DOTNET_ENVIRONMENT = "Production" -ANSWER_COMMIT_HASH = "89a07b40bf0414212c96945671a012035d375a25" - -[tools] -dotnet = "9" -xh = "latest" -uv = "latest" -k6 = "latest" - -# uncomment these if you're on windows -#[tools."http:hashdeep"] -#version = "4.4" - -#[tools."http:hashdeep".platforms] -#windows-x64 = {url = "https://github.com/jessek/hashdeep/releases/download/v4.4/md5deep-4.4.zip"} - -[tasks.setup] -run = ''' -{% if env.CONTEST_OUTPUT is not exists %} -mkdir .contest -{% endif %} -''' - -[tasks.verify-asset] -dir = "{{ env.ASSET_PATH_RO }}" -run = ''' -xh get https://null.formulatrix.dev/Contest/stitch-a-ton-answer/raw/commit/{{ env.ANSWER_COMMIT_HASH }}/asset.txt -o ../asset.txt -hashdeep -arbvk ../asset.txt . -''' - -[tasks.arrange] -depends = ['setup'] -dir = "{{ env.CONTEST_OUTPUT }}" -outputs = ['answer.json', 'action.py', 'assert.py', 'bench.js', 'fuzzy.json'] -run = ''' -xh get https://null.formulatrix.dev/Contest/stitch-a-ton-answer/raw/commit/{{ env.ANSWER_COMMIT_HASH }}/answer.json -o answer.json -xh get https://null.formulatrix.dev/Contest/stitch-a-ton-answer/raw/commit/{{ env.ANSWER_COMMIT_HASH }}/action.py -o action.py -xh get https://null.formulatrix.dev/Contest/stitch-a-ton-answer/raw/commit/{{ env.ANSWER_COMMIT_HASH }}/assert.py -o assert.py -xh get https://null.formulatrix.dev/Contest/stitch-a-ton-answer/raw/commit/{{ env.ANSWER_COMMIT_HASH }}/bench.js -o bench.js -xh get https://null.formulatrix.dev/Contest/stitch-a-ton-answer/raw/commit/{{ env.ANSWER_COMMIT_HASH }}/fuzzy.json -o fuzzy.json -''' - -[tasks.serve] -run = "dotnet run -c Release --no-launch-profile --urls {{env.CONTEST_HOST}}" - -[tasks.quick] -depends = ['arrange'] -dir = "{{ env.CONTEST_OUTPUT }}" -run = ''' -xh post {{env.CONTEST_HOST}}{{env.CONTEST_ENDPOINT}} canvas_rect=A1:H12 crop_offset:=[0,0] crop_size:=[1,1] output_scale:=0.25 -o quick.png -''' - -[tasks.action] -depends = ['arrange'] -dir = "{{ env.CONTEST_OUTPUT }}" -run = ''' -uv run --no-config --script {{ [env.CONTEST_OUTPUT, 'action.py'] | join_path }} -''' - -[tasks.assert] -depends = ['arrange'] -dir = "{{ env.CONTEST_OUTPUT }}" -run = ''' -uvx --no-config --with-requirements assert.py pytest assert.py -''' - -[tasks.bench] -depends = ['arrange'] -dir = "{{ env.CONTEST_OUTPUT }}" -run = ''' -k6 run -e TARGET_URL="{{ env.CONTEST_HOST }}{{ env.CONTEST_API }}" bench.js -''' diff --git a/obj/Debug/net9.0/.NETCoreApp,Version=v9.0.AssemblyAttributes.cs b/obj/Debug/net9.0/.NETCoreApp,Version=v9.0.AssemblyAttributes.cs new file mode 100644 index 0000000..feda5e9 --- /dev/null +++ b/obj/Debug/net9.0/.NETCoreApp,Version=v9.0.AssemblyAttributes.cs @@ -0,0 +1,4 @@ +// +using System; +using System.Reflection; +[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v9.0", FrameworkDisplayName = ".NET 9.0")] diff --git a/obj/Debug/net9.0/lilos-stitcher.AssemblyInfo.cs b/obj/Debug/net9.0/lilos-stitcher.AssemblyInfo.cs new file mode 100644 index 0000000..ad099f6 --- /dev/null +++ b/obj/Debug/net9.0/lilos-stitcher.AssemblyInfo.cs @@ -0,0 +1,22 @@ +//------------------------------------------------------------------------------ +// +// 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("lilos-stitcher")] +[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] +[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")] +[assembly: System.Reflection.AssemblyProductAttribute("lilos-stitcher")] +[assembly: System.Reflection.AssemblyTitleAttribute("lilos-stitcher")] +[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] + +// Generated by the MSBuild WriteCodeFragment class. + diff --git a/obj/Debug/net9.0/lilos-stitcher.AssemblyInfoInputs.cache b/obj/Debug/net9.0/lilos-stitcher.AssemblyInfoInputs.cache new file mode 100644 index 0000000..55bfa87 --- /dev/null +++ b/obj/Debug/net9.0/lilos-stitcher.AssemblyInfoInputs.cache @@ -0,0 +1 @@ +b9648f35d08e6094ba68410eef2ef1b321e87149ab6afaeef61e60bd1216d6d3 diff --git a/obj/Debug/net9.0/lilos-stitcher.GeneratedMSBuildEditorConfig.editorconfig b/obj/Debug/net9.0/lilos-stitcher.GeneratedMSBuildEditorConfig.editorconfig new file mode 100644 index 0000000..14eb60c --- /dev/null +++ b/obj/Debug/net9.0/lilos-stitcher.GeneratedMSBuildEditorConfig.editorconfig @@ -0,0 +1,21 @@ +is_global = true +build_property.TargetFramework = net9.0 +build_property.TargetPlatformMinVersion = +build_property.UsingMicrosoftNETSdkWeb = true +build_property.ProjectTypeGuids = +build_property.InvariantGlobalization = +build_property.PlatformNeutralAssembly = +build_property.EnforceExtendedAnalyzerRules = +build_property._SupportedPlatformList = Linux,macOS,Windows +build_property.RootNamespace = lilos_stitcher +build_property.RootNamespace = lilos_stitcher +build_property.ProjectDir = /home/mbsbahru/Documents/Formulatrix Trivia/stitch-a-ton challenge/lilos-stitcher-aspnet/ +build_property.EnableComHosting = +build_property.EnableGeneratedComInterfaceComImportInterop = +build_property.RazorLangVersion = 9.0 +build_property.SupportLocalizedComponentNames = +build_property.GenerateRazorMetadataSourceChecksumAttributes = +build_property.MSBuildProjectDirectory = /home/mbsbahru/Documents/Formulatrix Trivia/stitch-a-ton challenge/lilos-stitcher-aspnet +build_property._RazorSourceGeneratorDebug = +build_property.EffectiveAnalysisLevelStyle = 9.0 +build_property.EnableCodeStyleSeverity = diff --git a/obj/Debug/net9.0/lilos-stitcher.GlobalUsings.g.cs b/obj/Debug/net9.0/lilos-stitcher.GlobalUsings.g.cs new file mode 100644 index 0000000..025530a --- /dev/null +++ b/obj/Debug/net9.0/lilos-stitcher.GlobalUsings.g.cs @@ -0,0 +1,17 @@ +// +global using global::Microsoft.AspNetCore.Builder; +global using global::Microsoft.AspNetCore.Hosting; +global using global::Microsoft.AspNetCore.Http; +global using global::Microsoft.AspNetCore.Routing; +global using global::Microsoft.Extensions.Configuration; +global using global::Microsoft.Extensions.DependencyInjection; +global using global::Microsoft.Extensions.Hosting; +global using global::Microsoft.Extensions.Logging; +global using global::System; +global using global::System.Collections.Generic; +global using global::System.IO; +global using global::System.Linq; +global using global::System.Net.Http; +global using global::System.Net.Http.Json; +global using global::System.Threading; +global using global::System.Threading.Tasks; diff --git a/obj/Debug/net9.0/lilos-stitcher.assets.cache b/obj/Debug/net9.0/lilos-stitcher.assets.cache new file mode 100644 index 0000000..ddf522c Binary files /dev/null and b/obj/Debug/net9.0/lilos-stitcher.assets.cache differ diff --git a/obj/Debug/net9.0/lilos-stitcher.csproj.AssemblyReference.cache b/obj/Debug/net9.0/lilos-stitcher.csproj.AssemblyReference.cache new file mode 100644 index 0000000..a2fb20e Binary files /dev/null and b/obj/Debug/net9.0/lilos-stitcher.csproj.AssemblyReference.cache differ diff --git a/obj/lilos-stitcher.csproj.nuget.dgspec.json b/obj/lilos-stitcher.csproj.nuget.dgspec.json new file mode 100644 index 0000000..4f7b5ab --- /dev/null +++ b/obj/lilos-stitcher.csproj.nuget.dgspec.json @@ -0,0 +1,86 @@ +{ + "format": 1, + "restore": { + "/home/mbsbahru/Documents/Formulatrix Trivia/stitch-a-ton challenge/lilos-stitcher-aspnet/lilos-stitcher.csproj": {} + }, + "projects": { + "/home/mbsbahru/Documents/Formulatrix Trivia/stitch-a-ton challenge/lilos-stitcher-aspnet/lilos-stitcher.csproj": { + "version": "1.0.0", + "restore": { + "projectUniqueName": "/home/mbsbahru/Documents/Formulatrix Trivia/stitch-a-ton challenge/lilos-stitcher-aspnet/lilos-stitcher.csproj", + "projectName": "lilos-stitcher", + "projectPath": "/home/mbsbahru/Documents/Formulatrix Trivia/stitch-a-ton challenge/lilos-stitcher-aspnet/lilos-stitcher.csproj", + "packagesPath": "/home/mbsbahru/.nuget/packages/", + "outputPath": "/home/mbsbahru/Documents/Formulatrix Trivia/stitch-a-ton challenge/lilos-stitcher-aspnet/obj/", + "projectStyle": "PackageReference", + "configFilePaths": [ + "/home/mbsbahru/.nuget/NuGet/NuGet.Config" + ], + "originalTargetFrameworks": [ + "net9.0" + ], + "sources": { + "/home/mbsbahru/nuget-local": {}, + "/usr/lib/dotnet/library-packs": {}, + "https://api.nuget.org/v3/index.json": {} + }, + "frameworks": { + "net9.0": { + "targetAlias": "net9.0", + "projectReferences": {} + } + }, + "warningProperties": { + "warnAsError": [ + "NU1605" + ] + }, + "restoreAuditProperties": { + "enableAudit": "true", + "auditLevel": "low", + "auditMode": "direct" + }, + "SdkAnalysisLevel": "9.0.100" + }, + "frameworks": { + "net9.0": { + "targetAlias": "net9.0", + "dependencies": { + "Microsoft.Extensions.Caching.Memory": { + "target": "Package", + "version": "[10.0.0-preview.6.25358.103, )" + }, + "NetVips": { + "target": "Package", + "version": "[3.1.0, )" + }, + "NetVips.Native.linux-x64": { + "target": "Package", + "version": "[8.17.1, )" + } + }, + "imports": [ + "net461", + "net462", + "net47", + "net471", + "net472", + "net48", + "net481" + ], + "assetTargetFallback": true, + "warn": true, + "frameworkReferences": { + "Microsoft.AspNetCore.App": { + "privateAssets": "none" + }, + "Microsoft.NETCore.App": { + "privateAssets": "all" + } + }, + "runtimeIdentifierGraphPath": "/usr/lib/dotnet/sdk/9.0.108/PortableRuntimeIdentifierGraph.json" + } + } + } + } +} \ No newline at end of file diff --git a/obj/lilos-stitcher.csproj.nuget.g.props b/obj/lilos-stitcher.csproj.nuget.g.props new file mode 100644 index 0000000..beeabf2 --- /dev/null +++ b/obj/lilos-stitcher.csproj.nuget.g.props @@ -0,0 +1,15 @@ + + + + True + NuGet + $(MSBuildThisFileDirectory)project.assets.json + /home/mbsbahru/.nuget/packages/ + /home/mbsbahru/.nuget/packages/ + PackageReference + 6.12.4 + + + + + \ No newline at end of file diff --git a/obj/lilos-stitcher.csproj.nuget.g.targets b/obj/lilos-stitcher.csproj.nuget.g.targets new file mode 100644 index 0000000..f34860e --- /dev/null +++ b/obj/lilos-stitcher.csproj.nuget.g.targets @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/obj/project.assets.json b/obj/project.assets.json new file mode 100644 index 0000000..b5b766b --- /dev/null +++ b/obj/project.assets.json @@ -0,0 +1,549 @@ +{ + "version": 3, + "targets": { + "net9.0": { + "Microsoft.Extensions.Caching.Abstractions/10.0.0-preview.6.25358.103": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Primitives": "10.0.0-preview.6.25358.103" + }, + "compile": { + "lib/net9.0/Microsoft.Extensions.Caching.Abstractions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net9.0/Microsoft.Extensions.Caching.Abstractions.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/net8.0/_._": {} + } + }, + "Microsoft.Extensions.Caching.Memory/10.0.0-preview.6.25358.103": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Caching.Abstractions": "10.0.0-preview.6.25358.103", + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0-preview.6.25358.103", + "Microsoft.Extensions.Logging.Abstractions": "10.0.0-preview.6.25358.103", + "Microsoft.Extensions.Options": "10.0.0-preview.6.25358.103", + "Microsoft.Extensions.Primitives": "10.0.0-preview.6.25358.103" + }, + "compile": { + "lib/net9.0/Microsoft.Extensions.Caching.Memory.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net9.0/Microsoft.Extensions.Caching.Memory.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/net8.0/_._": {} + } + }, + "Microsoft.Extensions.DependencyInjection.Abstractions/10.0.0-preview.6.25358.103": { + "type": "package", + "compile": { + "lib/net9.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net9.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/net8.0/_._": {} + } + }, + "Microsoft.Extensions.Logging.Abstractions/10.0.0-preview.6.25358.103": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0-preview.6.25358.103", + "System.Diagnostics.DiagnosticSource": "10.0.0-preview.6.25358.103" + }, + "compile": { + "lib/net9.0/Microsoft.Extensions.Logging.Abstractions.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net9.0/Microsoft.Extensions.Logging.Abstractions.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/net8.0/Microsoft.Extensions.Logging.Abstractions.targets": {} + } + }, + "Microsoft.Extensions.Options/10.0.0-preview.6.25358.103": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0-preview.6.25358.103", + "Microsoft.Extensions.Primitives": "10.0.0-preview.6.25358.103" + }, + "compile": { + "lib/net9.0/Microsoft.Extensions.Options.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net9.0/Microsoft.Extensions.Options.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/net8.0/Microsoft.Extensions.Options.targets": {} + } + }, + "Microsoft.Extensions.Primitives/10.0.0-preview.6.25358.103": { + "type": "package", + "compile": { + "lib/net9.0/Microsoft.Extensions.Primitives.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net9.0/Microsoft.Extensions.Primitives.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/net8.0/_._": {} + } + }, + "NetVips/3.1.0": { + "type": "package", + "compile": { + "lib/net6.0/NetVips.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/NetVips.dll": { + "related": ".xml" + } + } + }, + "NetVips.Native.linux-x64/8.17.1": { + "type": "package", + "compile": { + "lib/net6.0/_._": {} + }, + "runtime": { + "lib/net6.0/_._": {} + }, + "runtimeTargets": { + "runtimes/linux-x64/native/libvips.so.42": { + "assetType": "native", + "rid": "linux-x64" + } + } + }, + "System.Diagnostics.DiagnosticSource/10.0.0-preview.6.25358.103": { + "type": "package", + "compile": { + "lib/net9.0/System.Diagnostics.DiagnosticSource.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net9.0/System.Diagnostics.DiagnosticSource.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/net8.0/_._": {} + } + } + } + }, + "libraries": { + "Microsoft.Extensions.Caching.Abstractions/10.0.0-preview.6.25358.103": { + "sha512": "XueBRYerg0fC13swErWCHB8zJ7feYt5R5Und/CjDy45DIccK7MvGJ2aSrtg+OUvPCUinJYphBaLiarfrLuIWfw==", + "type": "package", + "path": "microsoft.extensions.caching.abstractions/10.0.0-preview.6.25358.103", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "PACKAGE.md", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/net461/Microsoft.Extensions.Caching.Abstractions.targets", + "buildTransitive/net462/_._", + "buildTransitive/net8.0/_._", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Caching.Abstractions.targets", + "lib/net10.0/Microsoft.Extensions.Caching.Abstractions.dll", + "lib/net10.0/Microsoft.Extensions.Caching.Abstractions.xml", + "lib/net462/Microsoft.Extensions.Caching.Abstractions.dll", + "lib/net462/Microsoft.Extensions.Caching.Abstractions.xml", + "lib/net8.0/Microsoft.Extensions.Caching.Abstractions.dll", + "lib/net8.0/Microsoft.Extensions.Caching.Abstractions.xml", + "lib/net9.0/Microsoft.Extensions.Caching.Abstractions.dll", + "lib/net9.0/Microsoft.Extensions.Caching.Abstractions.xml", + "lib/netstandard2.0/Microsoft.Extensions.Caching.Abstractions.dll", + "lib/netstandard2.0/Microsoft.Extensions.Caching.Abstractions.xml", + "microsoft.extensions.caching.abstractions.10.0.0-preview.6.25358.103.nupkg.sha512", + "microsoft.extensions.caching.abstractions.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.Caching.Memory/10.0.0-preview.6.25358.103": { + "sha512": "TnEV0E/xlGsAX2zXwdmBVyHcKCAXm7zlOXavdFF7HyHWf0qiReM1ZAvnCDGMERippHxqqUtXC3koZ2uz28UvhQ==", + "type": "package", + "path": "microsoft.extensions.caching.memory/10.0.0-preview.6.25358.103", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "PACKAGE.md", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/net461/Microsoft.Extensions.Caching.Memory.targets", + "buildTransitive/net462/_._", + "buildTransitive/net8.0/_._", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Caching.Memory.targets", + "lib/net10.0/Microsoft.Extensions.Caching.Memory.dll", + "lib/net10.0/Microsoft.Extensions.Caching.Memory.xml", + "lib/net462/Microsoft.Extensions.Caching.Memory.dll", + "lib/net462/Microsoft.Extensions.Caching.Memory.xml", + "lib/net8.0/Microsoft.Extensions.Caching.Memory.dll", + "lib/net8.0/Microsoft.Extensions.Caching.Memory.xml", + "lib/net9.0/Microsoft.Extensions.Caching.Memory.dll", + "lib/net9.0/Microsoft.Extensions.Caching.Memory.xml", + "lib/netstandard2.0/Microsoft.Extensions.Caching.Memory.dll", + "lib/netstandard2.0/Microsoft.Extensions.Caching.Memory.xml", + "microsoft.extensions.caching.memory.10.0.0-preview.6.25358.103.nupkg.sha512", + "microsoft.extensions.caching.memory.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.DependencyInjection.Abstractions/10.0.0-preview.6.25358.103": { + "sha512": "XrX5CQwI6dnGvmPJJxf/X1JxhPzRwdKKUf9onJKN+qyqP+wwH9floTgkckGdJxVV+jvnWeUgSJ6MZvQM6WmwSg==", + "type": "package", + "path": "microsoft.extensions.dependencyinjection.abstractions/10.0.0-preview.6.25358.103", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "PACKAGE.md", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/net461/Microsoft.Extensions.DependencyInjection.Abstractions.targets", + "buildTransitive/net462/_._", + "buildTransitive/net8.0/_._", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.DependencyInjection.Abstractions.targets", + "lib/net10.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll", + "lib/net10.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml", + "lib/net462/Microsoft.Extensions.DependencyInjection.Abstractions.dll", + "lib/net462/Microsoft.Extensions.DependencyInjection.Abstractions.xml", + "lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll", + "lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml", + "lib/net9.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll", + "lib/net9.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml", + "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll", + "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml", + "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.Abstractions.dll", + "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.Abstractions.xml", + "microsoft.extensions.dependencyinjection.abstractions.10.0.0-preview.6.25358.103.nupkg.sha512", + "microsoft.extensions.dependencyinjection.abstractions.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.Logging.Abstractions/10.0.0-preview.6.25358.103": { + "sha512": "ktG/8xOcrtBL176cYv6mzOL+YRSPySE8hcppHonAXYa8jf3lW/WmxfAUwK0WtUEl7MdYR8mbuEAbSg81crBq5Q==", + "type": "package", + "path": "microsoft.extensions.logging.abstractions/10.0.0-preview.6.25358.103", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "PACKAGE.md", + "THIRD-PARTY-NOTICES.TXT", + "analyzers/dotnet/roslyn3.11/cs/Microsoft.Extensions.Logging.Generators.dll", + "analyzers/dotnet/roslyn3.11/cs/cs/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/de/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/es/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/fr/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/it/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/ja/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/ko/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/pl/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/pt-BR/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/ru/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/tr/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/zh-Hans/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn3.11/cs/zh-Hant/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/Microsoft.Extensions.Logging.Generators.dll", + "analyzers/dotnet/roslyn4.0/cs/cs/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/de/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/es/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/fr/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/it/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/ja/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/ko/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/pl/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/pt-BR/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/ru/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/tr/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/zh-Hans/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.0/cs/zh-Hant/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/Microsoft.Extensions.Logging.Generators.dll", + "analyzers/dotnet/roslyn4.4/cs/cs/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/de/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/es/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/fr/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/it/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/ja/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/ko/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/pl/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/pt-BR/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/ru/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/tr/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/zh-Hans/Microsoft.Extensions.Logging.Generators.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/zh-Hant/Microsoft.Extensions.Logging.Generators.resources.dll", + "buildTransitive/net461/Microsoft.Extensions.Logging.Abstractions.targets", + "buildTransitive/net462/Microsoft.Extensions.Logging.Abstractions.targets", + "buildTransitive/net8.0/Microsoft.Extensions.Logging.Abstractions.targets", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Logging.Abstractions.targets", + "buildTransitive/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.targets", + "lib/net10.0/Microsoft.Extensions.Logging.Abstractions.dll", + "lib/net10.0/Microsoft.Extensions.Logging.Abstractions.xml", + "lib/net462/Microsoft.Extensions.Logging.Abstractions.dll", + "lib/net462/Microsoft.Extensions.Logging.Abstractions.xml", + "lib/net8.0/Microsoft.Extensions.Logging.Abstractions.dll", + "lib/net8.0/Microsoft.Extensions.Logging.Abstractions.xml", + "lib/net9.0/Microsoft.Extensions.Logging.Abstractions.dll", + "lib/net9.0/Microsoft.Extensions.Logging.Abstractions.xml", + "lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.dll", + "lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.xml", + "microsoft.extensions.logging.abstractions.10.0.0-preview.6.25358.103.nupkg.sha512", + "microsoft.extensions.logging.abstractions.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.Options/10.0.0-preview.6.25358.103": { + "sha512": "V3IaV1wPAVpVfDrOK0b4xKZVEHMFlYSL0Wfx6/Tm8bt4ovodorVqHe/EvsogWmsbcj1XhJvFuWXVDuG479i2vw==", + "type": "package", + "path": "microsoft.extensions.options/10.0.0-preview.6.25358.103", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "PACKAGE.md", + "THIRD-PARTY-NOTICES.TXT", + "analyzers/dotnet/roslyn4.4/cs/Microsoft.Extensions.Options.SourceGeneration.dll", + "analyzers/dotnet/roslyn4.4/cs/cs/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/de/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/es/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/fr/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/it/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/ja/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/ko/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/pl/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/pt-BR/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/ru/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/tr/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/zh-Hans/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "analyzers/dotnet/roslyn4.4/cs/zh-Hant/Microsoft.Extensions.Options.SourceGeneration.resources.dll", + "buildTransitive/net461/Microsoft.Extensions.Options.targets", + "buildTransitive/net462/Microsoft.Extensions.Options.targets", + "buildTransitive/net8.0/Microsoft.Extensions.Options.targets", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Options.targets", + "buildTransitive/netstandard2.0/Microsoft.Extensions.Options.targets", + "lib/net10.0/Microsoft.Extensions.Options.dll", + "lib/net10.0/Microsoft.Extensions.Options.xml", + "lib/net462/Microsoft.Extensions.Options.dll", + "lib/net462/Microsoft.Extensions.Options.xml", + "lib/net8.0/Microsoft.Extensions.Options.dll", + "lib/net8.0/Microsoft.Extensions.Options.xml", + "lib/net9.0/Microsoft.Extensions.Options.dll", + "lib/net9.0/Microsoft.Extensions.Options.xml", + "lib/netstandard2.0/Microsoft.Extensions.Options.dll", + "lib/netstandard2.0/Microsoft.Extensions.Options.xml", + "lib/netstandard2.1/Microsoft.Extensions.Options.dll", + "lib/netstandard2.1/Microsoft.Extensions.Options.xml", + "microsoft.extensions.options.10.0.0-preview.6.25358.103.nupkg.sha512", + "microsoft.extensions.options.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "Microsoft.Extensions.Primitives/10.0.0-preview.6.25358.103": { + "sha512": "iSpD+A130hPiq20tbqKGujXtFY1Zc3q/R/AlN3qPpUYwmxEZbybykQ+YpiDzdyoGvo0gp/4vtk/Hqcvkwt53Gw==", + "type": "package", + "path": "microsoft.extensions.primitives/10.0.0-preview.6.25358.103", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "PACKAGE.md", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/net461/Microsoft.Extensions.Primitives.targets", + "buildTransitive/net462/_._", + "buildTransitive/net8.0/_._", + "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Primitives.targets", + "lib/net10.0/Microsoft.Extensions.Primitives.dll", + "lib/net10.0/Microsoft.Extensions.Primitives.xml", + "lib/net462/Microsoft.Extensions.Primitives.dll", + "lib/net462/Microsoft.Extensions.Primitives.xml", + "lib/net8.0/Microsoft.Extensions.Primitives.dll", + "lib/net8.0/Microsoft.Extensions.Primitives.xml", + "lib/net9.0/Microsoft.Extensions.Primitives.dll", + "lib/net9.0/Microsoft.Extensions.Primitives.xml", + "lib/netstandard2.0/Microsoft.Extensions.Primitives.dll", + "lib/netstandard2.0/Microsoft.Extensions.Primitives.xml", + "microsoft.extensions.primitives.10.0.0-preview.6.25358.103.nupkg.sha512", + "microsoft.extensions.primitives.nuspec", + "useSharedDesignerContext.txt" + ] + }, + "NetVips/3.1.0": { + "sha512": "/8vwrHjZYO8ec2hXtHxzoreA8TGeSUlcbM+EBc951jlhNQ3n6KfjmZSDQ4T3Is2YS/+FPQrAEUnMIXV2IhxRfg==", + "type": "package", + "path": "netvips/3.1.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/net452/NetVips.dll", + "lib/net452/NetVips.xml", + "lib/net6.0/NetVips.dll", + "lib/net6.0/NetVips.xml", + "netvips.3.1.0.nupkg.sha512", + "netvips.nuspec" + ] + }, + "NetVips.Native.linux-x64/8.17.1": { + "sha512": "i5enEqi0SDWKoinxP/cyjq7T4Vo8bDCfvv5Nf5smBdynAj6EuyNxDaZ54inRjcRD2pA8hZV7mW9gI5H/v/Ls2w==", + "type": "package", + "path": "netvips.native.linux-x64/8.17.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "THIRD-PARTY-NOTICES.md", + "lib/net6.0/_._", + "netvips.native.linux-x64.8.17.1.nupkg.sha512", + "netvips.native.linux-x64.nuspec", + "runtimes/linux-x64/native/libvips.so.42", + "versions.json" + ] + }, + "System.Diagnostics.DiagnosticSource/10.0.0-preview.6.25358.103": { + "sha512": "SmleXl7WsR4hURxBWoTqeCVt8B+doEKMJRev9fxbqdSi5r18kTX/wYqsNePbq/eJeoq3x8UlngVwxwXplYXXfg==", + "type": "package", + "path": "system.diagnostics.diagnosticsource/10.0.0-preview.6.25358.103", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/net461/System.Diagnostics.DiagnosticSource.targets", + "buildTransitive/net462/_._", + "buildTransitive/net8.0/_._", + "buildTransitive/netcoreapp2.0/System.Diagnostics.DiagnosticSource.targets", + "lib/net10.0/System.Diagnostics.DiagnosticSource.dll", + "lib/net10.0/System.Diagnostics.DiagnosticSource.xml", + "lib/net462/System.Diagnostics.DiagnosticSource.dll", + "lib/net462/System.Diagnostics.DiagnosticSource.xml", + "lib/net8.0/System.Diagnostics.DiagnosticSource.dll", + "lib/net8.0/System.Diagnostics.DiagnosticSource.xml", + "lib/net9.0/System.Diagnostics.DiagnosticSource.dll", + "lib/net9.0/System.Diagnostics.DiagnosticSource.xml", + "lib/netstandard2.0/System.Diagnostics.DiagnosticSource.dll", + "lib/netstandard2.0/System.Diagnostics.DiagnosticSource.xml", + "system.diagnostics.diagnosticsource.10.0.0-preview.6.25358.103.nupkg.sha512", + "system.diagnostics.diagnosticsource.nuspec", + "useSharedDesignerContext.txt" + ] + } + }, + "projectFileDependencyGroups": { + "net9.0": [ + "Microsoft.Extensions.Caching.Memory >= 10.0.0-preview.6.25358.103", + "NetVips >= 3.1.0", + "NetVips.Native.linux-x64 >= 8.17.1" + ] + }, + "packageFolders": { + "/home/mbsbahru/.nuget/packages/": {} + }, + "project": { + "version": "1.0.0", + "restore": { + "projectUniqueName": "/home/mbsbahru/Documents/Formulatrix Trivia/stitch-a-ton challenge/lilos-stitcher-aspnet/lilos-stitcher.csproj", + "projectName": "lilos-stitcher", + "projectPath": "/home/mbsbahru/Documents/Formulatrix Trivia/stitch-a-ton challenge/lilos-stitcher-aspnet/lilos-stitcher.csproj", + "packagesPath": "/home/mbsbahru/.nuget/packages/", + "outputPath": "/home/mbsbahru/Documents/Formulatrix Trivia/stitch-a-ton challenge/lilos-stitcher-aspnet/obj/", + "projectStyle": "PackageReference", + "configFilePaths": [ + "/home/mbsbahru/.nuget/NuGet/NuGet.Config" + ], + "originalTargetFrameworks": [ + "net9.0" + ], + "sources": { + "/home/mbsbahru/nuget-local": {}, + "/usr/lib/dotnet/library-packs": {}, + "https://api.nuget.org/v3/index.json": {} + }, + "frameworks": { + "net9.0": { + "targetAlias": "net9.0", + "projectReferences": {} + } + }, + "warningProperties": { + "warnAsError": [ + "NU1605" + ] + }, + "restoreAuditProperties": { + "enableAudit": "true", + "auditLevel": "low", + "auditMode": "direct" + }, + "SdkAnalysisLevel": "9.0.100" + }, + "frameworks": { + "net9.0": { + "targetAlias": "net9.0", + "dependencies": { + "Microsoft.Extensions.Caching.Memory": { + "target": "Package", + "version": "[10.0.0-preview.6.25358.103, )" + }, + "NetVips": { + "target": "Package", + "version": "[3.1.0, )" + }, + "NetVips.Native.linux-x64": { + "target": "Package", + "version": "[8.17.1, )" + } + }, + "imports": [ + "net461", + "net462", + "net47", + "net471", + "net472", + "net48", + "net481" + ], + "assetTargetFallback": true, + "warn": true, + "frameworkReferences": { + "Microsoft.AspNetCore.App": { + "privateAssets": "none" + }, + "Microsoft.NETCore.App": { + "privateAssets": "all" + } + }, + "runtimeIdentifierGraphPath": "/usr/lib/dotnet/sdk/9.0.108/PortableRuntimeIdentifierGraph.json" + } + } + } +} \ No newline at end of file diff --git a/obj/project.nuget.cache b/obj/project.nuget.cache new file mode 100644 index 0000000..d39e319 --- /dev/null +++ b/obj/project.nuget.cache @@ -0,0 +1,18 @@ +{ + "version": 2, + "dgSpecHash": "ND5vzXBabtw=", + "success": true, + "projectFilePath": "/home/mbsbahru/Documents/Formulatrix Trivia/stitch-a-ton challenge/lilos-stitcher-aspnet/lilos-stitcher.csproj", + "expectedPackageFiles": [ + "/home/mbsbahru/.nuget/packages/microsoft.extensions.caching.abstractions/10.0.0-preview.6.25358.103/microsoft.extensions.caching.abstractions.10.0.0-preview.6.25358.103.nupkg.sha512", + "/home/mbsbahru/.nuget/packages/microsoft.extensions.caching.memory/10.0.0-preview.6.25358.103/microsoft.extensions.caching.memory.10.0.0-preview.6.25358.103.nupkg.sha512", + "/home/mbsbahru/.nuget/packages/microsoft.extensions.dependencyinjection.abstractions/10.0.0-preview.6.25358.103/microsoft.extensions.dependencyinjection.abstractions.10.0.0-preview.6.25358.103.nupkg.sha512", + "/home/mbsbahru/.nuget/packages/microsoft.extensions.logging.abstractions/10.0.0-preview.6.25358.103/microsoft.extensions.logging.abstractions.10.0.0-preview.6.25358.103.nupkg.sha512", + "/home/mbsbahru/.nuget/packages/microsoft.extensions.options/10.0.0-preview.6.25358.103/microsoft.extensions.options.10.0.0-preview.6.25358.103.nupkg.sha512", + "/home/mbsbahru/.nuget/packages/microsoft.extensions.primitives/10.0.0-preview.6.25358.103/microsoft.extensions.primitives.10.0.0-preview.6.25358.103.nupkg.sha512", + "/home/mbsbahru/.nuget/packages/netvips/3.1.0/netvips.3.1.0.nupkg.sha512", + "/home/mbsbahru/.nuget/packages/netvips.native.linux-x64/8.17.1/netvips.native.linux-x64.8.17.1.nupkg.sha512", + "/home/mbsbahru/.nuget/packages/system.diagnostics.diagnosticsource/10.0.0-preview.6.25358.103/system.diagnostics.diagnosticsource.10.0.0-preview.6.25358.103.nupkg.sha512" + ], + "logs": [] +} \ No newline at end of file