on master help sign in
Fix server compilation by updating to fetch API and restructuring handlers for proper type checking
1025ec4iko
client/bin/Debug/net10.0-ios/iossimulator-arm64/Skrepka.app/Skrepka.dll

Binary file not shown.

client/bin/Debug/net10.0-ios/iossimulator-arm64/Skrepka.app/Skrepka.pdb

Binary file not shown.

client/bin/Debug/net10.0-ios/iossimulator-arm64/Skrepka.app/_CodeSignature/CodeResources+4−4
@@ -162,11 +162,11 @@
162 </data>
162 </data>
163 <key>Skrepka.dll</key>
163 <key>Skrepka.dll</key>
164 <data>
164 <data>
165− Q1TzjDksASYmda82goOgYgnQK6A=
165+ cLMiN59WETvez5dx0uXUZoSTPb4=
166 </data>
166 </data>
167 <key>Skrepka.pdb</key>
167 <key>Skrepka.pdb</key>
168 <data>
168 <data>
169− J7a1FKMvYPmpJKkbOwqsd/AZNvY=
169+ ldyZfrWrMd9ycj/oEBvJhDAsVME=
170 </data>
170 </data>
171 <key>Sodium.Core.dll</key>
171 <key>Sodium.Core.dll</key>
172 <data>
172 <data>
@@ -1382,14 +1382,14 @@
1382 <dict>
1382 <dict>
1383 <key>hash2</key>
1383 <key>hash2</key>
1384 <data>
1384 <data>
1385− xU+uAM4T6T9N9PWk3OwmlNb2Ax5JuGrN21GxQdzmriM=
1385+ t+CLPQktYsiTOLd72KrLk+9R6smlb9kRcl3LVv+EYBY=
1386 </data>
1386 </data>
1387 </dict>
1387 </dict>
1388 <key>Skrepka.pdb</key>
1388 <key>Skrepka.pdb</key>
1389 <dict>
1389 <dict>
1390 <key>hash2</key>
1390 <key>hash2</key>
1391 <data>
1391 <data>
1392− VuO8cyFX2FRfGSGrthoIvPfpSHnWezHEznomR3OvpGw=
1392+ GvVY1szkv9OBBCgEdAZqPqj+Taow0e372j3aKZx1csQ=
1393 </data>
1393 </data>
1394 </dict>
1394 </dict>
1395 <key>Sodium.Core.dll</key>
1395 <key>Sodium.Core.dll</key>
client/bin/Debug/net10.0-ios/iossimulator-arm64/Skrepka.dll

Binary file not shown.

client/bin/Debug/net10.0-ios/iossimulator-arm64/Skrepka.pdb

Binary file not shown.

client/bin/Debug/net10.0-maccatalyst/maccatalyst-arm64/Skrepka.app/Contents/MonoBundle/Skrepka.dll

Binary file not shown.

client/bin/Debug/net10.0-maccatalyst/maccatalyst-arm64/Skrepka.app/Contents/MonoBundle/Skrepka.pdb

Binary file not shown.

client/bin/Debug/net10.0-maccatalyst/maccatalyst-arm64/Skrepka.app/Contents/_CodeSignature/CodeResources+2−2
@@ -240,14 +240,14 @@
240 <dict>
240 <dict>
241 <key>hash2</key>
241 <key>hash2</key>
242 <data>
242 <data>
243− MVTQfQYigLcdvU+hYHF5J7JTGYbhAguMkzoyMcjzOOU=
243+ 0IwboWcxGg+igGOs/iPuXTnkrFWofjpU2HruAF/Cz1Y=
244 </data>
244 </data>
245 </dict>
245 </dict>
246 <key>MonoBundle/Skrepka.pdb</key>
246 <key>MonoBundle/Skrepka.pdb</key>
247 <dict>
247 <dict>
248 <key>hash2</key>
248 <key>hash2</key>
249 <data>
249 <data>
250− b/ozTr4ubCPR16fJdDRKR2AKz7xLeA5uc8hseeD/pao=
250+ aaf14lJ3aUAY1W3Za3iFIIq7GWlqrVjZxVYmH/Px/ps=
251 </data>
251 </data>
252 </dict>
252 </dict>
253 <key>MonoBundle/Sodium.Core.dll</key>
253 <key>MonoBundle/Sodium.Core.dll</key>
client/bin/Debug/net10.0-maccatalyst/maccatalyst-arm64/Skrepka.dll

Binary file not shown.

client/bin/Debug/net10.0-maccatalyst/maccatalyst-arm64/Skrepka.pdb

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/Skrepka.AssemblyInfo.fs+1−1
@@ -10,7 +10,7 @@ open System.Reflection
10[<assembly: System.Reflection.AssemblyCompanyAttribute("Skrepka")>]
10[<assembly: System.Reflection.AssemblyCompanyAttribute("Skrepka")>]
11[<assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")>]
11[<assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")>]
12[<assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")>]
12[<assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")>]
13−[<assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0+a9574e59e12a30d49104267d8ee9179ae3be0978")>]
13+[<assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0+346c12ecffe87438fdad84bea4dff973f4fc9eec")>]
14[<assembly: System.Reflection.AssemblyProductAttribute("Skrepka")>]
14[<assembly: System.Reflection.AssemblyProductAttribute("Skrepka")>]
15[<assembly: System.Reflection.AssemblyTitleAttribute("Skrepka")>]
15[<assembly: System.Reflection.AssemblyTitleAttribute("Skrepka")>]
16[<assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")>]
16[<assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")>]
client/obj/Debug/net10.0-ios/iossimulator-arm64/Skrepka.AssemblyInfoInputs.cache+1−1
@@ -1 +1 @@
1−bc8a3d46b16bc41ce74aa2a7c7df6798887f56d93ee1f1bd90d68d695146e0ef
1+6a753f697574f344344f60a7ce91110bcf66456ca91f9a28f3d6610430ec814d
client/obj/Debug/net10.0-ios/iossimulator-arm64/Skrepka.dll

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/Skrepka.fsproj.FileListAbsolute.txt+22
@@ -333,3 +333,25 @@
333/Users/iko/Developer/skrepka/client/obj/Debug/net10.0-ios/iossimulator-arm64/Skrepka.pdb
333/Users/iko/Developer/skrepka/client/obj/Debug/net10.0-ios/iossimulator-arm64/Skrepka.pdb
334/Users/iko/Developer/skrepka/client/obj/Debug/net10.0-ios/iossimulator-arm64/Skrepka.genruntimeconfig.cache
334/Users/iko/Developer/skrepka/client/obj/Debug/net10.0-ios/iossimulator-arm64/Skrepka.genruntimeconfig.cache
335/Users/iko/Developer/skrepka/client/obj/Debug/net10.0-ios/iossimulator-arm64/ref/Skrepka.dll
335/Users/iko/Developer/skrepka/client/obj/Debug/net10.0-ios/iossimulator-arm64/ref/Skrepka.dll
336+/Users/iko/Developer/skrepka/client/obj/Debug/net10.0-ios/iossimulator-arm64/resourcestamps/Fabulous.stamp
337+/Users/iko/Developer/skrepka/client/obj/Debug/net10.0-ios/iossimulator-arm64/resourcestamps/Fabulous.MauiControls.stamp
338+/Users/iko/Developer/skrepka/client/obj/Debug/net10.0-ios/iossimulator-arm64/resourcestamps/FSharp.Core.stamp
339+/Users/iko/Developer/skrepka/client/obj/Debug/net10.0-ios/iossimulator-arm64/resourcestamps/Microsoft.Extensions.Configuration.Abstractions.stamp
340+/Users/iko/Developer/skrepka/client/obj/Debug/net10.0-ios/iossimulator-arm64/resourcestamps/Microsoft.Extensions.Configuration.stamp
341+/Users/iko/Developer/skrepka/client/obj/Debug/net10.0-ios/iossimulator-arm64/resourcestamps/Microsoft.Extensions.DependencyInjection.Abstractions.stamp
342+/Users/iko/Developer/skrepka/client/obj/Debug/net10.0-ios/iossimulator-arm64/resourcestamps/Microsoft.Extensions.DependencyInjection.stamp
343+/Users/iko/Developer/skrepka/client/obj/Debug/net10.0-ios/iossimulator-arm64/resourcestamps/Microsoft.Extensions.Diagnostics.Abstractions.stamp
344+/Users/iko/Developer/skrepka/client/obj/Debug/net10.0-ios/iossimulator-arm64/resourcestamps/Microsoft.Extensions.FileProviders.Abstractions.stamp
345+/Users/iko/Developer/skrepka/client/obj/Debug/net10.0-ios/iossimulator-arm64/resourcestamps/Microsoft.Extensions.Hosting.Abstractions.stamp
346+/Users/iko/Developer/skrepka/client/obj/Debug/net10.0-ios/iossimulator-arm64/resourcestamps/Microsoft.Extensions.Logging.Abstractions.stamp
347+/Users/iko/Developer/skrepka/client/obj/Debug/net10.0-ios/iossimulator-arm64/resourcestamps/Microsoft.Extensions.Logging.stamp
348+/Users/iko/Developer/skrepka/client/obj/Debug/net10.0-ios/iossimulator-arm64/resourcestamps/Microsoft.Extensions.Options.stamp
349+/Users/iko/Developer/skrepka/client/obj/Debug/net10.0-ios/iossimulator-arm64/resourcestamps/Microsoft.Extensions.Primitives.stamp
350+/Users/iko/Developer/skrepka/client/obj/Debug/net10.0-ios/iossimulator-arm64/resourcestamps/Microsoft.Maui.Controls.Compatibility.stamp
351+/Users/iko/Developer/skrepka/client/obj/Debug/net10.0-ios/iossimulator-arm64/resourcestamps/Microsoft.Maui.Controls.stamp
352+/Users/iko/Developer/skrepka/client/obj/Debug/net10.0-ios/iossimulator-arm64/resourcestamps/Microsoft.Maui.Controls.Xaml.stamp
353+/Users/iko/Developer/skrepka/client/obj/Debug/net10.0-ios/iossimulator-arm64/resourcestamps/Microsoft.Maui.stamp
354+/Users/iko/Developer/skrepka/client/obj/Debug/net10.0-ios/iossimulator-arm64/resourcestamps/Microsoft.Maui.Essentials.stamp
355+/Users/iko/Developer/skrepka/client/obj/Debug/net10.0-ios/iossimulator-arm64/resourcestamps/Microsoft.Maui.Graphics.stamp
356+/Users/iko/Developer/skrepka/client/obj/Debug/net10.0-ios/iossimulator-arm64/resourcestamps/Sodium.Core.stamp
357+/Users/iko/Developer/skrepka/client/obj/Debug/net10.0-ios/iossimulator-arm64/unpack/Microsoft.Maui.Essentials/BundleResource/xml/microsoft_maui_essentials_fileprovider_file_paths.xml
client/obj/Debug/net10.0-ios/iossimulator-arm64/Skrepka.pdb

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/Skrepka.sourcelink.json+1−1
@@ -1 +1 @@
1−{"documents":{"/Users/iko/Developer/skrepka/*":"https://raw.githubusercontent.com/ilyakooo0/skrepka/a9574e59e12a30d49104267d8ee9179ae3be0978/*"}}
1+{"documents":{"/Users/iko/Developer/skrepka/*":"https://raw.githubusercontent.com/ilyakooo0/skrepka/346c12ecffe87438fdad84bea4dff973f4fc9eec/*"}}
client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/Skrepka.dll

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/linked/Skrepka.pdb

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/ref/Skrepka.dll

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/refint/Skrepka.dll

Binary file not shown.

client/obj/Debug/net10.0-ios/iossimulator-arm64/resourcestamps/FSharp.Core.stampnew file

No changes to the content.

client/obj/Debug/net10.0-ios/iossimulator-arm64/resourcestamps/Fabulous.MauiControls.stampnew file

No changes to the content.

client/obj/Debug/net10.0-ios/iossimulator-arm64/resourcestamps/Fabulous.stampnew file

No changes to the content.

client/obj/Debug/net10.0-ios/iossimulator-arm64/resourcestamps/Microsoft.Extensions.Configuration.Abstractions.stampnew file

No changes to the content.

client/obj/Debug/net10.0-ios/iossimulator-arm64/resourcestamps/Microsoft.Extensions.Configuration.stampnew file

No changes to the content.

client/obj/Debug/net10.0-ios/iossimulator-arm64/resourcestamps/Microsoft.Extensions.DependencyInjection.Abstractions.stampnew file

No changes to the content.

client/obj/Debug/net10.0-ios/iossimulator-arm64/resourcestamps/Microsoft.Extensions.DependencyInjection.stampnew file

No changes to the content.

client/obj/Debug/net10.0-ios/iossimulator-arm64/resourcestamps/Microsoft.Extensions.Diagnostics.Abstractions.stampnew file

No changes to the content.

client/obj/Debug/net10.0-ios/iossimulator-arm64/resourcestamps/Microsoft.Extensions.FileProviders.Abstractions.stampnew file

No changes to the content.

client/obj/Debug/net10.0-ios/iossimulator-arm64/resourcestamps/Microsoft.Extensions.Hosting.Abstractions.stampnew file

No changes to the content.

client/obj/Debug/net10.0-ios/iossimulator-arm64/resourcestamps/Microsoft.Extensions.Logging.Abstractions.stampnew file

No changes to the content.

client/obj/Debug/net10.0-ios/iossimulator-arm64/resourcestamps/Microsoft.Extensions.Logging.stampnew file

No changes to the content.

client/obj/Debug/net10.0-ios/iossimulator-arm64/resourcestamps/Microsoft.Extensions.Options.stampnew file

No changes to the content.

client/obj/Debug/net10.0-ios/iossimulator-arm64/resourcestamps/Microsoft.Extensions.Primitives.stampnew file

No changes to the content.

client/obj/Debug/net10.0-ios/iossimulator-arm64/resourcestamps/Microsoft.Maui.Controls.Compatibility.stampnew file

No changes to the content.

client/obj/Debug/net10.0-ios/iossimulator-arm64/resourcestamps/Microsoft.Maui.Controls.Xaml.stampnew file

No changes to the content.

client/obj/Debug/net10.0-ios/iossimulator-arm64/resourcestamps/Microsoft.Maui.Controls.stampnew file

No changes to the content.

client/obj/Debug/net10.0-ios/iossimulator-arm64/resourcestamps/Microsoft.Maui.Essentials.stampnew file

No changes to the content.

client/obj/Debug/net10.0-ios/iossimulator-arm64/resourcestamps/Microsoft.Maui.Graphics.stampnew file

No changes to the content.

client/obj/Debug/net10.0-ios/iossimulator-arm64/resourcestamps/Microsoft.Maui.stampnew file

No changes to the content.

client/obj/Debug/net10.0-ios/iossimulator-arm64/resourcestamps/Sodium.Core.stampnew file

No changes to the content.

client/obj/Debug/net10.0-ios/iossimulator-arm64/unpack/Microsoft.Maui.Essentials/BundleResource/xml/microsoft_maui_essentials_fileprovider_file_paths.xmlnew file+6
@@ -0,0 +1,6 @@
1+<?xml version="1.0" encoding="UTF-8" ?>
2+<paths>
3+ <external-path name="external_files" path="." />
4+ <cache-path name="internal_cache" path="." />
5+ <external-cache-path name="external_cache" path="." />
6+</paths>
client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/Skrepka.AssemblyInfo.fs+1−1
@@ -10,7 +10,7 @@ open System.Reflection
10[<assembly: System.Reflection.AssemblyCompanyAttribute("Skrepka")>]
10[<assembly: System.Reflection.AssemblyCompanyAttribute("Skrepka")>]
11[<assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")>]
11[<assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")>]
12[<assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")>]
12[<assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")>]
13−[<assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0+a9574e59e12a30d49104267d8ee9179ae3be0978")>]
13+[<assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0+346c12ecffe87438fdad84bea4dff973f4fc9eec")>]
14[<assembly: System.Reflection.AssemblyProductAttribute("Skrepka")>]
14[<assembly: System.Reflection.AssemblyProductAttribute("Skrepka")>]
15[<assembly: System.Reflection.AssemblyTitleAttribute("Skrepka")>]
15[<assembly: System.Reflection.AssemblyTitleAttribute("Skrepka")>]
16[<assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")>]
16[<assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")>]
client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/Skrepka.AssemblyInfoInputs.cache+1−1
@@ -1 +1 @@
1−68875417531183f94271bad630f19ab5f5f0fac7c3fa81a0de4dc0daffee371c
1+a4046d7b839a68f608d1c269bcb1a56b4af044b840ddb7c5384c5348a63f2bce
client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/Skrepka.dll

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/Skrepka.pdb

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/Skrepka.sourcelink.json+1−1
@@ -1 +1 @@
1−{"documents":{"/Users/iko/Developer/skrepka/*":"https://raw.githubusercontent.com/ilyakooo0/skrepka/a9574e59e12a30d49104267d8ee9179ae3be0978/*"}}
1+{"documents":{"/Users/iko/Developer/skrepka/*":"https://raw.githubusercontent.com/ilyakooo0/skrepka/346c12ecffe87438fdad84bea4dff973f4fc9eec/*"}}
client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/Skrepka.dll

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/linked/Skrepka.pdb

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/ref/Skrepka.dll

Binary file not shown.

client/obj/Debug/net10.0-maccatalyst/maccatalyst-arm64/refint/Skrepka.dll

Binary file not shown.

client/obj/Skrepka.fsproj.nuget.dgspec.json+3
@@ -707,6 +707,9 @@
707 "runtimes": {
707 "runtimes": {
708 "iossimulator-arm64": {
708 "iossimulator-arm64": {
709 "#import": []
709 "#import": []
710+ },
711+ "maccatalyst-arm64": {
712+ "#import": []
710 }
713 }
711 }
714 }
712 }
715 }
client/obj/project.assets.json+1212−63
@@ -1206,6 +1206,579 @@
1206 }
1206 }
1207 }
1207 }
1208 },
1208 },
1209+ "net10.0-ios26.2/maccatalyst-arm64": {
1210+ "Fabulous/3.0.0-pre23": {
1211+ "type": "package",
1212+ "dependencies": {
1213+ "FSharp.Core": "8.0.300"
1214+ },
1215+ "compile": {
1216+ "lib/net8.0/Fabulous.dll": {
1217+ "related": ".xml"
1218+ }
1219+ },
1220+ "runtime": {
1221+ "lib/net8.0/Fabulous.dll": {
1222+ "related": ".xml"
1223+ }
1224+ }
1225+ },
1226+ "Fabulous.MauiControls/9.0.0-pre9": {
1227+ "type": "package",
1228+ "dependencies": {
1229+ "Fabulous": "3.0.0-pre23",
1230+ "Microsoft.Maui.Controls": "9.0.0",
1231+ "Microsoft.Maui.Controls.Compatibility": "9.0.0"
1232+ },
1233+ "compile": {
1234+ "lib/net9.0/Fabulous.MauiControls.dll": {
1235+ "related": ".xml"
1236+ }
1237+ },
1238+ "runtime": {
1239+ "lib/net9.0/Fabulous.MauiControls.dll": {
1240+ "related": ".xml"
1241+ }
1242+ }
1243+ },
1244+ "FSharp.Core/9.0.100": {
1245+ "type": "package",
1246+ "compile": {
1247+ "lib/netstandard2.1/FSharp.Core.dll": {
1248+ "related": ".xml"
1249+ }
1250+ },
1251+ "runtime": {
1252+ "lib/netstandard2.1/FSharp.Core.dll": {
1253+ "related": ".xml"
1254+ }
1255+ },
1256+ "resource": {
1257+ "lib/netstandard2.1/cs/FSharp.Core.resources.dll": {
1258+ "locale": "cs"
1259+ },
1260+ "lib/netstandard2.1/de/FSharp.Core.resources.dll": {
1261+ "locale": "de"
1262+ },
1263+ "lib/netstandard2.1/es/FSharp.Core.resources.dll": {
1264+ "locale": "es"
1265+ },
1266+ "lib/netstandard2.1/fr/FSharp.Core.resources.dll": {
1267+ "locale": "fr"
1268+ },
1269+ "lib/netstandard2.1/it/FSharp.Core.resources.dll": {
1270+ "locale": "it"
1271+ },
1272+ "lib/netstandard2.1/ja/FSharp.Core.resources.dll": {
1273+ "locale": "ja"
1274+ },
1275+ "lib/netstandard2.1/ko/FSharp.Core.resources.dll": {
1276+ "locale": "ko"
1277+ },
1278+ "lib/netstandard2.1/pl/FSharp.Core.resources.dll": {
1279+ "locale": "pl"
1280+ },
1281+ "lib/netstandard2.1/pt-BR/FSharp.Core.resources.dll": {
1282+ "locale": "pt-BR"
1283+ },
1284+ "lib/netstandard2.1/ru/FSharp.Core.resources.dll": {
1285+ "locale": "ru"
1286+ },
1287+ "lib/netstandard2.1/tr/FSharp.Core.resources.dll": {
1288+ "locale": "tr"
1289+ },
1290+ "lib/netstandard2.1/zh-Hans/FSharp.Core.resources.dll": {
1291+ "locale": "zh-Hans"
1292+ },
1293+ "lib/netstandard2.1/zh-Hant/FSharp.Core.resources.dll": {
1294+ "locale": "zh-Hant"
1295+ }
1296+ }
1297+ },
1298+ "libsodium/1.0.20.1": {
1299+ "type": "package",
1300+ "native": {
1301+ "runtimes/maccatalyst-arm64/native/libsodium.a": {}
1302+ }
1303+ },
1304+ "Microsoft.Extensions.Configuration/10.0.0": {
1305+ "type": "package",
1306+ "dependencies": {
1307+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.0",
1308+ "Microsoft.Extensions.Primitives": "10.0.0"
1309+ },
1310+ "compile": {
1311+ "lib/net10.0/Microsoft.Extensions.Configuration.dll": {
1312+ "related": ".xml"
1313+ }
1314+ },
1315+ "runtime": {
1316+ "lib/net10.0/Microsoft.Extensions.Configuration.dll": {
1317+ "related": ".xml"
1318+ }
1319+ },
1320+ "build": {
1321+ "buildTransitive/net8.0/_._": {}
1322+ }
1323+ },
1324+ "Microsoft.Extensions.Configuration.Abstractions/10.0.0": {
1325+ "type": "package",
1326+ "dependencies": {
1327+ "Microsoft.Extensions.Primitives": "10.0.0"
1328+ },
1329+ "compile": {
1330+ "lib/net10.0/Microsoft.Extensions.Configuration.Abstractions.dll": {
1331+ "related": ".xml"
1332+ }
1333+ },
1334+ "runtime": {
1335+ "lib/net10.0/Microsoft.Extensions.Configuration.Abstractions.dll": {
1336+ "related": ".xml"
1337+ }
1338+ },
1339+ "build": {
1340+ "buildTransitive/net8.0/_._": {}
1341+ }
1342+ },
1343+ "Microsoft.Extensions.DependencyInjection/10.0.0": {
1344+ "type": "package",
1345+ "dependencies": {
1346+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0"
1347+ },
1348+ "compile": {
1349+ "lib/net10.0/Microsoft.Extensions.DependencyInjection.dll": {
1350+ "related": ".xml"
1351+ }
1352+ },
1353+ "runtime": {
1354+ "lib/net10.0/Microsoft.Extensions.DependencyInjection.dll": {
1355+ "related": ".xml"
1356+ }
1357+ },
1358+ "build": {
1359+ "buildTransitive/net8.0/_._": {}
1360+ }
1361+ },
1362+ "Microsoft.Extensions.DependencyInjection.Abstractions/10.0.0": {
1363+ "type": "package",
1364+ "compile": {
1365+ "lib/net10.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {
1366+ "related": ".xml"
1367+ }
1368+ },
1369+ "runtime": {
1370+ "lib/net10.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {
1371+ "related": ".xml"
1372+ }
1373+ },
1374+ "build": {
1375+ "buildTransitive/net8.0/_._": {}
1376+ }
1377+ },
1378+ "Microsoft.Extensions.Diagnostics.Abstractions/10.0.0": {
1379+ "type": "package",
1380+ "dependencies": {
1381+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0",
1382+ "Microsoft.Extensions.Options": "10.0.0"
1383+ },
1384+ "compile": {
1385+ "lib/net10.0/Microsoft.Extensions.Diagnostics.Abstractions.dll": {
1386+ "related": ".xml"
1387+ }
1388+ },
1389+ "runtime": {
1390+ "lib/net10.0/Microsoft.Extensions.Diagnostics.Abstractions.dll": {
1391+ "related": ".xml"
1392+ }
1393+ },
1394+ "build": {
1395+ "buildTransitive/net8.0/_._": {}
1396+ }
1397+ },
1398+ "Microsoft.Extensions.FileProviders.Abstractions/10.0.0": {
1399+ "type": "package",
1400+ "dependencies": {
1401+ "Microsoft.Extensions.Primitives": "10.0.0"
1402+ },
1403+ "compile": {
1404+ "lib/net10.0/Microsoft.Extensions.FileProviders.Abstractions.dll": {
1405+ "related": ".xml"
1406+ }
1407+ },
1408+ "runtime": {
1409+ "lib/net10.0/Microsoft.Extensions.FileProviders.Abstractions.dll": {
1410+ "related": ".xml"
1411+ }
1412+ },
1413+ "build": {
1414+ "buildTransitive/net8.0/_._": {}
1415+ }
1416+ },
1417+ "Microsoft.Extensions.Hosting.Abstractions/10.0.0": {
1418+ "type": "package",
1419+ "dependencies": {
1420+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.0",
1421+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0",
1422+ "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.0",
1423+ "Microsoft.Extensions.FileProviders.Abstractions": "10.0.0",
1424+ "Microsoft.Extensions.Logging.Abstractions": "10.0.0"
1425+ },
1426+ "compile": {
1427+ "lib/net10.0/Microsoft.Extensions.Hosting.Abstractions.dll": {
1428+ "related": ".xml"
1429+ }
1430+ },
1431+ "runtime": {
1432+ "lib/net10.0/Microsoft.Extensions.Hosting.Abstractions.dll": {
1433+ "related": ".xml"
1434+ }
1435+ },
1436+ "build": {
1437+ "buildTransitive/net8.0/_._": {}
1438+ }
1439+ },
1440+ "Microsoft.Extensions.Logging/10.0.0": {
1441+ "type": "package",
1442+ "dependencies": {
1443+ "Microsoft.Extensions.DependencyInjection": "10.0.0",
1444+ "Microsoft.Extensions.Logging.Abstractions": "10.0.0",
1445+ "Microsoft.Extensions.Options": "10.0.0"
1446+ },
1447+ "compile": {
1448+ "lib/net10.0/Microsoft.Extensions.Logging.dll": {
1449+ "related": ".xml"
1450+ }
1451+ },
1452+ "runtime": {
1453+ "lib/net10.0/Microsoft.Extensions.Logging.dll": {
1454+ "related": ".xml"
1455+ }
1456+ },
1457+ "build": {
1458+ "buildTransitive/net8.0/_._": {}
1459+ }
1460+ },
1461+ "Microsoft.Extensions.Logging.Abstractions/10.0.0": {
1462+ "type": "package",
1463+ "dependencies": {
1464+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0"
1465+ },
1466+ "compile": {
1467+ "lib/net10.0/Microsoft.Extensions.Logging.Abstractions.dll": {
1468+ "related": ".xml"
1469+ }
1470+ },
1471+ "runtime": {
1472+ "lib/net10.0/Microsoft.Extensions.Logging.Abstractions.dll": {
1473+ "related": ".xml"
1474+ }
1475+ },
1476+ "build": {
1477+ "buildTransitive/net8.0/Microsoft.Extensions.Logging.Abstractions.targets": {}
1478+ }
1479+ },
1480+ "Microsoft.Extensions.Options/10.0.0": {
1481+ "type": "package",
1482+ "dependencies": {
1483+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0",
1484+ "Microsoft.Extensions.Primitives": "10.0.0"
1485+ },
1486+ "compile": {
1487+ "lib/net10.0/Microsoft.Extensions.Options.dll": {
1488+ "related": ".xml"
1489+ }
1490+ },
1491+ "runtime": {
1492+ "lib/net10.0/Microsoft.Extensions.Options.dll": {
1493+ "related": ".xml"
1494+ }
1495+ },
1496+ "build": {
1497+ "buildTransitive/net8.0/Microsoft.Extensions.Options.targets": {}
1498+ }
1499+ },
1500+ "Microsoft.Extensions.Primitives/10.0.0": {
1501+ "type": "package",
1502+ "compile": {
1503+ "lib/net10.0/Microsoft.Extensions.Primitives.dll": {
1504+ "related": ".xml"
1505+ }
1506+ },
1507+ "runtime": {
1508+ "lib/net10.0/Microsoft.Extensions.Primitives.dll": {
1509+ "related": ".xml"
1510+ }
1511+ },
1512+ "build": {
1513+ "buildTransitive/net8.0/_._": {}
1514+ }
1515+ },
1516+ "Microsoft.Maui.Controls/10.0.0": {
1517+ "type": "package",
1518+ "dependencies": {
1519+ "Microsoft.Maui.Controls.Build.Tasks": "10.0.0",
1520+ "Microsoft.Maui.Controls.Core": "10.0.0",
1521+ "Microsoft.Maui.Controls.Xaml": "10.0.0",
1522+ "Microsoft.Maui.Resizetizer": "10.0.0"
1523+ }
1524+ },
1525+ "Microsoft.Maui.Controls.Build.Tasks/10.0.0": {
1526+ "type": "package",
1527+ "dependencies": {
1528+ "Microsoft.Maui.Controls.Core": "10.0.0",
1529+ "Microsoft.Maui.Controls.Xaml": "10.0.0"
1530+ },
1531+ "build": {
1532+ "buildTransitive/net6.0-ios10.0/Microsoft.Maui.Controls.Build.Tasks.props": {},
1533+ "buildTransitive/net6.0-ios10.0/Microsoft.Maui.Controls.Build.Tasks.targets": {}
1534+ }
1535+ },
1536+ "Microsoft.Maui.Controls.Compatibility/9.0.0": {
1537+ "type": "package",
1538+ "dependencies": {
1539+ "Microsoft.Extensions.Configuration": "9.0.0",
1540+ "Microsoft.Extensions.Logging.Abstractions": "9.0.0",
1541+ "Microsoft.Maui.Controls.Core": "9.0.0",
1542+ "Microsoft.Maui.Controls.Xaml": "9.0.0"
1543+ },
1544+ "compile": {
1545+ "lib/net9.0-ios18.0/Microsoft.Maui.Controls.Compatibility.dll": {
1546+ "related": ".pdb;.xml"
1547+ }
1548+ },
1549+ "runtime": {
1550+ "lib/net9.0-ios18.0/Microsoft.Maui.Controls.Compatibility.dll": {
1551+ "related": ".pdb;.xml"
1552+ }
1553+ }
1554+ },
1555+ "Microsoft.Maui.Controls.Core/10.0.0": {
1556+ "type": "package",
1557+ "dependencies": {
1558+ "Microsoft.Extensions.Configuration": "10.0.0",
1559+ "Microsoft.Extensions.DependencyInjection": "10.0.0",
1560+ "Microsoft.Extensions.Logging": "10.0.0",
1561+ "Microsoft.Extensions.Logging.Abstractions": "10.0.0",
1562+ "Microsoft.Maui.Core": "10.0.0"
1563+ },
1564+ "compile": {
1565+ "lib/net10.0-ios26.0/Microsoft.Maui.Controls.dll": {
1566+ "related": ".pdb;.xml"
1567+ }
1568+ },
1569+ "runtime": {
1570+ "lib/net10.0-ios26.0/Microsoft.Maui.Controls.dll": {
1571+ "related": ".pdb;.xml"
1572+ }
1573+ },
1574+ "resource": {
1575+ "lib/net10.0-ios26.0/ar/Microsoft.Maui.Controls.resources.dll": {
1576+ "locale": "ar"
1577+ },
1578+ "lib/net10.0-ios26.0/ca/Microsoft.Maui.Controls.resources.dll": {
1579+ "locale": "ca"
1580+ },
1581+ "lib/net10.0-ios26.0/cs/Microsoft.Maui.Controls.resources.dll": {
1582+ "locale": "cs"
1583+ },
1584+ "lib/net10.0-ios26.0/da/Microsoft.Maui.Controls.resources.dll": {
1585+ "locale": "da"
1586+ },
1587+ "lib/net10.0-ios26.0/de/Microsoft.Maui.Controls.resources.dll": {
1588+ "locale": "de"
1589+ },
1590+ "lib/net10.0-ios26.0/el/Microsoft.Maui.Controls.resources.dll": {
1591+ "locale": "el"
1592+ },
1593+ "lib/net10.0-ios26.0/es/Microsoft.Maui.Controls.resources.dll": {
1594+ "locale": "es"
1595+ },
1596+ "lib/net10.0-ios26.0/fi/Microsoft.Maui.Controls.resources.dll": {
1597+ "locale": "fi"
1598+ },
1599+ "lib/net10.0-ios26.0/fr/Microsoft.Maui.Controls.resources.dll": {
1600+ "locale": "fr"
1601+ },
1602+ "lib/net10.0-ios26.0/he/Microsoft.Maui.Controls.resources.dll": {
1603+ "locale": "he"
1604+ },
1605+ "lib/net10.0-ios26.0/hi/Microsoft.Maui.Controls.resources.dll": {
1606+ "locale": "hi"
1607+ },
1608+ "lib/net10.0-ios26.0/hr/Microsoft.Maui.Controls.resources.dll": {
1609+ "locale": "hr"
1610+ },
1611+ "lib/net10.0-ios26.0/hu/Microsoft.Maui.Controls.resources.dll": {
1612+ "locale": "hu"
1613+ },
1614+ "lib/net10.0-ios26.0/id/Microsoft.Maui.Controls.resources.dll": {
1615+ "locale": "id"
1616+ },
1617+ "lib/net10.0-ios26.0/it/Microsoft.Maui.Controls.resources.dll": {
1618+ "locale": "it"
1619+ },
1620+ "lib/net10.0-ios26.0/ja/Microsoft.Maui.Controls.resources.dll": {
1621+ "locale": "ja"
1622+ },
1623+ "lib/net10.0-ios26.0/ko/Microsoft.Maui.Controls.resources.dll": {
1624+ "locale": "ko"
1625+ },
1626+ "lib/net10.0-ios26.0/ms/Microsoft.Maui.Controls.resources.dll": {
1627+ "locale": "ms"
1628+ },
1629+ "lib/net10.0-ios26.0/nb/Microsoft.Maui.Controls.resources.dll": {
1630+ "locale": "nb"
1631+ },
1632+ "lib/net10.0-ios26.0/nl/Microsoft.Maui.Controls.resources.dll": {
1633+ "locale": "nl"
1634+ },
1635+ "lib/net10.0-ios26.0/pl/Microsoft.Maui.Controls.resources.dll": {
1636+ "locale": "pl"
1637+ },
1638+ "lib/net10.0-ios26.0/pt-BR/Microsoft.Maui.Controls.resources.dll": {
1639+ "locale": "pt-BR"
1640+ },
1641+ "lib/net10.0-ios26.0/pt/Microsoft.Maui.Controls.resources.dll": {
1642+ "locale": "pt"
1643+ },
1644+ "lib/net10.0-ios26.0/ro/Microsoft.Maui.Controls.resources.dll": {
1645+ "locale": "ro"
1646+ },
1647+ "lib/net10.0-ios26.0/ru/Microsoft.Maui.Controls.resources.dll": {
1648+ "locale": "ru"
1649+ },
1650+ "lib/net10.0-ios26.0/sk/Microsoft.Maui.Controls.resources.dll": {
1651+ "locale": "sk"
1652+ },
1653+ "lib/net10.0-ios26.0/sv/Microsoft.Maui.Controls.resources.dll": {
1654+ "locale": "sv"
1655+ },
1656+ "lib/net10.0-ios26.0/th/Microsoft.Maui.Controls.resources.dll": {
1657+ "locale": "th"
1658+ },
1659+ "lib/net10.0-ios26.0/tr/Microsoft.Maui.Controls.resources.dll": {
1660+ "locale": "tr"
1661+ },
1662+ "lib/net10.0-ios26.0/uk/Microsoft.Maui.Controls.resources.dll": {
1663+ "locale": "uk"
1664+ },
1665+ "lib/net10.0-ios26.0/vi/Microsoft.Maui.Controls.resources.dll": {
1666+ "locale": "vi"
1667+ },
1668+ "lib/net10.0-ios26.0/zh-HK/Microsoft.Maui.Controls.resources.dll": {
1669+ "locale": "zh-HK"
1670+ },
1671+ "lib/net10.0-ios26.0/zh-Hans/Microsoft.Maui.Controls.resources.dll": {
1672+ "locale": "zh-Hans"
1673+ },
1674+ "lib/net10.0-ios26.0/zh-Hant/Microsoft.Maui.Controls.resources.dll": {
1675+ "locale": "zh-Hant"
1676+ }
1677+ }
1678+ },
1679+ "Microsoft.Maui.Controls.Xaml/10.0.0": {
1680+ "type": "package",
1681+ "dependencies": {
1682+ "Microsoft.Extensions.Configuration": "10.0.0",
1683+ "Microsoft.Maui.Controls.Core": "10.0.0",
1684+ "Microsoft.Maui.Core": "10.0.0"
1685+ },
1686+ "compile": {
1687+ "lib/net10.0-ios26.0/Microsoft.Maui.Controls.Xaml.dll": {
1688+ "related": ".pdb;.xml"
1689+ }
1690+ },
1691+ "runtime": {
1692+ "lib/net10.0-ios26.0/Microsoft.Maui.Controls.Xaml.dll": {
1693+ "related": ".pdb;.xml"
1694+ }
1695+ }
1696+ },
1697+ "Microsoft.Maui.Core/10.0.0": {
1698+ "type": "package",
1699+ "dependencies": {
1700+ "Microsoft.Extensions.Configuration": "10.0.0",
1701+ "Microsoft.Extensions.DependencyInjection": "10.0.0",
1702+ "Microsoft.Extensions.Hosting.Abstractions": "10.0.0",
1703+ "Microsoft.Extensions.Logging": "10.0.0",
1704+ "Microsoft.Extensions.Logging.Abstractions": "10.0.0",
1705+ "Microsoft.Maui.Essentials": "10.0.0",
1706+ "Microsoft.Maui.Graphics": "10.0.0"
1707+ },
1708+ "compile": {
1709+ "lib/net10.0-ios26.0/Microsoft.Maui.dll": {
1710+ "related": ".pdb;.xml"
1711+ }
1712+ },
1713+ "runtime": {
1714+ "lib/net10.0-ios26.0/Microsoft.Maui.dll": {
1715+ "related": ".pdb;.xml"
1716+ }
1717+ },
1718+ "build": {
1719+ "buildTransitive/Microsoft.Maui.Core.props": {},
1720+ "buildTransitive/Microsoft.Maui.Core.targets": {}
1721+ }
1722+ },
1723+ "Microsoft.Maui.Essentials/10.0.0": {
1724+ "type": "package",
1725+ "dependencies": {
1726+ "Microsoft.Maui.Graphics": "10.0.0"
1727+ },
1728+ "compile": {
1729+ "lib/net10.0-ios26.0/Microsoft.Maui.Essentials.dll": {
1730+ "related": ".pdb;.xml"
1731+ }
1732+ },
1733+ "runtime": {
1734+ "lib/net10.0-ios26.0/Microsoft.Maui.Essentials.dll": {
1735+ "related": ".pdb;.xml"
1736+ }
1737+ }
1738+ },
1739+ "Microsoft.Maui.Graphics/10.0.0": {
1740+ "type": "package",
1741+ "compile": {
1742+ "lib/net10.0-ios26.0/Microsoft.Maui.Graphics.dll": {
1743+ "related": ".pdb;.xml"
1744+ }
1745+ },
1746+ "runtime": {
1747+ "lib/net10.0-ios26.0/Microsoft.Maui.Graphics.dll": {
1748+ "related": ".pdb;.xml"
1749+ }
1750+ }
1751+ },
1752+ "Microsoft.Maui.Resizetizer/10.0.0": {
1753+ "type": "package",
1754+ "build": {
1755+ "buildTransitive/Microsoft.Maui.Resizetizer.props": {},
1756+ "buildTransitive/Microsoft.Maui.Resizetizer.targets": {}
1757+ }
1758+ },
1759+ "Microsoft.NET.ILLink.Tasks/10.0.5": {
1760+ "type": "package",
1761+ "build": {
1762+ "build/Microsoft.NET.ILLink.Tasks.props": {}
1763+ }
1764+ },
1765+ "Sodium.Core/1.4.0": {
1766+ "type": "package",
1767+ "dependencies": {
1768+ "libsodium": "[1.0.20.1, 1.0.21)"
1769+ },
1770+ "compile": {
1771+ "lib/net8.0-ios18.0/Sodium.Core.dll": {
1772+ "related": ".xml"
1773+ }
1774+ },
1775+ "runtime": {
1776+ "lib/net8.0-ios18.0/Sodium.Core.dll": {
1777+ "related": ".xml"
1778+ }
1779+ }
1780+ }
1781+ },
1209 "net10.0-maccatalyst26.2": {
1782 "net10.0-maccatalyst26.2": {
1210 "Fabulous/3.0.0-pre23": {
1783 "Fabulous/3.0.0-pre23": {
1211 "type": "package",
1784 "type": "package",
@@ -1297,67 +1870,640 @@
1297 },
1870 },
1298 "libsodium/1.0.20.1": {
1871 "libsodium/1.0.20.1": {
1299 "type": "package",
1872 "type": "package",
1300− "runtimeTargets": {
1873+ "runtimeTargets": {
1301− "runtimes/ios-arm64/native/libsodium.a": {
1874+ "runtimes/ios-arm64/native/libsodium.a": {
1302− "assetType": "native",
1875+ "assetType": "native",
1303− "rid": "ios-arm64"
1876+ "rid": "ios-arm64"
1304− },
1877+ },
1305− "runtimes/linux-arm/native/libsodium.so": {
1878+ "runtimes/linux-arm/native/libsodium.so": {
1306− "assetType": "native",
1879+ "assetType": "native",
1307− "rid": "linux-arm"
1880+ "rid": "linux-arm"
1308− },
1881+ },
1309− "runtimes/linux-arm64/native/libsodium.so": {
1882+ "runtimes/linux-arm64/native/libsodium.so": {
1310− "assetType": "native",
1883+ "assetType": "native",
1311− "rid": "linux-arm64"
1884+ "rid": "linux-arm64"
1312− },
1885+ },
1313− "runtimes/linux-musl-arm/native/libsodium.so": {
1886+ "runtimes/linux-musl-arm/native/libsodium.so": {
1314− "assetType": "native",
1887+ "assetType": "native",
1315− "rid": "linux-musl-arm"
1888+ "rid": "linux-musl-arm"
1316− },
1889+ },
1317− "runtimes/linux-musl-arm64/native/libsodium.so": {
1890+ "runtimes/linux-musl-arm64/native/libsodium.so": {
1318− "assetType": "native",
1891+ "assetType": "native",
1319− "rid": "linux-musl-arm64"
1892+ "rid": "linux-musl-arm64"
1320− },
1893+ },
1321− "runtimes/linux-musl-x64/native/libsodium.so": {
1894+ "runtimes/linux-musl-x64/native/libsodium.so": {
1322− "assetType": "native",
1895+ "assetType": "native",
1323− "rid": "linux-musl-x64"
1896+ "rid": "linux-musl-x64"
1324− },
1897+ },
1325− "runtimes/linux-x64/native/libsodium.so": {
1898+ "runtimes/linux-x64/native/libsodium.so": {
1326− "assetType": "native",
1899+ "assetType": "native",
1327− "rid": "linux-x64"
1900+ "rid": "linux-x64"
1328− },
1901+ },
1329− "runtimes/maccatalyst-arm64/native/libsodium.a": {
1902+ "runtimes/maccatalyst-arm64/native/libsodium.a": {
1330− "assetType": "native",
1903+ "assetType": "native",
1331− "rid": "maccatalyst-arm64"
1904+ "rid": "maccatalyst-arm64"
1332− },
1905+ },
1333− "runtimes/maccatalyst-x64/native/libsodium.a": {
1906+ "runtimes/maccatalyst-x64/native/libsodium.a": {
1334− "assetType": "native",
1907+ "assetType": "native",
1335− "rid": "maccatalyst-x64"
1908+ "rid": "maccatalyst-x64"
1336− },
1909+ },
1337− "runtimes/osx-arm64/native/libsodium.dylib": {
1910+ "runtimes/osx-arm64/native/libsodium.dylib": {
1338− "assetType": "native",
1911+ "assetType": "native",
1339− "rid": "osx-arm64"
1912+ "rid": "osx-arm64"
1340− },
1913+ },
1341− "runtimes/osx-x64/native/libsodium.dylib": {
1914+ "runtimes/osx-x64/native/libsodium.dylib": {
1342− "assetType": "native",
1915+ "assetType": "native",
1343− "rid": "osx-x64"
1916+ "rid": "osx-x64"
1344− },
1917+ },
1345− "runtimes/tvos-arm64/native/libsodium.a": {
1918+ "runtimes/tvos-arm64/native/libsodium.a": {
1346− "assetType": "native",
1919+ "assetType": "native",
1347− "rid": "tvos-arm64"
1920+ "rid": "tvos-arm64"
1348− },
1921+ },
1349− "runtimes/win-arm64/native/libsodium.dll": {
1922+ "runtimes/win-arm64/native/libsodium.dll": {
1350− "assetType": "native",
1923+ "assetType": "native",
1351− "rid": "win-arm64"
1924+ "rid": "win-arm64"
1352− },
1925+ },
1353− "runtimes/win-x64/native/libsodium.dll": {
1926+ "runtimes/win-x64/native/libsodium.dll": {
1354− "assetType": "native",
1927+ "assetType": "native",
1355− "rid": "win-x64"
1928+ "rid": "win-x64"
1356− },
1929+ },
1357− "runtimes/win-x86/native/libsodium.dll": {
1930+ "runtimes/win-x86/native/libsodium.dll": {
1358− "assetType": "native",
1931+ "assetType": "native",
1359− "rid": "win-x86"
1932+ "rid": "win-x86"
1360− }
1933+ }
1934+ }
1935+ },
1936+ "Microsoft.Extensions.Configuration/10.0.0": {
1937+ "type": "package",
1938+ "dependencies": {
1939+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.0",
1940+ "Microsoft.Extensions.Primitives": "10.0.0"
1941+ },
1942+ "compile": {
1943+ "lib/net10.0/Microsoft.Extensions.Configuration.dll": {
1944+ "related": ".xml"
1945+ }
1946+ },
1947+ "runtime": {
1948+ "lib/net10.0/Microsoft.Extensions.Configuration.dll": {
1949+ "related": ".xml"
1950+ }
1951+ },
1952+ "build": {
1953+ "buildTransitive/net8.0/_._": {}
1954+ }
1955+ },
1956+ "Microsoft.Extensions.Configuration.Abstractions/10.0.0": {
1957+ "type": "package",
1958+ "dependencies": {
1959+ "Microsoft.Extensions.Primitives": "10.0.0"
1960+ },
1961+ "compile": {
1962+ "lib/net10.0/Microsoft.Extensions.Configuration.Abstractions.dll": {
1963+ "related": ".xml"
1964+ }
1965+ },
1966+ "runtime": {
1967+ "lib/net10.0/Microsoft.Extensions.Configuration.Abstractions.dll": {
1968+ "related": ".xml"
1969+ }
1970+ },
1971+ "build": {
1972+ "buildTransitive/net8.0/_._": {}
1973+ }
1974+ },
1975+ "Microsoft.Extensions.DependencyInjection/10.0.0": {
1976+ "type": "package",
1977+ "dependencies": {
1978+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0"
1979+ },
1980+ "compile": {
1981+ "lib/net10.0/Microsoft.Extensions.DependencyInjection.dll": {
1982+ "related": ".xml"
1983+ }
1984+ },
1985+ "runtime": {
1986+ "lib/net10.0/Microsoft.Extensions.DependencyInjection.dll": {
1987+ "related": ".xml"
1988+ }
1989+ },
1990+ "build": {
1991+ "buildTransitive/net8.0/_._": {}
1992+ }
1993+ },
1994+ "Microsoft.Extensions.DependencyInjection.Abstractions/10.0.0": {
1995+ "type": "package",
1996+ "compile": {
1997+ "lib/net10.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {
1998+ "related": ".xml"
1999+ }
2000+ },
2001+ "runtime": {
2002+ "lib/net10.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {
2003+ "related": ".xml"
2004+ }
2005+ },
2006+ "build": {
2007+ "buildTransitive/net8.0/_._": {}
2008+ }
2009+ },
2010+ "Microsoft.Extensions.Diagnostics.Abstractions/10.0.0": {
2011+ "type": "package",
2012+ "dependencies": {
2013+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0",
2014+ "Microsoft.Extensions.Options": "10.0.0"
2015+ },
2016+ "compile": {
2017+ "lib/net10.0/Microsoft.Extensions.Diagnostics.Abstractions.dll": {
2018+ "related": ".xml"
2019+ }
2020+ },
2021+ "runtime": {
2022+ "lib/net10.0/Microsoft.Extensions.Diagnostics.Abstractions.dll": {
2023+ "related": ".xml"
2024+ }
2025+ },
2026+ "build": {
2027+ "buildTransitive/net8.0/_._": {}
2028+ }
2029+ },
2030+ "Microsoft.Extensions.FileProviders.Abstractions/10.0.0": {
2031+ "type": "package",
2032+ "dependencies": {
2033+ "Microsoft.Extensions.Primitives": "10.0.0"
2034+ },
2035+ "compile": {
2036+ "lib/net10.0/Microsoft.Extensions.FileProviders.Abstractions.dll": {
2037+ "related": ".xml"
2038+ }
2039+ },
2040+ "runtime": {
2041+ "lib/net10.0/Microsoft.Extensions.FileProviders.Abstractions.dll": {
2042+ "related": ".xml"
2043+ }
2044+ },
2045+ "build": {
2046+ "buildTransitive/net8.0/_._": {}
2047+ }
2048+ },
2049+ "Microsoft.Extensions.Hosting.Abstractions/10.0.0": {
2050+ "type": "package",
2051+ "dependencies": {
2052+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.0",
2053+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0",
2054+ "Microsoft.Extensions.Diagnostics.Abstractions": "10.0.0",
2055+ "Microsoft.Extensions.FileProviders.Abstractions": "10.0.0",
2056+ "Microsoft.Extensions.Logging.Abstractions": "10.0.0"
2057+ },
2058+ "compile": {
2059+ "lib/net10.0/Microsoft.Extensions.Hosting.Abstractions.dll": {
2060+ "related": ".xml"
2061+ }
2062+ },
2063+ "runtime": {
2064+ "lib/net10.0/Microsoft.Extensions.Hosting.Abstractions.dll": {
2065+ "related": ".xml"
2066+ }
2067+ },
2068+ "build": {
2069+ "buildTransitive/net8.0/_._": {}
2070+ }
2071+ },
2072+ "Microsoft.Extensions.Logging/10.0.0": {
2073+ "type": "package",
2074+ "dependencies": {
2075+ "Microsoft.Extensions.DependencyInjection": "10.0.0",
2076+ "Microsoft.Extensions.Logging.Abstractions": "10.0.0",
2077+ "Microsoft.Extensions.Options": "10.0.0"
2078+ },
2079+ "compile": {
2080+ "lib/net10.0/Microsoft.Extensions.Logging.dll": {
2081+ "related": ".xml"
2082+ }
2083+ },
2084+ "runtime": {
2085+ "lib/net10.0/Microsoft.Extensions.Logging.dll": {
2086+ "related": ".xml"
2087+ }
2088+ },
2089+ "build": {
2090+ "buildTransitive/net8.0/_._": {}
2091+ }
2092+ },
2093+ "Microsoft.Extensions.Logging.Abstractions/10.0.0": {
2094+ "type": "package",
2095+ "dependencies": {
2096+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0"
2097+ },
2098+ "compile": {
2099+ "lib/net10.0/Microsoft.Extensions.Logging.Abstractions.dll": {
2100+ "related": ".xml"
2101+ }
2102+ },
2103+ "runtime": {
2104+ "lib/net10.0/Microsoft.Extensions.Logging.Abstractions.dll": {
2105+ "related": ".xml"
2106+ }
2107+ },
2108+ "build": {
2109+ "buildTransitive/net8.0/Microsoft.Extensions.Logging.Abstractions.targets": {}
2110+ }
2111+ },
2112+ "Microsoft.Extensions.Options/10.0.0": {
2113+ "type": "package",
2114+ "dependencies": {
2115+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.0",
2116+ "Microsoft.Extensions.Primitives": "10.0.0"
2117+ },
2118+ "compile": {
2119+ "lib/net10.0/Microsoft.Extensions.Options.dll": {
2120+ "related": ".xml"
2121+ }
2122+ },
2123+ "runtime": {
2124+ "lib/net10.0/Microsoft.Extensions.Options.dll": {
2125+ "related": ".xml"
2126+ }
2127+ },
2128+ "build": {
2129+ "buildTransitive/net8.0/Microsoft.Extensions.Options.targets": {}
2130+ }
2131+ },
2132+ "Microsoft.Extensions.Primitives/10.0.0": {
2133+ "type": "package",
2134+ "compile": {
2135+ "lib/net10.0/Microsoft.Extensions.Primitives.dll": {
2136+ "related": ".xml"
2137+ }
2138+ },
2139+ "runtime": {
2140+ "lib/net10.0/Microsoft.Extensions.Primitives.dll": {
2141+ "related": ".xml"
2142+ }
2143+ },
2144+ "build": {
2145+ "buildTransitive/net8.0/_._": {}
2146+ }
2147+ },
2148+ "Microsoft.Maui.Controls/10.0.0": {
2149+ "type": "package",
2150+ "dependencies": {
2151+ "Microsoft.Maui.Controls.Build.Tasks": "10.0.0",
2152+ "Microsoft.Maui.Controls.Core": "10.0.0",
2153+ "Microsoft.Maui.Controls.Xaml": "10.0.0",
2154+ "Microsoft.Maui.Resizetizer": "10.0.0"
2155+ }
2156+ },
2157+ "Microsoft.Maui.Controls.Build.Tasks/10.0.0": {
2158+ "type": "package",
2159+ "dependencies": {
2160+ "Microsoft.Maui.Controls.Core": "10.0.0",
2161+ "Microsoft.Maui.Controls.Xaml": "10.0.0"
2162+ },
2163+ "build": {
2164+ "buildTransitive/net6.0-maccatalyst13.1/Microsoft.Maui.Controls.Build.Tasks.props": {},
2165+ "buildTransitive/net6.0-maccatalyst13.1/Microsoft.Maui.Controls.Build.Tasks.targets": {}
2166+ }
2167+ },
2168+ "Microsoft.Maui.Controls.Compatibility/9.0.0": {
2169+ "type": "package",
2170+ "dependencies": {
2171+ "Microsoft.Extensions.Configuration": "9.0.0",
2172+ "Microsoft.Extensions.Logging.Abstractions": "9.0.0",
2173+ "Microsoft.Maui.Controls.Core": "9.0.0",
2174+ "Microsoft.Maui.Controls.Xaml": "9.0.0"
2175+ },
2176+ "compile": {
2177+ "lib/net9.0-maccatalyst18.0/Microsoft.Maui.Controls.Compatibility.dll": {
2178+ "related": ".pdb;.xml"
2179+ }
2180+ },
2181+ "runtime": {
2182+ "lib/net9.0-maccatalyst18.0/Microsoft.Maui.Controls.Compatibility.dll": {
2183+ "related": ".pdb;.xml"
2184+ }
2185+ }
2186+ },
2187+ "Microsoft.Maui.Controls.Core/10.0.0": {
2188+ "type": "package",
2189+ "dependencies": {
2190+ "Microsoft.Extensions.Configuration": "10.0.0",
2191+ "Microsoft.Extensions.DependencyInjection": "10.0.0",
2192+ "Microsoft.Extensions.Logging": "10.0.0",
2193+ "Microsoft.Extensions.Logging.Abstractions": "10.0.0",
2194+ "Microsoft.Maui.Core": "10.0.0"
2195+ },
2196+ "compile": {
2197+ "lib/net10.0-maccatalyst26.0/Microsoft.Maui.Controls.dll": {
2198+ "related": ".pdb;.xml"
2199+ }
2200+ },
2201+ "runtime": {
2202+ "lib/net10.0-maccatalyst26.0/Microsoft.Maui.Controls.dll": {
2203+ "related": ".pdb;.xml"
2204+ }
2205+ },
2206+ "resource": {
2207+ "lib/net10.0-maccatalyst26.0/ar/Microsoft.Maui.Controls.resources.dll": {
2208+ "locale": "ar"
2209+ },
2210+ "lib/net10.0-maccatalyst26.0/ca/Microsoft.Maui.Controls.resources.dll": {
2211+ "locale": "ca"
2212+ },
2213+ "lib/net10.0-maccatalyst26.0/cs/Microsoft.Maui.Controls.resources.dll": {
2214+ "locale": "cs"
2215+ },
2216+ "lib/net10.0-maccatalyst26.0/da/Microsoft.Maui.Controls.resources.dll": {
2217+ "locale": "da"
2218+ },
2219+ "lib/net10.0-maccatalyst26.0/de/Microsoft.Maui.Controls.resources.dll": {
2220+ "locale": "de"
2221+ },
2222+ "lib/net10.0-maccatalyst26.0/el/Microsoft.Maui.Controls.resources.dll": {
2223+ "locale": "el"
2224+ },
2225+ "lib/net10.0-maccatalyst26.0/es/Microsoft.Maui.Controls.resources.dll": {
2226+ "locale": "es"
2227+ },
2228+ "lib/net10.0-maccatalyst26.0/fi/Microsoft.Maui.Controls.resources.dll": {
2229+ "locale": "fi"
2230+ },
2231+ "lib/net10.0-maccatalyst26.0/fr/Microsoft.Maui.Controls.resources.dll": {
2232+ "locale": "fr"
2233+ },
2234+ "lib/net10.0-maccatalyst26.0/he/Microsoft.Maui.Controls.resources.dll": {
2235+ "locale": "he"
2236+ },
2237+ "lib/net10.0-maccatalyst26.0/hi/Microsoft.Maui.Controls.resources.dll": {
2238+ "locale": "hi"
2239+ },
2240+ "lib/net10.0-maccatalyst26.0/hr/Microsoft.Maui.Controls.resources.dll": {
2241+ "locale": "hr"
2242+ },
2243+ "lib/net10.0-maccatalyst26.0/hu/Microsoft.Maui.Controls.resources.dll": {
2244+ "locale": "hu"
2245+ },
2246+ "lib/net10.0-maccatalyst26.0/id/Microsoft.Maui.Controls.resources.dll": {
2247+ "locale": "id"
2248+ },
2249+ "lib/net10.0-maccatalyst26.0/it/Microsoft.Maui.Controls.resources.dll": {
2250+ "locale": "it"
2251+ },
2252+ "lib/net10.0-maccatalyst26.0/ja/Microsoft.Maui.Controls.resources.dll": {
2253+ "locale": "ja"
2254+ },
2255+ "lib/net10.0-maccatalyst26.0/ko/Microsoft.Maui.Controls.resources.dll": {
2256+ "locale": "ko"
2257+ },
2258+ "lib/net10.0-maccatalyst26.0/ms/Microsoft.Maui.Controls.resources.dll": {
2259+ "locale": "ms"
2260+ },
2261+ "lib/net10.0-maccatalyst26.0/nb/Microsoft.Maui.Controls.resources.dll": {
2262+ "locale": "nb"
2263+ },
2264+ "lib/net10.0-maccatalyst26.0/nl/Microsoft.Maui.Controls.resources.dll": {
2265+ "locale": "nl"
2266+ },
2267+ "lib/net10.0-maccatalyst26.0/pl/Microsoft.Maui.Controls.resources.dll": {
2268+ "locale": "pl"
2269+ },
2270+ "lib/net10.0-maccatalyst26.0/pt-BR/Microsoft.Maui.Controls.resources.dll": {
2271+ "locale": "pt-BR"
2272+ },
2273+ "lib/net10.0-maccatalyst26.0/pt/Microsoft.Maui.Controls.resources.dll": {
2274+ "locale": "pt"
2275+ },
2276+ "lib/net10.0-maccatalyst26.0/ro/Microsoft.Maui.Controls.resources.dll": {
2277+ "locale": "ro"
2278+ },
2279+ "lib/net10.0-maccatalyst26.0/ru/Microsoft.Maui.Controls.resources.dll": {
2280+ "locale": "ru"
2281+ },
2282+ "lib/net10.0-maccatalyst26.0/sk/Microsoft.Maui.Controls.resources.dll": {
2283+ "locale": "sk"
2284+ },
2285+ "lib/net10.0-maccatalyst26.0/sv/Microsoft.Maui.Controls.resources.dll": {
2286+ "locale": "sv"
2287+ },
2288+ "lib/net10.0-maccatalyst26.0/th/Microsoft.Maui.Controls.resources.dll": {
2289+ "locale": "th"
2290+ },
2291+ "lib/net10.0-maccatalyst26.0/tr/Microsoft.Maui.Controls.resources.dll": {
2292+ "locale": "tr"
2293+ },
2294+ "lib/net10.0-maccatalyst26.0/uk/Microsoft.Maui.Controls.resources.dll": {
2295+ "locale": "uk"
2296+ },
2297+ "lib/net10.0-maccatalyst26.0/vi/Microsoft.Maui.Controls.resources.dll": {
2298+ "locale": "vi"
2299+ },
2300+ "lib/net10.0-maccatalyst26.0/zh-HK/Microsoft.Maui.Controls.resources.dll": {
2301+ "locale": "zh-HK"
2302+ },
2303+ "lib/net10.0-maccatalyst26.0/zh-Hans/Microsoft.Maui.Controls.resources.dll": {
2304+ "locale": "zh-Hans"
2305+ },
2306+ "lib/net10.0-maccatalyst26.0/zh-Hant/Microsoft.Maui.Controls.resources.dll": {
2307+ "locale": "zh-Hant"
2308+ }
2309+ }
2310+ },
2311+ "Microsoft.Maui.Controls.Xaml/10.0.0": {
2312+ "type": "package",
2313+ "dependencies": {
2314+ "Microsoft.Extensions.Configuration": "10.0.0",
2315+ "Microsoft.Maui.Controls.Core": "10.0.0",
2316+ "Microsoft.Maui.Core": "10.0.0"
2317+ },
2318+ "compile": {
2319+ "lib/net10.0-maccatalyst26.0/Microsoft.Maui.Controls.Xaml.dll": {
2320+ "related": ".pdb;.xml"
2321+ }
2322+ },
2323+ "runtime": {
2324+ "lib/net10.0-maccatalyst26.0/Microsoft.Maui.Controls.Xaml.dll": {
2325+ "related": ".pdb;.xml"
2326+ }
2327+ }
2328+ },
2329+ "Microsoft.Maui.Core/10.0.0": {
2330+ "type": "package",
2331+ "dependencies": {
2332+ "Microsoft.Extensions.Configuration": "10.0.0",
2333+ "Microsoft.Extensions.DependencyInjection": "10.0.0",
2334+ "Microsoft.Extensions.Hosting.Abstractions": "10.0.0",
2335+ "Microsoft.Extensions.Logging": "10.0.0",
2336+ "Microsoft.Extensions.Logging.Abstractions": "10.0.0",
2337+ "Microsoft.Maui.Essentials": "10.0.0",
2338+ "Microsoft.Maui.Graphics": "10.0.0"
2339+ },
2340+ "compile": {
2341+ "lib/net10.0-maccatalyst26.0/Microsoft.Maui.dll": {
2342+ "related": ".pdb;.xml"
2343+ }
2344+ },
2345+ "runtime": {
2346+ "lib/net10.0-maccatalyst26.0/Microsoft.Maui.dll": {
2347+ "related": ".pdb;.xml"
2348+ }
2349+ },
2350+ "build": {
2351+ "buildTransitive/Microsoft.Maui.Core.props": {},
2352+ "buildTransitive/Microsoft.Maui.Core.targets": {}
2353+ }
2354+ },
2355+ "Microsoft.Maui.Essentials/10.0.0": {
2356+ "type": "package",
2357+ "dependencies": {
2358+ "Microsoft.Maui.Graphics": "10.0.0"
2359+ },
2360+ "compile": {
2361+ "lib/net10.0-maccatalyst26.0/Microsoft.Maui.Essentials.dll": {
2362+ "related": ".pdb;.xml"
2363+ }
2364+ },
2365+ "runtime": {
2366+ "lib/net10.0-maccatalyst26.0/Microsoft.Maui.Essentials.dll": {
2367+ "related": ".pdb;.xml"
2368+ }
2369+ }
2370+ },
2371+ "Microsoft.Maui.Graphics/10.0.0": {
2372+ "type": "package",
2373+ "compile": {
2374+ "lib/net10.0-maccatalyst26.0/Microsoft.Maui.Graphics.dll": {
2375+ "related": ".pdb;.xml"
2376+ }
2377+ },
2378+ "runtime": {
2379+ "lib/net10.0-maccatalyst26.0/Microsoft.Maui.Graphics.dll": {
2380+ "related": ".pdb;.xml"
2381+ }
2382+ }
2383+ },
2384+ "Microsoft.Maui.Resizetizer/10.0.0": {
2385+ "type": "package",
2386+ "build": {
2387+ "buildTransitive/Microsoft.Maui.Resizetizer.props": {},
2388+ "buildTransitive/Microsoft.Maui.Resizetizer.targets": {}
2389+ }
2390+ },
2391+ "Microsoft.NET.ILLink.Tasks/10.0.5": {
2392+ "type": "package",
2393+ "build": {
2394+ "build/Microsoft.NET.ILLink.Tasks.props": {}
2395+ }
2396+ },
2397+ "Sodium.Core/1.4.0": {
2398+ "type": "package",
2399+ "dependencies": {
2400+ "libsodium": "[1.0.20.1, 1.0.21)"
2401+ },
2402+ "compile": {
2403+ "lib/net8.0-maccatalyst18.0/Sodium.Core.dll": {
2404+ "related": ".xml"
2405+ }
2406+ },
2407+ "runtime": {
2408+ "lib/net8.0-maccatalyst18.0/Sodium.Core.dll": {
2409+ "related": ".xml"
2410+ }
2411+ }
2412+ }
2413+ },
2414+ "net10.0-maccatalyst26.2/iossimulator-arm64": {
2415+ "Fabulous/3.0.0-pre23": {
2416+ "type": "package",
2417+ "dependencies": {
2418+ "FSharp.Core": "8.0.300"
2419+ },
2420+ "compile": {
2421+ "lib/net8.0/Fabulous.dll": {
2422+ "related": ".xml"
2423+ }
2424+ },
2425+ "runtime": {
2426+ "lib/net8.0/Fabulous.dll": {
2427+ "related": ".xml"
2428+ }
2429+ }
2430+ },
2431+ "Fabulous.MauiControls/9.0.0-pre9": {
2432+ "type": "package",
2433+ "dependencies": {
2434+ "Fabulous": "3.0.0-pre23",
2435+ "Microsoft.Maui.Controls": "9.0.0",
2436+ "Microsoft.Maui.Controls.Compatibility": "9.0.0"
2437+ },
2438+ "compile": {
2439+ "lib/net9.0/Fabulous.MauiControls.dll": {
2440+ "related": ".xml"
2441+ }
2442+ },
2443+ "runtime": {
2444+ "lib/net9.0/Fabulous.MauiControls.dll": {
2445+ "related": ".xml"
2446+ }
2447+ }
2448+ },
2449+ "FSharp.Core/9.0.100": {
2450+ "type": "package",
2451+ "compile": {
2452+ "lib/netstandard2.1/FSharp.Core.dll": {
2453+ "related": ".xml"
2454+ }
2455+ },
2456+ "runtime": {
2457+ "lib/netstandard2.1/FSharp.Core.dll": {
2458+ "related": ".xml"
2459+ }
2460+ },
2461+ "resource": {
2462+ "lib/netstandard2.1/cs/FSharp.Core.resources.dll": {
2463+ "locale": "cs"
2464+ },
2465+ "lib/netstandard2.1/de/FSharp.Core.resources.dll": {
2466+ "locale": "de"
2467+ },
2468+ "lib/netstandard2.1/es/FSharp.Core.resources.dll": {
2469+ "locale": "es"
2470+ },
2471+ "lib/netstandard2.1/fr/FSharp.Core.resources.dll": {
2472+ "locale": "fr"
2473+ },
2474+ "lib/netstandard2.1/it/FSharp.Core.resources.dll": {
2475+ "locale": "it"
2476+ },
2477+ "lib/netstandard2.1/ja/FSharp.Core.resources.dll": {
2478+ "locale": "ja"
2479+ },
2480+ "lib/netstandard2.1/ko/FSharp.Core.resources.dll": {
2481+ "locale": "ko"
2482+ },
2483+ "lib/netstandard2.1/pl/FSharp.Core.resources.dll": {
2484+ "locale": "pl"
2485+ },
2486+ "lib/netstandard2.1/pt-BR/FSharp.Core.resources.dll": {
2487+ "locale": "pt-BR"
2488+ },
2489+ "lib/netstandard2.1/ru/FSharp.Core.resources.dll": {
2490+ "locale": "ru"
2491+ },
2492+ "lib/netstandard2.1/tr/FSharp.Core.resources.dll": {
2493+ "locale": "tr"
2494+ },
2495+ "lib/netstandard2.1/zh-Hans/FSharp.Core.resources.dll": {
2496+ "locale": "zh-Hans"
2497+ },
2498+ "lib/netstandard2.1/zh-Hant/FSharp.Core.resources.dll": {
2499+ "locale": "zh-Hant"
2500+ }
2501+ }
2502+ },
2503+ "libsodium/1.0.20.1": {
2504+ "type": "package",
2505+ "native": {
2506+ "runtimes/ios-arm64/native/libsodium.a": {}
1361 }
2507 }
1362 },
2508 },
1363 "Microsoft.Extensions.Configuration/10.0.0": {
2509 "Microsoft.Extensions.Configuration/10.0.0": {
@@ -1838,7 +2984,7 @@
1838 }
2984 }
1839 }
2985 }
1840 },
2986 },
1841− "net10.0-maccatalyst26.2/iossimulator-arm64": {
2987+ "net10.0-maccatalyst26.2/maccatalyst-arm64": {
1842 "Fabulous/3.0.0-pre23": {
2988 "Fabulous/3.0.0-pre23": {
1843 "type": "package",
2989 "type": "package",
1844 "dependencies": {
2990 "dependencies": {
@@ -1930,7 +3076,7 @@
1930 "libsodium/1.0.20.1": {
3076 "libsodium/1.0.20.1": {
1931 "type": "package",
3077 "type": "package",
1932 "native": {
3078 "native": {
1933− "runtimes/ios-arm64/native/libsodium.a": {}
3079+ "runtimes/maccatalyst-arm64/native/libsodium.a": {}
1934 }
3080 }
1935 },
3081 },
1936 "Microsoft.Extensions.Configuration/10.0.0": {
3082 "Microsoft.Extensions.Configuration/10.0.0": {
@@ -4406,6 +5552,9 @@
4406 "runtimes": {
5552 "runtimes": {
4407 "iossimulator-arm64": {
5553 "iossimulator-arm64": {
4408 "#import": []
5554 "#import": []
5555+ },
5556+ "maccatalyst-arm64": {
5557+ "#import": []
4409 }
5558 }
4410 }
5559 }
4411 }
5560 }
client/obj/project.nuget.cache+1−1
@@ -1,6 +1,6 @@
1{
1{
2 "version": 2,
2 "version": 2,
3− "dgSpecHash": "uJPSTfHrRrQ=",
3+ "dgSpecHash": "p3N3d4zcPQg=",
4 "success": true,
4 "success": true,
5 "projectFilePath": "/Users/iko/Developer/skrepka/client/Skrepka.fsproj",
5 "projectFilePath": "/Users/iko/Developer/skrepka/client/Skrepka.fsproj",
6 "expectedPackageFiles": [
6 "expectedPackageFiles": [
server.knot+39−46
@@ -114,18 +114,9 @@ verifyFederationAuth = \authorization ->
114
114
115clampTtl = \ttl -> if ttl < 1 then 1 else if ttl > maxPresenceTtl then maxPresenceTtl else ttl
115clampTtl = \ttl -> if ttl < 1 then 1 else if ttl > maxPresenceTtl then maxPresenceTtl else ttl
116
116
117−forwardToAll = \servers path headers body ->
117+forwardToAll = \servers action -> do
118+ sendToEach servers (\server -> action server)
118− if count servers == 0
119+ yield (count servers > 0)
119− then yield False {}
120− else do
121− let server = fold (\acc s -> if acc == "" then s else acc) "" servers
122− let rest = do s <- servers; where not (s == server); yield s
123− if server == ""
124− then yield False {}
125− else do
126− result <- httpPost (federationScheme ++ server ++ path) headers body
127− restOk <- forwardToAll rest path headers body
128− yield (if result.ok then True {} else restOk)
129
120
130sendToEach = \servers action ->
121sendToEach = \servers action ->
131 if count servers == 0
122 if count servers == 0
@@ -186,9 +177,9 @@ broadcastOfflineGossip = \t peerServers expiredLocal -> do
186 pk <- expiredPubkeys
177 pk <- expiredPubkeys
187 yield {eventType: "offline", pubkey: pk, server: serverHost, timestamp: t, ttl: 3600}
178 yield {eventType: "offline", pubkey: pk, server: serverHost, timestamp: t, ttl: 3600}
188 sendToEach peerServers (\server ->
179 sendToEach peerServers (\server ->
189− httpPost (federationScheme ++ server ++ "/federation/gossip")
180+ fetch (federationScheme ++ server) (RecvGossip {
190− {authorization: "Bearer " ++ federationSecret}
181+ authorization: "Bearer " ++ federationSecret,
191− {events: gossipEvents, hopsRemaining: 2, fromServer: serverHost})
182+ events: gossipEvents, hopsRemaining: 2, fromServer: serverHost}))
192 else yield {}
183 else yield {}
193
184
194-- ============================================
185-- ============================================
@@ -197,20 +188,21 @@ broadcastOfflineGossip = \t peerServers expiredLocal -> do
197
188
198serve = \req -> case req of
189serve = \req -> case req of
199
190
200− ReqChallenge {pubkey, respond} ->
191+ ReqChallenge {pubkey, respond} -> do
201− if pubkey == "" || tooLong pubkey maxPubkeyLen || not (isValidHex pubkey)
192+ let valid = not (pubkey == "") && not (tooLong pubkey maxPubkeyLen) && isValidHex pubkey
202− then respond {challenge: ""}
203− else do
204− challenge <- genToken
193+ challenge <- genToken
205− t <- now
194+ t <- now
195+ if valid
196+ then do
206 pruneResult <- atomic do
197 pruneResult <- atomic do
207 pr <- pruneExpired t
198 pr <- pruneExpired t
208 challenges <- *challenges
199 challenges <- *challenges
209 set *challenges = union challenges
200 set *challenges = union challenges
210 [{pubkey: pubkey, challenge: challenge, expiresAt: t + 60000}]
201 [{pubkey: pubkey, challenge: challenge, expiresAt: t + 60000}]
211 yield pr
202 yield pr
212− respond {challenge: challenge}
213 broadcastOfflineGossip t pruneResult.peerServers pruneResult.expiredLocal
203 broadcastOfflineGossip t pruneResult.peerServers pruneResult.expiredLocal
204+ else yield {}
205+ respond {challenge: (if valid then challenge else "")}
214
206
215 VerifyAuth {pubkey, challenge, signature, respond} -> do
207 VerifyAuth {pubkey, challenge, signature, respond} -> do
216 t <- now
208 t <- now
@@ -272,16 +264,16 @@ serve = \req -> case req of
272 else union acc [p.server]) [] updatedPresence
264 else union acc [p.server]) [] updatedPresence
273 else []
265 else []
274 yield {sigValid: sigValid, peerServers: peerServers, expiredLocal: pr.expiredLocal, offlinePeers: pr.peerServers}
266 yield {sigValid: sigValid, peerServers: peerServers, expiredLocal: pr.expiredLocal, offlinePeers: pr.peerServers}
275− if result.sigValid
276− then respond {token: token, expiresAt: expiry}
277− else respond {token: "", expiresAt: 0}
278 if result.sigValid && not (federationSecret == "")
267 if result.sigValid && not (federationSecret == "")
279 then sendToEach result.peerServers (\server ->
268 then sendToEach result.peerServers (\server ->
280− httpPost (federationScheme ++ server ++ "/federation/gossip")
269+ fetch (federationScheme ++ server) (RecvGossip {
281− {authorization: "Bearer " ++ federationSecret}
270+ authorization: "Bearer " ++ federationSecret,
282− {events: [{eventType: "online", pubkey: pubkey, server: serverHost, timestamp: t, ttl: 3600}], hopsRemaining: 2, fromServer: serverHost})
271+ events: [{eventType: "online", pubkey: pubkey, server: serverHost, timestamp: t, ttl: 3600}], hopsRemaining: 2, fromServer: serverHost}))
283 else yield {}
272 else yield {}
284 broadcastOfflineGossip t result.offlinePeers result.expiredLocal
273 broadcastOfflineGossip t result.offlinePeers result.expiredLocal
274+ if result.sigValid
275+ then respond {token: token, expiresAt: expiry}
276+ else respond {token: "", expiresAt: 0}
285
277
286 Poll {cursor, authorization, respond} -> do
278 Poll {cursor, authorization, respond} -> do
287 t <- now
279 t <- now
@@ -310,8 +302,8 @@ serve = \req -> case req of
310 Nothing {} -> -1
302 Nothing {} -> -1
311 _ -> if seqCounter > cursor then seqCounter else cursor
303 _ -> if seqCounter > cursor then seqCounter else cursor
312 yield {events: evts, cursor: newCursor, authorized: authorized, expiredLocal: pr.expiredLocal, peerServers: pr.peerServers}
304 yield {events: evts, cursor: newCursor, authorized: authorized, expiredLocal: pr.expiredLocal, peerServers: pr.peerServers}
313− respond {events: result.events, cursor: result.cursor, authorized: result.authorized}
314 broadcastOfflineGossip t result.peerServers result.expiredLocal
305 broadcastOfflineGossip t result.peerServers result.expiredLocal
306+ respond {events: result.events, cursor: result.cursor, authorized: result.authorized}
315
307
316 SendMessage {to, encryptedBlob, timestamp, authorization, respond} -> do
308 SendMessage {to, encryptedBlob, timestamp, authorization, respond} -> do
317 t <- now
309 t <- now
@@ -365,14 +357,15 @@ serve = \req -> case req of
365 yield {status: status, remoteServers: remoteServers, fromKey: fromKey, expiredLocal: pr.expiredLocal, peerServers: pr.peerServers}
357 yield {status: status, remoteServers: remoteServers, fromKey: fromKey, expiredLocal: pr.expiredLocal, peerServers: pr.peerServers}
366 finalStatus <- if result.status == "federated" && not (federationSecret == "")
358 finalStatus <- if result.status == "federated" && not (federationSecret == "")
367 then do
359 then do
368− anyOk <- forwardToAll result.remoteServers "/federation/forward"
360+ anyOk <- forwardToAll result.remoteServers (\server ->
369− {authorization: "Bearer " ++ federationSecret}
361+ fetch (federationScheme ++ server) (ForwardMessage {
370− {toKey: to, fromKey: result.fromKey, encryptedBlob: encryptedBlob,
362+ toKey: to, fromKey: result.fromKey, encryptedBlob: encryptedBlob,
371− timestamp: clampedTs, originServer: serverHost, messageId: msgId}
363+ timestamp: clampedTs, originServer: serverHost, messageId: msgId,
364+ authorization: "Bearer " ++ federationSecret}))
372 yield (if anyOk then "federated" else "queued")
365 yield (if anyOk then "federated" else "queued")
373 else yield result.status
366 else yield result.status
374− respond {status: finalStatus, messageId: (if result.status == "unauthorized" then "" else if result.status == "invalid" then "" else msgId)}
375 broadcastOfflineGossip t result.peerServers result.expiredLocal
367 broadcastOfflineGossip t result.peerServers result.expiredLocal
368+ respond {status: finalStatus, messageId: (if result.status == "unauthorized" then "" else if result.status == "invalid" then "" else msgId)}
376
369
377 AckMessages {messageIds, authorization, respond} -> do
370 AckMessages {messageIds, authorization, respond} -> do
378 t <- now
371 t <- now
@@ -413,13 +406,13 @@ serve = \req -> case req of
413 else union acc [m.originServer]) [] fedMessages
406 else union acc [m.originServer]) [] fedMessages
414 if result.ok && count originServers > 0 && not (federationSecret == "")
407 if result.ok && count originServers > 0 && not (federationSecret == "")
415 then sendToEach originServers (\server ->
408 then sendToEach originServers (\server ->
416− httpPost (federationScheme ++ server ++ "/federation/ack")
409+ fetch (federationScheme ++ server) (FederationAck {
417− {authorization: "Bearer " ++ federationSecret}
410+ authorization: "Bearer " ++ federationSecret,
418− {messageIds: (do m <- fedMessages; where m.originServer == server; yield m.messageId),
411+ messageIds: (do m <- fedMessages; where m.originServer == server; yield m.messageId),
419− originServer: server, fromServer: serverHost})
412+ originServer: server, fromServer: serverHost}))
420 else yield {}
413 else yield {}
421− respond {ok: result.ok}
422 broadcastOfflineGossip t result.peerServers result.expiredLocal
414 broadcastOfflineGossip t result.peerServers result.expiredLocal
415+ respond {ok: result.ok}
423
416
424 LookupPresence {pubkey, authorization, respond} -> do
417 LookupPresence {pubkey, authorization, respond} -> do
425 t <- now
418 t <- now
@@ -448,8 +441,8 @@ serve = \req -> case req of
448 Just {value: p} -> p.server
441 Just {value: p} -> p.server
449 Nothing {} -> fold (\_ p -> p.server) "" valid
442 Nothing {} -> fold (\_ p -> p.server) "" valid
450 yield {foundServer: foundServer, authorized: authorized, expiredLocal: pr.expiredLocal, peerServers: pr.peerServers}
443 yield {foundServer: foundServer, authorized: authorized, expiredLocal: pr.expiredLocal, peerServers: pr.peerServers}
451− respond {online: not (result.foundServer == ""), server: result.foundServer, authorized: result.authorized}
452 broadcastOfflineGossip t result.peerServers result.expiredLocal
444 broadcastOfflineGossip t result.peerServers result.expiredLocal
445+ respond {online: not (result.foundServer == ""), server: result.foundServer, authorized: result.authorized}
453
446
454 RecvGossip {events, hopsRemaining, fromServer, authorization, respond} -> do
447 RecvGossip {events, hopsRemaining, fromServer, authorization, respond} -> do
455 t <- now
448 t <- now
@@ -610,12 +603,12 @@ serve = \req -> case req of
610 where count (do ss <- senderServers; where ss == s; yield ss) == 0
603 where count (do ss <- senderServers; where ss == s; yield ss) == 0
611 yield s
604 yield s
612 sendToEach targets (\server ->
605 sendToEach targets (\server ->
613− httpPost (federationScheme ++ server ++ "/federation/gossip")
606+ fetch (federationScheme ++ server) (RecvGossip {
614− {authorization: "Bearer " ++ federationSecret}
607+ authorization: "Bearer " ++ federationSecret,
615− {events: effectiveEvents, hopsRemaining: cappedHops - 1, fromServer: serverHost})
608+ events: effectiveEvents, hopsRemaining: cappedHops - 1, fromServer: serverHost}))
616 else yield {}
609 else yield {}
617− respond {ok: validRequest}
618 broadcastOfflineGossip t gossipResult.peerServers gossipResult.expiredLocal
610 broadcastOfflineGossip t gossipResult.peerServers gossipResult.expiredLocal
611+ respond {ok: validRequest}
619
612
620 ForwardMessage {toKey, fromKey, encryptedBlob, timestamp, originServer, messageId, authorization, respond} -> do
613 ForwardMessage {toKey, fromKey, encryptedBlob, timestamp, originServer, messageId, authorization, respond} -> do
621 t <- now
614 t <- now
@@ -642,8 +635,8 @@ serve = \req -> case req of
642 encryptedBlob: encryptedBlob, timestamp: clampedTs, originServer: originServer, receivedAt: seqTs}]
635 encryptedBlob: encryptedBlob, timestamp: clampedTs, originServer: originServer, receivedAt: seqTs}]
643 else messages
636 else messages
644 yield pr
637 yield pr
645− respond {ok: authorized && validOrigin && validFields}
646 broadcastOfflineGossip t pruneResult.peerServers pruneResult.expiredLocal
638 broadcastOfflineGossip t pruneResult.peerServers pruneResult.expiredLocal
639+ respond {ok: authorized && validOrigin && validFields}
647
640
648 FederationAck {messageIds, originServer, fromServer, authorization, respond} -> do
641 FederationAck {messageIds, originServer, fromServer, authorization, respond} -> do
649 t <- now
642 t <- now
@@ -675,8 +668,8 @@ serve = \req -> case req of
675 yield m)
668 yield m)
676 else messages
669 else messages
677 yield pr
670 yield pr
678− respond {ok: validAck}
679 broadcastOfflineGossip t pruneResult.peerServers pruneResult.expiredLocal
671 broadcastOfflineGossip t pruneResult.peerServers pruneResult.expiredLocal
672+ respond {ok: validAck}
680
673
681-- ============================================
674-- ============================================
682-- Entry Point
675-- Entry Point