diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 7b12b1a..ad95ec5 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -19,15 +19,12 @@ jobs:
- os: ubuntu-latest
name-suffix: 'Linux'
test-filter: 'Category=SqlServer|Category!=SqlServer'
- sqlserver: false
- os: macos-latest
name-suffix: 'macOS'
- test-filter: 'Category=SqlServer|Category!=SqlServer'
- sqlserver: false
+ test-filter: 'Category!=SqlServer'
- os: windows-2022
name-suffix: 'Windows'
test-filter: 'Category=SqlServer|Category!=SqlServer'
- sqlserver: false
steps:
- uses: actions/checkout@v4
@@ -50,7 +47,7 @@ jobs:
echo "Generated SA password"
- name: Start SQL Server container
- if: matrix.os == 'ubuntu-latest' && matrix.sqlserver == true
+ if: matrix.os == 'ubuntu-latest'
run: |
docker run -d \
--name sql-server \
@@ -73,7 +70,7 @@ jobs:
echo "SQL Server is ready!"
- name: Install SQL Server
- if: matrix.os == 'windows-2022' && matrix.sqlserver == true
+ if: matrix.os == 'windows-2022'
uses: potatoqualitee/mssqlsuite@v1.11
with:
install: sqlengine, sqlclient
diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml
index c5e9902..f3b424d 100644
--- a/.github/workflows/publish.yml
+++ b/.github/workflows/publish.yml
@@ -19,15 +19,12 @@ jobs:
- os: ubuntu-latest
name-suffix: 'Linux'
test-filter: 'Category=SqlServer|Category!=SqlServer'
- sqlserver: false
- os: macos-latest
name-suffix: 'macOS'
- test-filter: 'Category=SqlServer|Category!=SqlServer'
- sqlserver: false
+ test-filter: 'Category!=SqlServer'
- os: windows-2022
name-suffix: 'Windows'
test-filter: 'Category=SqlServer|Category!=SqlServer'
- sqlserver: false
steps:
- uses: actions/checkout@v4
@@ -50,7 +47,7 @@ jobs:
echo "Generated SA password"
- name: Start SQL Server container
- if: matrix.os == 'ubuntu-latest' && matrix.sqlserver == true
+ if: matrix.os == 'ubuntu-latest'
run: |
docker run -d \
--name sql-server \
@@ -73,7 +70,7 @@ jobs:
echo "SQL Server is ready!"
- name: Install SQL Server
- if: matrix.os == 'windows-2022' && matrix.sqlserver == true
+ if: matrix.os == 'windows-2022'
uses: potatoqualitee/mssqlsuite@v1.11
with:
install: sqlengine, sqlclient
diff --git a/PPWCode.Util.Validation.sln b/PPWCode.Util.Validation.sln
index d0c7f0c..5c57bed 100644
--- a/PPWCode.Util.Validation.sln
+++ b/PPWCode.Util.Validation.sln
@@ -39,6 +39,10 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PPWCode.Util.Validation.IV.
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PPWCode.Util.Validation.IV.Tests", "src\IV.Tests\PPWCode.Util.Validation.IV.Tests.csproj", "{3BEF64F5-D4A7-4EE1-8693-9F1439598642}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PPWCode.Util.Validation.IV.NHibernate", "src\IV.NHibernate\PPWCode.Util.Validation.IV.NHibernate.csproj", "{38AD71C7-8C44-4CD7-8EA5-5793C76D4EA2}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PPWCode.Util.Validation.IV.NHibernate.Tests", "src\IV.NHibernate.Tests\PPWCode.Util.Validation.IV.NHibernate.Tests.csproj", "{578BA57F-99E0-4865-A11E-1F0747997CA7}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -57,6 +61,14 @@ Global
{3BEF64F5-D4A7-4EE1-8693-9F1439598642}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3BEF64F5-D4A7-4EE1-8693-9F1439598642}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3BEF64F5-D4A7-4EE1-8693-9F1439598642}.Release|Any CPU.Build.0 = Release|Any CPU
+ {38AD71C7-8C44-4CD7-8EA5-5793C76D4EA2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {38AD71C7-8C44-4CD7-8EA5-5793C76D4EA2}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {38AD71C7-8C44-4CD7-8EA5-5793C76D4EA2}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {38AD71C7-8C44-4CD7-8EA5-5793C76D4EA2}.Release|Any CPU.Build.0 = Release|Any CPU
+ {578BA57F-99E0-4865-A11E-1F0747997CA7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {578BA57F-99E0-4865-A11E-1F0747997CA7}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {578BA57F-99E0-4865-A11E-1F0747997CA7}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {578BA57F-99E0-4865-A11E-1F0747997CA7}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/README.md b/README.md
index f66abfe..01989f6 100644
--- a/README.md
+++ b/README.md
@@ -1,16 +1,14 @@
# PPWCode.Util.Validation
-This library is part of the .NET PPWCode project and (currently) contains specific types for the validation of country-specific identifiers. A separate library is included that adds support for these types in Entity Framework Core.
+This library is part of the .NET PPWCode project and (currently) contains specific types for the validation of country-specific identifiers. Separate libraries are included that add support for these types in both Entity Framework Core and NHibernate.
For more information, see [PPWCode .NET Docs].
-
## PPWCode .NET
Development of the PPWCode .NET libraries is done in [GitHub] repositories, and
all releases (both stable and pre-release) are published on [NuGet].
-
## License and Copyright
Copyright 2014–2026 by [PeopleWare].
diff --git a/docs/modules/ROOT/examples/project.csproj b/docs/modules/ROOT/examples/project-efc.csproj
similarity index 100%
rename from docs/modules/ROOT/examples/project.csproj
rename to docs/modules/ROOT/examples/project-efc.csproj
diff --git a/docs/modules/ROOT/examples/project-nhibernate.csproj b/docs/modules/ROOT/examples/project-nhibernate.csproj
new file mode 100644
index 0000000..1fa1d5b
--- /dev/null
+++ b/docs/modules/ROOT/examples/project-nhibernate.csproj
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/modules/ROOT/pages/changelog.adoc b/docs/modules/ROOT/pages/changelog.adoc
index 2c61fb1..703ab48 100644
--- a/docs/modules/ROOT/pages/changelog.adoc
+++ b/docs/modules/ROOT/pages/changelog.adoc
@@ -11,18 +11,26 @@ the link to the GitHub tag is only added once we are ready to release.
:github: https://github.com/peopleware/net-ppwcode-util-validation/releases/tag/IV%2F
:nuget-main: https://www.nuget.org/packages/PPWCode.Util.Validation.IV/
:nuget-efc: https://www.nuget.org/packages/PPWCode.Util.Validation.IV.EntityFrameworkCore/
+:nuget-nhibernate: https://www.nuget.org/packages/PPWCode.Util.Validation.IV.NHibernate/
:ppwcode-docs: https://peopleware.github.io/net-ppwcode-docs/ppwcode-util-validation-iv/
:main: PPWCode.Util.Validation.IV
:efc: PPWCode.Util.Validation.IV.EntityFrameworkCore
+:nhibernate: PPWCode.Util.Validation.IV.NHibernate
-:release: 1.1.0
+:release: 1.2.0
== `{release}`
include::partial$changelog-release-section.adoc[]
include::partial$changelog-{release}.adoc[]
+:release: 1.1.0
+== `{release}`
+include::partial$changelog-old-release-section.adoc[]
+include::partial$changelog-{release}.adoc[]
+
+
:release: 1.0.0
== `{release}`
-include::partial$changelog-release-section.adoc[]
+include::partial$changelog-old-release-section.adoc[]
include::partial$changelog-{release}.adoc[]
diff --git a/docs/modules/ROOT/pages/getting-started.adoc b/docs/modules/ROOT/pages/getting-started.adoc
index 5e7c078..8383359 100644
--- a/docs/modules/ROOT/pages/getting-started.adoc
+++ b/docs/modules/ROOT/pages/getting-started.adoc
@@ -3,8 +3,10 @@
// helper attributes for package links
:nuget-main: https://www.nuget.org/packages/PPWCode.Util.Validation.IV/
:nuget-efc: https://www.nuget.org/packages/PPWCode.Util.Validation.IV.EntityFrameworkCore/
+:nuget-nhibernate: https://www.nuget.org/packages/PPWCode.Util.Validation.IV.NHibernate/
:main: PPWCode.Util.Validation.IV
:efc: PPWCode.Util.Validation.IV.EntityFrameworkCore
+:nhibernate: PPWCode.Util.Validation.IV.NHibernate
== Add NuGet package
@@ -14,11 +16,23 @@ The following packages are available:
- {nuget-main}[{main}], base library
- {nuget-efc}[{efc}], Entity Framework Core support
+- {nuget-nhibernate}[{nhibernate}], NHibernate support
You can use your IDE to add the required libraries as dependencies to your project, or manually add them in the `.csproj` file. This would look similar to the following:
+
+=== Entity Framework Core
+
+[source,xml]
+----
+include::example$project-efc.csproj[]
+----
+
+
+=== NHibernate
+
[source,xml]
----
-include::example$project.csproj[]
+include::example$project-nhibernate.csproj[]
----
diff --git a/docs/modules/ROOT/partials/changelog-1.2.0.adoc b/docs/modules/ROOT/partials/changelog-1.2.0.adoc
new file mode 100644
index 0000000..0ada46d
--- /dev/null
+++ b/docs/modules/ROOT/partials/changelog-1.2.0.adoc
@@ -0,0 +1,12 @@
+////
+The changelog for a specific release.
+Note that it is best to update the changelog as new code is developed.
+
+All attributes used, must be included in this file to keep it self-contained.
+
+This file is translated into markdown and used for the release notes in the GitHub release!
+////
+
+=== New
+* Support for NHibernate added
+** See package `PPWCode.Util.Validation.IV.NHibernate`
diff --git a/docs/modules/ROOT/partials/changelog-old-release-section.adoc b/docs/modules/ROOT/partials/changelog-old-release-section.adoc
new file mode 100644
index 0000000..440133a
--- /dev/null
+++ b/docs/modules/ROOT/partials/changelog-old-release-section.adoc
@@ -0,0 +1,13 @@
+////
+Note: double empty lines at the end of the file is done on purpose!
+////
+
+=== Release
+
+* link:{github}{release}[GitHub]
+* NuGet
+** link:{nuget-main}{release}[{main}]
+** link:{nuget-efc}{release}[{efc}]
+
+
+// do not remove the preceding empty lines!
diff --git a/docs/modules/ROOT/partials/changelog-release-section.adoc b/docs/modules/ROOT/partials/changelog-release-section.adoc
index 440133a..afbd329 100644
--- a/docs/modules/ROOT/partials/changelog-release-section.adoc
+++ b/docs/modules/ROOT/partials/changelog-release-section.adoc
@@ -8,6 +8,7 @@ Note: double empty lines at the end of the file is done on purpose!
* NuGet
** link:{nuget-main}{release}[{main}]
** link:{nuget-efc}{release}[{efc}]
+** link:{nuget-nhibernate}{release}[{nhibernate}]
// do not remove the preceding empty lines!
diff --git a/src/Directory.Packages.props b/src/Directory.Packages.props
index c72d050..7162b1c 100644
--- a/src/Directory.Packages.props
+++ b/src/Directory.Packages.props
@@ -40,6 +40,10 @@
+
+
+
+
diff --git a/src/IV.NHibernate.Tests/BaseQueryTests.cs b/src/IV.NHibernate.Tests/BaseQueryTests.cs
new file mode 100644
index 0000000..a2baf45
--- /dev/null
+++ b/src/IV.NHibernate.Tests/BaseQueryTests.cs
@@ -0,0 +1,27 @@
+// Copyright 2026 by PeopleWare n.v..
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+using PPWCode.Vernacular.NHibernate.IV;
+using PPWCode.Vernacular.NHibernate.IV.Test;
+
+namespace PPWCode.Util.Validation.IV.NHibernate.Tests;
+
+public abstract class BaseQueryTests : BaseRepositoryFixture
+{
+ protected override string CatalogName
+ => $"Test.{GetType().Assembly.GetName().Name}";
+
+ protected override IPpwHbmMapping PpwHbmMapping
+ => new TestsSimpleModelMapper(new TestsMappingAssemblies());
+
+ protected override string IdentityName
+ => "Test - IdentityName";
+}
diff --git a/src/IV.NHibernate.Tests/BaseRepositoryTests.cs b/src/IV.NHibernate.Tests/BaseRepositoryTests.cs
new file mode 100644
index 0000000..89db4b2
--- /dev/null
+++ b/src/IV.NHibernate.Tests/BaseRepositoryTests.cs
@@ -0,0 +1,37 @@
+// Copyright 2026 by PeopleWare n.v..
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+using PPWCode.Vernacular.Persistence.V;
+
+namespace PPWCode.Util.Validation.IV.NHibernate.Tests;
+
+public abstract class BaseRepositoryTests : BaseQueryTests
+ where T : class, IIdentity
+{
+ protected abstract Func> RepositoryFactory { get; }
+
+ protected Vernacular.NHibernate.IV.IRepository? Repository { get; private set; }
+
+ protected override void OnSetup()
+ {
+ base.OnSetup();
+
+ Repository = RepositoryFactory();
+ SessionFactory.Statistics.Clear();
+ }
+
+ protected override void OnTeardown()
+ {
+ Repository = null;
+
+ base.OnTeardown();
+ }
+}
diff --git a/src/IV.NHibernate.Tests/IntegrationTests/BelgianIdentificationsTests.cs b/src/IV.NHibernate.Tests/IntegrationTests/BelgianIdentificationsTests.cs
new file mode 100644
index 0000000..b58b5da
--- /dev/null
+++ b/src/IV.NHibernate.Tests/IntegrationTests/BelgianIdentificationsTests.cs
@@ -0,0 +1,65 @@
+// Copyright 2026 by PeopleWare n.v..
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+using System.Diagnostics.CodeAnalysis;
+
+using NUnit.Framework;
+
+using PPWCode.Util.Validation.IV.European.Belgium;
+using PPWCode.Util.Validation.IV.NHibernate.Tests.Models;
+using PPWCode.Util.Validation.IV.NHibernate.Tests.Repositories;
+using PPWCode.Vernacular.Contracts.I;
+using PPWCode.Vernacular.NHibernate.IV;
+
+namespace PPWCode.Util.Validation.IV.NHibernate.Tests.IntegrationTests;
+
+[SuppressMessage("ReSharper", "InconsistentNaming", Justification = "Tests")]
+public class BelgianIdentificationsTests : BaseRepositoryTests
+{
+ protected override Func> RepositoryFactory
+ => () => new BelgianIdentificationsRepository(SessionProvider);
+
+ [Test]
+ public void can_handle_belgian_identifications()
+ {
+ Contract.Requires(Repository != null);
+
+ // Arrange
+ BelgianIdentifications subject =
+ new BelgianIdentifications
+ {
+ BBAN = new BBAN("850-895676-978"),
+ DMFA = new DMFA("DMFAP123456789A"),
+ INSS = new INSS("55.25.02.008-01"),
+ KBO = new KBO("0453.834.195"),
+ RSZ = new RSZ("0133-296 720"),
+ IBAN = new IBAN("AL472 1211 0090 0000 0023 5698 741"),
+ BIC = new BIC("KREDBEBB"),
+ TemporaryRSZ = new TemporaryRSZ("5 105009119"),
+ VAT = new VAT("0453.834.195"),
+ CompanyLocalUnitNumber = new CompanyLocalUnitNumber("2.069.315153")
+ };
+
+ // Act
+ RunInsideTransaction(
+ () =>
+ {
+ Repository.SaveOrUpdate(subject);
+ Assert.That(subject.IdIsTransient, Is.False);
+ },
+ true);
+
+ BelgianIdentifications? actual = Repository.GetById(subject.Id);
+
+ // Assert
+ Assert.That(BelgianIdentifications.Comparer.Equals(subject, actual), Is.True);
+ }
+}
diff --git a/src/IV.NHibernate.Tests/IntegrationTests/Mapping/ConventionMappingTests.cs b/src/IV.NHibernate.Tests/IntegrationTests/Mapping/ConventionMappingTests.cs
new file mode 100644
index 0000000..0eddcbc
--- /dev/null
+++ b/src/IV.NHibernate.Tests/IntegrationTests/Mapping/ConventionMappingTests.cs
@@ -0,0 +1,30 @@
+// Copyright 2026 by PeopleWare n.v..
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+using NHibernate.Mapping.ByCode;
+
+using NUnit.Framework;
+
+using PPWCode.Vernacular.NHibernate.IV;
+
+namespace PPWCode.Util.Validation.IV.NHibernate.Tests.IntegrationTests.Mapping;
+
+[TestFixture]
+public class ConventionMappingTests
+{
+ [Test]
+ [Explicit]
+ public void XmlMapping()
+ {
+ IPpwHbmMapping mapper = new TestsSimpleModelMapper(new TestsMappingAssemblies());
+ Console.WriteLine(mapper.HbmMapping.AsString());
+ }
+}
diff --git a/src/IV.NHibernate.Tests/Models/BelgianIdentifications.cs b/src/IV.NHibernate.Tests/Models/BelgianIdentifications.cs
new file mode 100644
index 0000000..5820d4c
--- /dev/null
+++ b/src/IV.NHibernate.Tests/Models/BelgianIdentifications.cs
@@ -0,0 +1,110 @@
+// Copyright 2026 by PeopleWare n.v..
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+using PPWCode.Util.Validation.IV.European.Belgium;
+using PPWCode.Util.Validation.IV.NHibernate.European.Belgium;
+using PPWCode.Vernacular.NHibernate.IV.MappingByCode;
+using PPWCode.Vernacular.Persistence.V;
+
+namespace PPWCode.Util.Validation.IV.NHibernate.Tests.Models;
+
+public class BelgianIdentifications : PersistentObject
+{
+ public static IEqualityComparer Comparer { get; }
+ = new BelgianIdentificationsEqualityComparer();
+
+ public virtual BBAN? BBAN { get; set; }
+ public virtual DMFA? DMFA { get; set; }
+ public virtual IBAN? IBAN { get; set; }
+ public virtual BIC? BIC { get; set; }
+ public virtual INSS? INSS { get; set; }
+ public virtual KBO? KBO { get; set; }
+ public virtual RSZ? RSZ { get; set; }
+ public virtual TemporaryRSZ? TemporaryRSZ { get; set; }
+ public virtual VAT? VAT { get; set; }
+ public virtual CompanyLocalUnitNumber? CompanyLocalUnitNumber { get; set; }
+ public virtual OGM? OGM { get; set; }
+
+ private sealed class BelgianIdentificationsEqualityComparer : IEqualityComparer
+ {
+ public bool Equals(BelgianIdentifications? x, BelgianIdentifications? y)
+ {
+ if (ReferenceEquals(x, y))
+ {
+ return true;
+ }
+
+ if (ReferenceEquals(x, null))
+ {
+ return false;
+ }
+
+ if (ReferenceEquals(y, null))
+ {
+ return false;
+ }
+
+ if (x.GetType() != y.GetType())
+ {
+ return false;
+ }
+
+ return Equals(x.BBAN, y.BBAN)
+ && Equals(x.DMFA, y.DMFA)
+ && Equals(x.IBAN, y.IBAN)
+ && Equals(x.BIC, y.BIC)
+ && Equals(x.INSS, y.INSS)
+ && Equals(x.KBO, y.KBO)
+ && Equals(x.RSZ, y.RSZ)
+ && Equals(x.TemporaryRSZ, y.TemporaryRSZ)
+ && Equals(x.VAT, y.VAT)
+ && Equals(x.CompanyLocalUnitNumber, y.CompanyLocalUnitNumber)
+ && Equals(x.OGM, y.OGM);
+ }
+
+ public int GetHashCode(BelgianIdentifications obj)
+ {
+ unchecked
+ {
+ int hashCode = obj.BBAN != null ? obj.BBAN.GetHashCode() : 0;
+ hashCode = (hashCode * 397) ^ (obj.DMFA != null ? obj.DMFA.GetHashCode() : 0);
+ hashCode = (hashCode * 397) ^ (obj.IBAN != null ? obj.IBAN.GetHashCode() : 0);
+ hashCode = (hashCode * 397) ^ (obj.BIC != null ? obj.BIC.GetHashCode() : 0);
+ hashCode = (hashCode * 397) ^ (obj.INSS != null ? obj.INSS.GetHashCode() : 0);
+ hashCode = (hashCode * 397) ^ (obj.KBO != null ? obj.KBO.GetHashCode() : 0);
+ hashCode = (hashCode * 397) ^ (obj.RSZ != null ? obj.RSZ.GetHashCode() : 0);
+ hashCode = (hashCode * 397) ^ (obj.TemporaryRSZ != null ? obj.TemporaryRSZ.GetHashCode() : 0);
+ hashCode = (hashCode * 397) ^ (obj.VAT != null ? obj.VAT.GetHashCode() : 0);
+ hashCode = (hashCode * 397) ^ (obj.CompanyLocalUnitNumber != null ? obj.CompanyLocalUnitNumber.GetHashCode() : 0);
+ hashCode = (hashCode * 397) ^ (obj.OGM != null ? obj.OGM.GetHashCode() : 0);
+ return hashCode;
+ }
+ }
+ }
+}
+
+public class BelgianIdentificationsMapper : PersistentObjectMapper
+{
+ public BelgianIdentificationsMapper()
+ {
+ Property(c => c.BBAN, m => m.Type());
+ Property(c => c.DMFA, m => m.Type());
+ Property(c => c.IBAN, m => m.Type());
+ Property(c => c.BIC, m => m.Type());
+ Property(c => c.INSS, m => m.Type());
+ Property(c => c.KBO, m => m.Type());
+ Property(c => c.RSZ, m => m.Type());
+ Property(c => c.TemporaryRSZ, m => m.Type());
+ Property(c => c.VAT, m => m.Type());
+ Property(c => c.CompanyLocalUnitNumber, m => m.Type());
+ Property(c => c.OGM, m => m.Type());
+ }
+}
diff --git a/src/IV.NHibernate.Tests/PPWCode.Util.Validation.IV.NHibernate.Tests.csproj b/src/IV.NHibernate.Tests/PPWCode.Util.Validation.IV.NHibernate.Tests.csproj
new file mode 100644
index 0000000..36b415c
--- /dev/null
+++ b/src/IV.NHibernate.Tests/PPWCode.Util.Validation.IV.NHibernate.Tests.csproj
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ PreserveNewest
+
+
+
+ PreserveNewest
+
+
+
+ PreserveNewest
+
+
+
+
diff --git a/src/IV.NHibernate.Tests/Repositories/BelgianIdentificationsRepository.cs b/src/IV.NHibernate.Tests/Repositories/BelgianIdentificationsRepository.cs
new file mode 100644
index 0000000..31d8c08
--- /dev/null
+++ b/src/IV.NHibernate.Tests/Repositories/BelgianIdentificationsRepository.cs
@@ -0,0 +1,25 @@
+// Copyright 2026 by PeopleWare n.v..
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+using PPWCode.Util.Validation.IV.NHibernate.Tests.Models;
+using PPWCode.Vernacular.NHibernate.IV;
+
+namespace PPWCode.Util.Validation.IV.NHibernate.Tests.Repositories;
+
+public class BelgianIdentificationsRepository
+ : LinqRepository,
+ IBelgianIdentifications
+{
+ public BelgianIdentificationsRepository(ISessionProvider sessionProvider)
+ : base(sessionProvider)
+ {
+ }
+}
diff --git a/src/IV.NHibernate.Tests/Repositories/IBelgianIdentifications.cs b/src/IV.NHibernate.Tests/Repositories/IBelgianIdentifications.cs
new file mode 100644
index 0000000..bdb3068
--- /dev/null
+++ b/src/IV.NHibernate.Tests/Repositories/IBelgianIdentifications.cs
@@ -0,0 +1,19 @@
+// Copyright 2026 by PeopleWare n.v..
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+using PPWCode.Util.Validation.IV.NHibernate.Tests.Models;
+using PPWCode.Vernacular.NHibernate.IV;
+
+namespace PPWCode.Util.Validation.IV.NHibernate.Tests.Repositories;
+
+public interface IBelgianIdentifications : IRepository
+{
+}
diff --git a/src/IV.NHibernate.Tests/TestIntAuditLog.cs b/src/IV.NHibernate.Tests/TestIntAuditLog.cs
new file mode 100644
index 0000000..c181a88
--- /dev/null
+++ b/src/IV.NHibernate.Tests/TestIntAuditLog.cs
@@ -0,0 +1,18 @@
+// Copyright 2026 by PeopleWare n.v..
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+using PPWCode.Vernacular.Persistence.V;
+
+namespace PPWCode.Util.Validation.IV.NHibernate.Tests;
+
+public class TestIntAuditLog : AuditLog
+{
+}
diff --git a/src/IV.NHibernate.Tests/TestsMappingAssemblies.cs b/src/IV.NHibernate.Tests/TestsMappingAssemblies.cs
new file mode 100644
index 0000000..13fd4ba
--- /dev/null
+++ b/src/IV.NHibernate.Tests/TestsMappingAssemblies.cs
@@ -0,0 +1,25 @@
+// Copyright 2026 by PeopleWare n.v..
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+using System.Reflection;
+
+using PPWCode.Util.Validation.IV.NHibernate.Tests.Models;
+using PPWCode.Vernacular.NHibernate.IV;
+
+namespace PPWCode.Util.Validation.IV.NHibernate.Tests;
+
+public class TestsMappingAssemblies : IMappingAssemblies
+{
+ public IEnumerable GetAssemblies()
+ {
+ yield return typeof(BelgianIdentifications).Assembly;
+ }
+}
diff --git a/src/IV.NHibernate.Tests/TestsSimpleModelMapper.cs b/src/IV.NHibernate.Tests/TestsSimpleModelMapper.cs
new file mode 100644
index 0000000..937ee69
--- /dev/null
+++ b/src/IV.NHibernate.Tests/TestsSimpleModelMapper.cs
@@ -0,0 +1,45 @@
+// Copyright 2026 by PeopleWare n.v..
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+using NHibernate.Mapping.ByCode;
+
+using PPWCode.Vernacular.Contracts.I;
+using PPWCode.Vernacular.NHibernate.IV;
+using PPWCode.Vernacular.NHibernate.IV.MappingByCode;
+
+namespace PPWCode.Util.Validation.IV.NHibernate.Tests;
+
+public class TestsSimpleModelMapper : SimpleModelMapper
+{
+ public TestsSimpleModelMapper(IMappingAssemblies mappingAssemblies)
+ : base(mappingAssemblies)
+ {
+ }
+
+ protected override string DefaultSchemaName
+ => @"dbo";
+
+ public override bool QuoteIdentifiers
+ => true;
+
+ protected override void OnBeforeMapProperty(IModelInspector modelInspector, PropertyPath member, IPropertyMapper propertyCustomizer)
+ {
+ base.OnBeforeMapProperty(modelInspector, member, propertyCustomizer);
+
+ Type memberType = member.MemberType();
+ if (typeof(AbstractIdentification).IsAssignableFrom(memberType))
+ {
+ AbstractIdentification? identification = (AbstractIdentification?)Activator.CreateInstance(memberType, string.Empty);
+ Contract.Assert(identification != null);
+ propertyCustomizer.Length(identification.StandardMaxLength);
+ }
+ }
+}
diff --git a/src/IV.NHibernate.Tests/appsettings.json b/src/IV.NHibernate.Tests/appsettings.json
new file mode 100644
index 0000000..0c684dd
--- /dev/null
+++ b/src/IV.NHibernate.Tests/appsettings.json
@@ -0,0 +1,27 @@
+{
+ "Serilog": {
+ "MinimumLevel": {
+ "Default": "Warning",
+ "Override": {
+ "PPWCode.Vernacular.NHibernate.IV": "Information",
+ "NHibernate.SQL": "Debug"
+ }
+ },
+ "WriteTo": [
+ {
+ "Name": "NUnitOutput",
+ "Args": {
+ "outputTemplate": "[{Timestamp:HH:mm:ss} {Level:u3}] [{SourceContext}] {Message:lj}{NewLine}{Exception}"
+ }
+ }
+ ]
+ },
+ "appSettings": {
+ "UseProfiler": "false",
+ "SuppressProfilingWhileCreatingSchema": "true",
+ "ShowSql": "false",
+ "FormatSql": "false",
+ "GenerateStatistics": "true",
+ "FixedConnectionString": null
+ }
+}
diff --git a/src/IV.NHibernate.Tests/hibernate.cfg.xml b/src/IV.NHibernate.Tests/hibernate.cfg.xml
new file mode 100644
index 0000000..45de677
--- /dev/null
+++ b/src/IV.NHibernate.Tests/hibernate.cfg.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/src/IV.NHibernate.Tests/log4net.config b/src/IV.NHibernate.Tests/log4net.config
new file mode 100644
index 0000000..9d964d3
--- /dev/null
+++ b/src/IV.NHibernate.Tests/log4net.config
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/IV.NHibernate.Tests/packages.lock.json b/src/IV.NHibernate.Tests/packages.lock.json
new file mode 100644
index 0000000..ef9ffd6
--- /dev/null
+++ b/src/IV.NHibernate.Tests/packages.lock.json
@@ -0,0 +1,2700 @@
+{
+ "version": 2,
+ "dependencies": {
+ "net10.0": {
+ "coverlet.collector": {
+ "type": "Direct",
+ "requested": "[10.*, )",
+ "resolved": "10.0.0",
+ "contentHash": "WFejCcOUR6k8UYyDnnR6Gk+obFYMsWrZuNqPJnsVFGVhpPSN0y20D4qbdKJnXinYGx9PQ397Hf9TnU1NBST8vA=="
+ },
+ "JunitXml.TestLogger": {
+ "type": "Direct",
+ "requested": "[7.*, )",
+ "resolved": "7.1.0",
+ "contentHash": "Iu3dSnhJ+gzjlOtpIPZgHvJbmvmPbIGjxT7h5pNxxMiNTXKfxgi0O0eehnZ29qlC5bElAM0o9dSrjzjydCaGiA=="
+ },
+ "Microsoft.NET.Test.Sdk": {
+ "type": "Direct",
+ "requested": "[18.*, )",
+ "resolved": "18.5.1",
+ "contentHash": "SfqVaLiIqAbRWuPg5BP4QFwBIirQj/YIL8Dhxl6zntBKbXp0cQykoV480SmwG+yRMiWptxEI6NbHQuGSZ8b97w==",
+ "dependencies": {
+ "Microsoft.CodeCoverage": "18.5.1",
+ "Microsoft.TestPlatform.TestHost": "18.5.1"
+ }
+ },
+ "Microsoft.SourceLink.GitHub": {
+ "type": "Direct",
+ "requested": "[10.*, )",
+ "resolved": "10.0.203",
+ "contentHash": "R4Tvr1oACImMS+Y5M7NM07ll9QyJSKnki3Dvz8QwG1W6FEmd+9fmZXAF6BE6UPswHF6n0v41wgMQGlaudOspqA==",
+ "dependencies": {
+ "Microsoft.Build.Tasks.Git": "10.0.203",
+ "Microsoft.SourceLink.Common": "10.0.203",
+ "System.IO.Hashing": "10.0.7"
+ }
+ },
+ "NUnit": {
+ "type": "Direct",
+ "requested": "[4.*, )",
+ "resolved": "4.6.0",
+ "contentHash": "RsafbuYR+HzdDhgfdLYrDOSuFdv8IgGpbe5NIqXWAhZ7t6lXNj9yNcLcAk34lKVio6OusBQolKlboyl/9hObNA=="
+ },
+ "NUnit.Analyzers": {
+ "type": "Direct",
+ "requested": "[4.11.2, )",
+ "resolved": "4.11.2",
+ "contentHash": "D9w1tsxMyBAsINY2yyIaS59V9W4iGtuPyHs+9enuhmDAaCsSOitJKha4TUPENCAd2LrylCawur0YhCJoLMHBJA=="
+ },
+ "NUnit3TestAdapter": {
+ "type": "Direct",
+ "requested": "[6.*, )",
+ "resolved": "6.2.0",
+ "contentHash": "8PMJB8za2u8S0ey/nEtvh9BHjLhv5yzUEMCmA0+VIPLKSeOAZ3TEHWDyAp0+iPQb3jnBH1o8k0PoU2FgzXLRnQ==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyModel": "8.0.2",
+ "Microsoft.Testing.Extensions.VSTestBridge": "2.1.0",
+ "Microsoft.Testing.Platform.MSBuild": "2.1.0"
+ }
+ },
+ "PPWCode.Vernacular.NHibernate.IV.Test": {
+ "type": "Direct",
+ "requested": "[1.0.0-*, )",
+ "resolved": "1.0.0-alpha.4",
+ "contentHash": "69r1iMnzFonMb4R14o7z950VtCwQNadpsC2KFRSb6Ynsk1eg+j6bLHA7nwLQf5nVL/NwFwD/ucivSUDjTJHLqg==",
+ "dependencies": {
+ "Microsoft.Data.SqlClient": "7.0.1",
+ "Microsoft.Extensions.Configuration": "10.0.7",
+ "Microsoft.Extensions.Configuration.EnvironmentVariables": "10.0.7",
+ "Microsoft.Extensions.Configuration.Json": "10.0.7",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7",
+ "Microsoft.Extensions.DependencyModel": "10.0.7",
+ "Microsoft.Extensions.Logging": "10.0.7",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.7",
+ "Microsoft.Extensions.Options.ConfigurationExtensions": "10.0.7",
+ "Moq": "4.20.72",
+ "NHibernate": "5.6.0",
+ "NHibernate.Extensions.Logging": "4.0.0",
+ "NHibernateProfiler.Appender": "6.0.6053",
+ "NUnit": "4.5.1",
+ "PPWCode.Util.Authorization.I": "1.0.0",
+ "PPWCode.Util.Time.I": "2.0.0-alpha.1",
+ "PPWCode.Vernacular.Contracts.I": "1.5.0",
+ "PPWCode.Vernacular.Exceptions.V": "1.1.0",
+ "PPWCode.Vernacular.NHibernate.IV.SqlServer": "1.0.0-alpha.4",
+ "PPWCode.Vernacular.Persistence.V": "1.2.0-alpha.5",
+ "PPWCode.Vernacular.Semantics.V": "1.0.0",
+ "Serilog": "4.3.1",
+ "Serilog.Extensions.Logging": "10.0.0",
+ "Serilog.Settings.Configuration": "10.0.0",
+ "Serilog.Sinks.NUnit": "1.0.3",
+ "System.Configuration.ConfigurationManager": "10.0.7"
+ }
+ },
+ "StyleCop.Analyzers": {
+ "type": "Direct",
+ "requested": "[1.2.0-beta.556, )",
+ "resolved": "1.2.0-beta.556",
+ "contentHash": "llRPgmA1fhC0I0QyFLEcjvtM2239QzKr/tcnbsjArLMJxJlu0AA5G7Fft0OI30pHF3MW63Gf4aSSsjc5m82J1Q==",
+ "dependencies": {
+ "StyleCop.Analyzers.Unstable": "1.2.0.556"
+ }
+ },
+ "Antlr3.Runtime": {
+ "type": "Transitive",
+ "resolved": "3.5.1",
+ "contentHash": "ZwCEpLCLZXkjzf1lYEixp9hgVlYYk33ACHn6xjFyVhGRi2BpoYQez0qtatbetdylASWYTG+cGz0CGR4z66JM4w==",
+ "dependencies": {
+ "NETStandard.Library": "1.6.0"
+ }
+ },
+ "Azure.Core": {
+ "type": "Transitive",
+ "resolved": "1.35.0",
+ "contentHash": "hENcx03Jyuqv05F4RBEPbxz29UrM3Nbhnr6Wl6NQpoU9BCIbL3XLentrxDCTrH54NLS11Exxi/o8MYgT/cnKFA==",
+ "dependencies": {
+ "Microsoft.Bcl.AsyncInterfaces": "1.1.1",
+ "System.Memory.Data": "1.0.2"
+ }
+ },
+ "Azure.Storage.Blobs": {
+ "type": "Transitive",
+ "resolved": "12.18.0",
+ "contentHash": "IUqHRXnabXCzmmvkzqPK4FuGzLxmKSugDEt5Hm5B/JlJFR+aHDsPW4nCLbG0txThqBSKPqcBBU/oA6c5TaFJgA==",
+ "dependencies": {
+ "Azure.Storage.Common": "12.17.0"
+ }
+ },
+ "Azure.Storage.Common": {
+ "type": "Transitive",
+ "resolved": "12.17.0",
+ "contentHash": "/h8SpUkxMuQy/MbNFeJQGmhYt3JnYfEiGeDojtNgLNzzhyDnRYgjF3ZKYgjORYQpn0Spr+4+v2MZy+0GNJBLrg==",
+ "dependencies": {
+ "Azure.Core": "1.35.0",
+ "System.IO.Hashing": "6.0.0"
+ }
+ },
+ "Castle.Core": {
+ "type": "Transitive",
+ "resolved": "5.1.1",
+ "contentHash": "rpYtIczkzGpf+EkZgDr9CClTdemhsrwA/W5hMoPjLkRFnXzH44zDLoovXeKtmxb1ykXK9aJVODSpiJml8CTw2g==",
+ "dependencies": {
+ "System.Diagnostics.EventLog": "6.0.0"
+ }
+ },
+ "Google.Protobuf": {
+ "type": "Transitive",
+ "resolved": "3.24.4",
+ "contentHash": "TmUI4ndd3x5HePyLmqAmGT6oVvoRCu+bMmrJmOpAFtCPEB+oUMWF8dyVY1zxXry/8cqsTHWszYRIAwpuUNpUyA=="
+ },
+ "Humanizer.Core": {
+ "type": "Transitive",
+ "resolved": "2.14.1",
+ "contentHash": "lQKvtaTDOXnoVJ20ibTuSIOf2i0uO0MPbDhd1jm238I+U/2ZnRENj0cktKZhtchBMtCUSRQ5v4xBCUbKNmyVMw=="
+ },
+ "Iesi.Collections": {
+ "type": "Transitive",
+ "resolved": "4.1.1",
+ "contentHash": "VBrZi6gKjArcyOqrKoZODtd4V9rGqyxkUTwO9Hg/8+idhe/A391X9nRXuESewb7kfCNo5jRwFKLSjrY0j+0PkA=="
+ },
+ "Microsoft.ApplicationInsights": {
+ "type": "Transitive",
+ "resolved": "2.23.0",
+ "contentHash": "nWArUZTdU7iqZLycLKWe0TDms48KKGE6pONH2terYNa8REXiqixrMOkf1sk5DHGMaUTqONU2YkS4SAXBhLStgw=="
+ },
+ "Microsoft.Bcl.AsyncInterfaces": {
+ "type": "Transitive",
+ "resolved": "7.0.0",
+ "contentHash": "3aeMZ1N0lJoSyzqiP03hqemtb1BijhsJADdobn/4nsMJ8V1H+CrpuduUe4hlRdx+ikBQju1VGjMD1GJ3Sk05Eg=="
+ },
+ "Microsoft.Bcl.Cryptography": {
+ "type": "Transitive",
+ "resolved": "9.0.13",
+ "contentHash": "5T+bH3Lb1nEe8Hf/ixMxLmhlrx5wRi53wv7OhVwG2F1ZviW1ejFRS1NHur3uqPpJRGtkQwUchtY6zhVK2R+v+w=="
+ },
+ "Microsoft.Build.Tasks.Git": {
+ "type": "Transitive",
+ "resolved": "10.0.203",
+ "contentHash": "m56WtzvIcL6t7JR3c7ogYitHizNM2QnRSo8yqxrQi+m5E/GGyDEmqymP+2p6YsFXn0j/Tzz67s4FQnrTLC7GKQ==",
+ "dependencies": {
+ "System.IO.Hashing": "10.0.7"
+ }
+ },
+ "Microsoft.CodeAnalysis.Analyzers": {
+ "type": "Transitive",
+ "resolved": "3.3.4",
+ "contentHash": "AxkxcPR+rheX0SmvpLVIGLhOUXAKG56a64kV9VQZ4y9gR9ZmPXnqZvHJnmwLSwzrEP6junUF11vuc+aqo5r68g=="
+ },
+ "Microsoft.CodeAnalysis.Common": {
+ "type": "Transitive",
+ "resolved": "4.8.0",
+ "contentHash": "/jR+e/9aT+BApoQJABlVCKnnggGQbvGh7BKq2/wI1LamxC+LbzhcLj4Vj7gXCofl1n4E521YfF9w0WcASGg/KA==",
+ "dependencies": {
+ "Microsoft.CodeAnalysis.Analyzers": "3.3.4"
+ }
+ },
+ "Microsoft.CodeAnalysis.CSharp": {
+ "type": "Transitive",
+ "resolved": "4.8.0",
+ "contentHash": "+3+qfdb/aaGD8PZRCrsdobbzGs1m9u119SkkJt8e/mk3xLJz/udLtS2T6nY27OTXxBBw10HzAbC8Z9w08VyP/g==",
+ "dependencies": {
+ "Microsoft.CodeAnalysis.Common": "[4.8.0]"
+ }
+ },
+ "Microsoft.CodeAnalysis.CSharp.Workspaces": {
+ "type": "Transitive",
+ "resolved": "4.8.0",
+ "contentHash": "3amm4tq4Lo8/BGvg9p3BJh3S9nKq2wqCXfS7138i69TUpo/bD+XvD0hNurpEBtcNZhi1FyutiomKJqVF39ugYA==",
+ "dependencies": {
+ "Humanizer.Core": "2.14.1",
+ "Microsoft.CodeAnalysis.CSharp": "[4.8.0]",
+ "Microsoft.CodeAnalysis.Common": "[4.8.0]",
+ "Microsoft.CodeAnalysis.Workspaces.Common": "[4.8.0]"
+ }
+ },
+ "Microsoft.CodeAnalysis.Workspaces.Common": {
+ "type": "Transitive",
+ "resolved": "4.8.0",
+ "contentHash": "LXyV+MJKsKRu3FGJA3OmSk40OUIa/dQCFLOnm5X8MNcujx7hzGu8o+zjXlb/cy5xUdZK2UKYb9YaQ2E8m9QehQ==",
+ "dependencies": {
+ "Humanizer.Core": "2.14.1",
+ "Microsoft.Bcl.AsyncInterfaces": "7.0.0",
+ "Microsoft.CodeAnalysis.Common": "[4.8.0]",
+ "System.Composition": "7.0.0"
+ }
+ },
+ "Microsoft.CodeCoverage": {
+ "type": "Transitive",
+ "resolved": "18.5.1",
+ "contentHash": "vMFDR1ZjqzzgKmM0zrPie7Gv9Y+ZppjODB5Quzu9Eq0TlIusUfUCYFPEawO91zQuqwzvdFbJSU7WHNtjStffJQ=="
+ },
+ "Microsoft.Data.SqlClient": {
+ "type": "Transitive",
+ "resolved": "7.0.1",
+ "contentHash": "9jZFXAJ2ThNYK7lhj2RhH7klXVNaWSvZpQncq3bPIOjmHBrdjwgeO4c8wucUVxQwFT8rAA13Z2F2jzoYR7ICDw==",
+ "dependencies": {
+ "Microsoft.Bcl.Cryptography": "9.0.13",
+ "Microsoft.Data.SqlClient.Extensions.Abstractions": "1.0.0",
+ "Microsoft.Data.SqlClient.Internal.Logging": "1.0.0",
+ "Microsoft.Data.SqlClient.SNI.runtime": "6.0.2",
+ "Microsoft.Extensions.Caching.Memory": "9.0.13",
+ "Microsoft.IdentityModel.JsonWebTokens": "8.16.0",
+ "Microsoft.IdentityModel.Protocols.OpenIdConnect": "8.16.0",
+ "Microsoft.SqlServer.Server": "1.0.0",
+ "System.Configuration.ConfigurationManager": "9.0.13",
+ "System.Security.Cryptography.Pkcs": "9.0.13"
+ }
+ },
+ "Microsoft.Data.SqlClient.Extensions.Abstractions": {
+ "type": "Transitive",
+ "resolved": "1.0.0",
+ "contentHash": "rlnxc0KfwDSbE8ZHntFnl8SCgOa9QtJZblMv2zXLhRwl1Je7fsdsVzxSjzzC4JMsfAK+jXJWyezRB8SxUY4BdA==",
+ "dependencies": {
+ "Microsoft.Data.SqlClient.Internal.Logging": "1.0.0"
+ }
+ },
+ "Microsoft.Data.SqlClient.Internal.Logging": {
+ "type": "Transitive",
+ "resolved": "1.0.0",
+ "contentHash": "Kue/7CF8KNT9zozfr30C94dMZVZml3atqWZvQemSXvTau76tRdypzeKiBKXadqgbOME0UiQIyVTNo5WxCRNVNg=="
+ },
+ "Microsoft.Data.SqlClient.SNI.runtime": {
+ "type": "Transitive",
+ "resolved": "6.0.2",
+ "contentHash": "f+pRODTWX7Y67jXO3T5S2dIPZ9qMJNySjlZT/TKmWVNWe19N8jcWmHaqHnnchaq3gxEKv1SWVY5EFzOD06l41w=="
+ },
+ "Microsoft.Extensions.Caching.Abstractions": {
+ "type": "Transitive",
+ "resolved": "9.0.13",
+ "contentHash": "nTT90JYIpcXEy6fcU8LPVycONkO6wipROgP9pyC4uxBif4fazu2rDzlWSntqtzr5p8GbQL2EopsYuTZR3yoeag==",
+ "dependencies": {
+ "Microsoft.Extensions.Primitives": "9.0.13"
+ }
+ },
+ "Microsoft.Extensions.Caching.Memory": {
+ "type": "Transitive",
+ "resolved": "9.0.13",
+ "contentHash": "OdQmN8LYcUEu20Fxii9mk68nHJGL+JPXF3w0+hxenf0oDDdDBA+ZV/S92FmIgAWAElowIiFA/g0x+8YB1g80Hg==",
+ "dependencies": {
+ "Microsoft.Extensions.Caching.Abstractions": "9.0.13",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.13",
+ "Microsoft.Extensions.Logging.Abstractions": "9.0.13",
+ "Microsoft.Extensions.Options": "9.0.13",
+ "Microsoft.Extensions.Primitives": "9.0.13"
+ }
+ },
+ "Microsoft.Extensions.Configuration": {
+ "type": "Transitive",
+ "resolved": "10.0.7",
+ "contentHash": "wZbGh7J8R1vXN525O6d8dlcDTxhRTnd5MyW4LdfP5S0tSnTwTCseYSrq6g0Mxh7W9xn8P/2xPuf0D/m6k2dy2w==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.7",
+ "Microsoft.Extensions.Primitives": "10.0.7"
+ }
+ },
+ "Microsoft.Extensions.Configuration.Abstractions": {
+ "type": "Transitive",
+ "resolved": "10.0.7",
+ "contentHash": "t56nEgvECcyLPojZIUFWJknQQDAbgfTf9J+QMYJE1YYvVgz69vN6B/AKL8Grvj3Lcnp8kTpNqwmwFhb3YLJmtQ==",
+ "dependencies": {
+ "Microsoft.Extensions.Primitives": "10.0.7"
+ }
+ },
+ "Microsoft.Extensions.Configuration.Binder": {
+ "type": "Transitive",
+ "resolved": "10.0.7",
+ "contentHash": "8bS1qIaRivny+WX+49pmeJ6iAylbtX8C0DLEcCQWZjdxQvLqaMssXiGD9P/6pYElrHbK5/nAHmjbQ8STqdMYeg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.7",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.7"
+ }
+ },
+ "Microsoft.Extensions.Configuration.EnvironmentVariables": {
+ "type": "Transitive",
+ "resolved": "10.0.7",
+ "contentHash": "TWto3imA+mJMLZI+5sbgLiFFoOFNFkizQYNaC5jTuiHKn3diwm1RN7mWDOEZN9kG2bixw7IvgpvtUG5/teSRzA==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.7",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.7"
+ }
+ },
+ "Microsoft.Extensions.Configuration.FileExtensions": {
+ "type": "Transitive",
+ "resolved": "10.0.7",
+ "contentHash": "qbZLvLsoTdArSloEnSxs21P781YUmwVmHc5NJPQD/ezAreQ7884z+6QfAZVKi86WAZtzx83jK2uC4itxOM44gQ==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.7",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.7",
+ "Microsoft.Extensions.FileProviders.Abstractions": "10.0.7",
+ "Microsoft.Extensions.FileProviders.Physical": "10.0.7",
+ "Microsoft.Extensions.Primitives": "10.0.7"
+ }
+ },
+ "Microsoft.Extensions.Configuration.Json": {
+ "type": "Transitive",
+ "resolved": "10.0.7",
+ "contentHash": "64dimvyyKk0dbUbrLg/YCv4ugJ4sVz2aXLwfvZwR1EC4tJqW9ru/oVRcXwoJRa2lQGXtYtlpk4maWOeIb48tQw==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "10.0.7",
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.7",
+ "Microsoft.Extensions.Configuration.FileExtensions": "10.0.7",
+ "Microsoft.Extensions.FileProviders.Abstractions": "10.0.7"
+ }
+ },
+ "Microsoft.Extensions.DependencyInjection": {
+ "type": "Transitive",
+ "resolved": "10.0.7",
+ "contentHash": "91F/o3emPV/+xY/ip3s2LqDNF14kjttlVtq0BXgg6p4MnCzeSZxnUJm+t6WRrtD3JdGo88/oX+z7OwK4y8PZuw==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7"
+ }
+ },
+ "Microsoft.Extensions.DependencyInjection.Abstractions": {
+ "type": "Transitive",
+ "resolved": "10.0.7",
+ "contentHash": "Z6mfFEaFcwCfSboxJwOLfu7/31npCY9q70WUamHW/vRQhDvBKOT4Vf9YkZj5J6hLvJpb0oDEYfHunQZj0xxvKw=="
+ },
+ "Microsoft.Extensions.DependencyModel": {
+ "type": "Transitive",
+ "resolved": "10.0.7",
+ "contentHash": "gCglFg/9Chu3lyJNytRuQAYM3mXQKNs1i01Cz2bc545QaHQ+LbBb4O5UCfu968Gro3ZVSOZ/ktilmPcaUSGSZA=="
+ },
+ "Microsoft.Extensions.FileProviders.Abstractions": {
+ "type": "Transitive",
+ "resolved": "10.0.7",
+ "contentHash": "teioDgVpi8L186wUfrXQV1YuBt6lCSPmFZiMZo53+FZxHFjOV+f4GXo4LXgJ273Mku9//AdXWVjk9J7eJP6inw==",
+ "dependencies": {
+ "Microsoft.Extensions.Primitives": "10.0.7"
+ }
+ },
+ "Microsoft.Extensions.FileProviders.Physical": {
+ "type": "Transitive",
+ "resolved": "10.0.7",
+ "contentHash": "zhgWg/i0ECj5v0jLFBSZHplvc5ygCI91DR4nne+BP4XAKF5ycz0pEKnFiTw8C1jCABJEZsnBZh6pXAvn71kFmw==",
+ "dependencies": {
+ "Microsoft.Extensions.FileProviders.Abstractions": "10.0.7",
+ "Microsoft.Extensions.FileSystemGlobbing": "10.0.7",
+ "Microsoft.Extensions.Primitives": "10.0.7"
+ }
+ },
+ "Microsoft.Extensions.FileSystemGlobbing": {
+ "type": "Transitive",
+ "resolved": "10.0.7",
+ "contentHash": "NTUspqB+vH9g4wAD6KPOBx01xqYuKXR/cHXm449zpbq1GqfjdAxBmg7eJXrNsPw7SKwIdT2cJ05GxYVvc+lvsA=="
+ },
+ "Microsoft.Extensions.Logging": {
+ "type": "Transitive",
+ "resolved": "10.0.7",
+ "contentHash": "hOeRIQ63GkgiYCB/MIFp+LQs8aXpJXpB55t6Aj37ab7t2/6WeFcPXxYM9hdy/o5tffzwf8mhqzLJP6mjGYCxjw==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection": "10.0.7",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.7",
+ "Microsoft.Extensions.Options": "10.0.7"
+ }
+ },
+ "Microsoft.Extensions.Logging.Abstractions": {
+ "type": "Transitive",
+ "resolved": "10.0.7",
+ "contentHash": "tIEcQ2gvERrH2KiCjdsVcHGhXt9lIsuDStfOIeZWr7/fP8IXhGiYfx0/80PNI7WPO2IYuFtlZLSlnTS8+/Mchw==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7"
+ }
+ },
+ "Microsoft.Extensions.Options": {
+ "type": "Transitive",
+ "resolved": "10.0.7",
+ "contentHash": "00SHUGTh2jSMvIr6x9Xwd2nE+B5/qFCO/9hDwUDhJsjYRDlADmaBZ7tqehXzBDsfjHSXJzuRHJzPYPPjphBQ7Q==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7",
+ "Microsoft.Extensions.Primitives": "10.0.7"
+ }
+ },
+ "Microsoft.Extensions.Options.ConfigurationExtensions": {
+ "type": "Transitive",
+ "resolved": "10.0.7",
+ "contentHash": "IT7f+EMXZtkjatEcF+o6aOw/7OE4etRrMiDGEWH/iiTu2R3uhC4NEQJCfHiibtX45U3sIQ5Fh6tbb1qaOz3YAg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration.Abstractions": "10.0.7",
+ "Microsoft.Extensions.Configuration.Binder": "10.0.7",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7",
+ "Microsoft.Extensions.Options": "10.0.7",
+ "Microsoft.Extensions.Primitives": "10.0.7"
+ }
+ },
+ "Microsoft.Extensions.Primitives": {
+ "type": "Transitive",
+ "resolved": "10.0.7",
+ "contentHash": "D5M0Jr551iTgwkZMN9rm0pSkgNLj5quUWQUmQPMZh7k/bnvZTnXRGfE2KuvXf1EEjt/ofD9yw9IumpgdP9QCnw=="
+ },
+ "Microsoft.IdentityModel.Abstractions": {
+ "type": "Transitive",
+ "resolved": "8.16.0",
+ "contentHash": "gSxKLWRZzBpIsEoeUPkxfywNCCvRvl7hkq146XHPk5vOQc9izSf1I+uL1vh4y2U19QPxd9Z8K/8AdWyxYz2lSg=="
+ },
+ "Microsoft.IdentityModel.JsonWebTokens": {
+ "type": "Transitive",
+ "resolved": "8.16.0",
+ "contentHash": "prBU72cIP4V8E9fhN+o/YdskTsLeIcnKPbhZf0X6mD7fdxoZqnS/NdEkSr+9Zp+2q7OZBOMfNBKGbTbhXODO4w==",
+ "dependencies": {
+ "Microsoft.IdentityModel.Tokens": "8.16.0"
+ }
+ },
+ "Microsoft.IdentityModel.Logging": {
+ "type": "Transitive",
+ "resolved": "8.16.0",
+ "contentHash": "MTzXmETkNQPACR7/XCXM1OGM6oU9RkyibqeJRtO9Ndew2LnGjMf9Atqj2VSf4XC27X0FQycUAlzxxEgQMWn2xQ==",
+ "dependencies": {
+ "Microsoft.IdentityModel.Abstractions": "8.16.0"
+ }
+ },
+ "Microsoft.IdentityModel.Protocols": {
+ "type": "Transitive",
+ "resolved": "8.16.0",
+ "contentHash": "UFrU7d46UTsPQTa2HIEIpB9H1uJe1BW9FLw5uhEJ2ZuKdur8bcUA/bO5caq5dlBt5gNJeRIB3QQXYNs5fCQCZA==",
+ "dependencies": {
+ "Microsoft.IdentityModel.Tokens": "8.16.0"
+ }
+ },
+ "Microsoft.IdentityModel.Protocols.OpenIdConnect": {
+ "type": "Transitive",
+ "resolved": "8.16.0",
+ "contentHash": "h4yVXyJsEBBX5lg2G5ftMsi5JzcNEGAzrNphA6DQ6eOd8P0s+cDCOyPwVTYLePZvJL5unbPvYIvzrbTXzFjXnQ==",
+ "dependencies": {
+ "Microsoft.IdentityModel.Protocols": "8.16.0",
+ "System.IdentityModel.Tokens.Jwt": "8.16.0"
+ }
+ },
+ "Microsoft.IdentityModel.Tokens": {
+ "type": "Transitive",
+ "resolved": "8.16.0",
+ "contentHash": "rtViGJcGsN7WcfUNErwNeQgjuU5cJNl6FDQsfi9TncwO+Epzn0FTfBsg3YuFW1Q0Ch/KPxaVdjLw3/+5Z5ceFQ==",
+ "dependencies": {
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.0",
+ "Microsoft.IdentityModel.Logging": "8.16.0"
+ }
+ },
+ "Microsoft.NETCore.Platforms": {
+ "type": "Transitive",
+ "resolved": "1.1.0",
+ "contentHash": "kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A=="
+ },
+ "Microsoft.SourceLink.Common": {
+ "type": "Transitive",
+ "resolved": "10.0.203",
+ "contentHash": "QYAnhBCOkT3ZUT/fHag11+bamwlbZ3U9Vi/WfKrD9emdUf1t3aqjWv0V2KtEGHSRSC81aBc8Oy/mvyGpEYd9Pg=="
+ },
+ "Microsoft.SqlServer.Server": {
+ "type": "Transitive",
+ "resolved": "1.0.0",
+ "contentHash": "N4KeF3cpcm1PUHym1RmakkzfkEv3GRMyofVv40uXsQhCQeglr2OHNcUk2WOG51AKpGO8ynGpo9M/kFXSzghwug=="
+ },
+ "Microsoft.Testing.Extensions.Telemetry": {
+ "type": "Transitive",
+ "resolved": "2.1.0",
+ "contentHash": "5TwgTx2u7k9Al/xbZ18QXq4Hdy2xewkVTI6K3sk+jY2ykqUkIKNuj7rFu3GOV5KnEUkevhw6eZcyZs77STHJIA==",
+ "dependencies": {
+ "Microsoft.ApplicationInsights": "2.23.0",
+ "Microsoft.Testing.Platform": "2.1.0"
+ }
+ },
+ "Microsoft.Testing.Extensions.TrxReport.Abstractions": {
+ "type": "Transitive",
+ "resolved": "2.1.0",
+ "contentHash": "D8xmIJYQFJ6D49Rx5/vPrkZZxb338Jkew+eSqZLBfBiWKw4QZKy3i1BOXiLfz0lOmaNErwDz/YWRojCdNl+B9Q==",
+ "dependencies": {
+ "Microsoft.Testing.Platform": "2.1.0"
+ }
+ },
+ "Microsoft.Testing.Extensions.VSTestBridge": {
+ "type": "Transitive",
+ "resolved": "2.1.0",
+ "contentHash": "bNRIEA2YoGr+Y+7LHdA7i1U80+7BAdf4K4Qh4Kx6eKkoBK/NV7QpoMg+GWPP0/eqAFzuUmUOIPVZ87Oo0Vyxmw==",
+ "dependencies": {
+ "Microsoft.TestPlatform.ObjectModel": "18.0.1",
+ "Microsoft.Testing.Extensions.Telemetry": "2.1.0",
+ "Microsoft.Testing.Extensions.TrxReport.Abstractions": "2.1.0",
+ "Microsoft.Testing.Platform": "2.1.0"
+ }
+ },
+ "Microsoft.Testing.Platform": {
+ "type": "Transitive",
+ "resolved": "2.1.0",
+ "contentHash": "aHkjNTGIA+Zbdw6RJgSFrbDrCjO0CgqpElqYcvkRSeUhBv2bKarnvU3ep786U7UqrPlArT/B7VmImRibJD0Zrg=="
+ },
+ "Microsoft.Testing.Platform.MSBuild": {
+ "type": "Transitive",
+ "resolved": "2.1.0",
+ "contentHash": "UpfPebXQtHGrWz21+YLHmJSm+5zsuPE9U9pfdCtoB+67g75fDmWlNgpkH2ZmdVhSwkjNIed9Icg8Iu63z2ei5Q==",
+ "dependencies": {
+ "Microsoft.Testing.Platform": "2.1.0"
+ }
+ },
+ "Microsoft.TestPlatform.ObjectModel": {
+ "type": "Transitive",
+ "resolved": "18.5.1",
+ "contentHash": "KNZd+M0S0rz5eNAln0pbZX+A/RbokYZCbGKx4fN4CkhtWhkz6nSJDO+9LGYjRE4d0WPVriJ2JnVubkjt3+PpMg=="
+ },
+ "Microsoft.TestPlatform.TestHost": {
+ "type": "Transitive",
+ "resolved": "18.5.1",
+ "contentHash": "RM+3JNHEoHOCFXzVntUcIiYxzPjzBN0N8wto6HYXi76YyBTZ/3CeRL8U+Pk5zx3AUrOmHxDvKJwGUCdElU9bJg==",
+ "dependencies": {
+ "Microsoft.TestPlatform.ObjectModel": "18.5.1",
+ "Newtonsoft.Json": "13.0.3"
+ }
+ },
+ "Microsoft.Win32.SystemEvents": {
+ "type": "Transitive",
+ "resolved": "8.0.0",
+ "contentHash": "9opKRyOKMCi2xJ7Bj7kxtZ1r9vbzosMvRrdEhVhDz8j8MoBGgB+WmC94yH839NPH+BclAjtQ/pyagvi/8gDLkw=="
+ },
+ "Moq": {
+ "type": "Transitive",
+ "resolved": "4.20.72",
+ "contentHash": "EA55cjyNn8eTNWrgrdZJH5QLFp2L43oxl1tlkoYUKIE9pRwL784OWiTXeCV5ApS+AMYEAlt7Fo03A2XfouvHmQ==",
+ "dependencies": {
+ "Castle.Core": "5.1.1"
+ }
+ },
+ "NETStandard.Library": {
+ "type": "Transitive",
+ "resolved": "1.6.1",
+ "contentHash": "WcSp3+vP+yHNgS8EV5J7pZ9IRpeDuARBPN28by8zqff1wJQXm26PVU8L3/fYLBJVU7BtDyqNVWq2KlCVvSSR4A==",
+ "dependencies": {
+ "Microsoft.NETCore.Platforms": "1.1.0"
+ }
+ },
+ "Newtonsoft.Json": {
+ "type": "Transitive",
+ "resolved": "13.0.3",
+ "contentHash": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ=="
+ },
+ "NHibernate": {
+ "type": "Transitive",
+ "resolved": "5.6.0",
+ "contentHash": "uDUFQQYSuLa2gdWrdHKJzvOqFkeVYMd3yWqGxtgyIG3cp+MxxQXNGe3iNYcy3f/U/yHjQpQUryMyvlBZVzz0FA==",
+ "dependencies": {
+ "Antlr3.Runtime": "[3.5.1, 4.0.0)",
+ "Iesi.Collections": "4.1.1",
+ "Remotion.Linq": "[2.2.0, 3.0.0)",
+ "Remotion.Linq.EagerFetching": "[2.2.0, 3.0.0)",
+ "System.Configuration.ConfigurationManager": "8.0.0"
+ }
+ },
+ "NHibernate.Extensions.Logging": {
+ "type": "Transitive",
+ "resolved": "4.0.0",
+ "contentHash": "ztoDkVfu5nKj1YhxnLSP4fdnYR5FttkNyS9mqH0Hg5g1G/fZ90z7FwRjXHMdiFZl8T1wi569IvoCXm3oqzl5lA==",
+ "dependencies": {
+ "NHibernate": "5.4.9",
+ "System.Drawing.Common": "8.0.12"
+ }
+ },
+ "NHibernateProfiler.Appender": {
+ "type": "Transitive",
+ "resolved": "6.0.6053",
+ "contentHash": "WN0Cm9s8k+K4aPTEwAhVykzG8l37iPRJgdAJNbHfAycIo+y+D/J8PnDcqCfLdrzDKtu/6zgKEkIAjBUGbMDpXw==",
+ "dependencies": {
+ "Azure.Storage.Blobs": "12.18.0",
+ "Google.Protobuf": "3.24.4",
+ "Microsoft.CodeAnalysis.CSharp": "4.8.0",
+ "Microsoft.CodeAnalysis.CSharp.Workspaces": "4.8.0",
+ "Microsoft.CodeAnalysis.Common": "4.8.0",
+ "Microsoft.Extensions.Configuration.Abstractions": "7.0.0",
+ "Microsoft.Extensions.DependencyModel": "7.0.0",
+ "Microsoft.Extensions.Logging": "7.0.0",
+ "Newtonsoft.Json": "13.0.3",
+ "System.Data.SqlClient": "4.8.6",
+ "System.Security.Permissions": "6.0.1"
+ }
+ },
+ "PPWCode.Util.Authorization.I": {
+ "type": "Transitive",
+ "resolved": "1.0.0",
+ "contentHash": "JDc3Ul3/gmpLKfBgW6emQSPyeikgP3S+A0GzbOendxWOT7YNsdyzs5wAthzgkF88o2BG+R7EXBZcppg4qR9v+w=="
+ },
+ "PPWCode.Util.Time.I": {
+ "type": "Transitive",
+ "resolved": "2.0.0-alpha.1",
+ "contentHash": "Jve7ymPsfTegA4cGfYt6Vx9duJh+0exANdKe/6lpuEwUESAZAEXShQyHrWW2Krfx414B3vVxr1f6F1P3DVD2Gg==",
+ "dependencies": {
+ "PPWCode.Vernacular.Contracts.I": "1.5.0",
+ "PPWCode.Vernacular.Exceptions.V": "1.1.0",
+ "PPWCode.Vernacular.Semantics.V": "1.0.0"
+ }
+ },
+ "PPWCode.Vernacular.Exceptions.V": {
+ "type": "Transitive",
+ "resolved": "1.1.0",
+ "contentHash": "G/XH86vmbBIIuVRcoNLFRD0AHtEJ7aLw8w+Ia3BUHgZw2TGALDQ/eNOfrOrTFy5+4HPO2PLwRfrr69/Cp/zTRw=="
+ },
+ "PPWCode.Vernacular.NHibernate.IV.SqlServer": {
+ "type": "Transitive",
+ "resolved": "1.0.0-alpha.4",
+ "contentHash": "g6s0KZlboHXnT4WtBJqK3mlQN/OIH2oOgi/FGvhUswMxrDkBev1yxA9omYB/S+1BmdSAVmwdF6jxjFHNf3kYFA==",
+ "dependencies": {
+ "Microsoft.Data.SqlClient": "7.0.1",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.7",
+ "NHibernate": "5.6.0",
+ "PPWCode.Vernacular.Contracts.I": "1.5.0",
+ "PPWCode.Vernacular.Exceptions.V": "1.1.0",
+ "PPWCode.Vernacular.NHibernate.IV": "1.0.0-alpha.4",
+ "PPWCode.Vernacular.Persistence.V": "1.2.0-alpha.5",
+ "PPWCode.Vernacular.Semantics.V": "1.0.0",
+ "System.Configuration.ConfigurationManager": "10.0.7"
+ }
+ },
+ "PPWCode.Vernacular.Persistence.V": {
+ "type": "Transitive",
+ "resolved": "1.2.0-alpha.5",
+ "contentHash": "vz0SYQUZGLaKiSiV0Y1yHm0FByb5+jISNmWXWyUMQlAwEAMSrC7Na5K7kkpGDoVMo8OSxMnzbCSeMCbP4isJOw==",
+ "dependencies": {
+ "PPWCode.Vernacular.Contracts.I": "1.5.0",
+ "PPWCode.Vernacular.Exceptions.V": "1.1.0",
+ "PPWCode.Vernacular.Semantics.V": "1.0.0"
+ }
+ },
+ "PPWCode.Vernacular.Semantics.V": {
+ "type": "Transitive",
+ "resolved": "1.0.0",
+ "contentHash": "B4jer3TyGME3xLFLY7BUN71OmvJiquPN4JH0ifQ7Gvh9CIrIL2orX/SHBtWNF7foUN1O22VpytcpmzWoT11Heg==",
+ "dependencies": {
+ "PPWCode.Vernacular.Contracts.I": "1.5.0",
+ "PPWCode.Vernacular.Exceptions.V": "1.1.0"
+ }
+ },
+ "Remotion.Linq": {
+ "type": "Transitive",
+ "resolved": "2.2.0",
+ "contentHash": "fK/76UmpC0FXBlGDFVPLJHQlDLYnGC+XY3eoDgCgbtrhi0vzbXDQ3n/IYHhqSKqXQfGw/u04A1drWs7rFVkRjw=="
+ },
+ "Remotion.Linq.EagerFetching": {
+ "type": "Transitive",
+ "resolved": "2.2.0",
+ "contentHash": "d6bkH5kROJPFsdvDy4yQved9I4ickamytPByPyuQcH9dk1ef4jciajo50vTQhheyOHeWOgLh97UvkiHV8QSgeQ==",
+ "dependencies": {
+ "Remotion.Linq": "2.2.0"
+ }
+ },
+ "runtime.native.System.Data.SqlClient.sni": {
+ "type": "Transitive",
+ "resolved": "4.7.0",
+ "contentHash": "9kyFSIdN3T0qjDQ2R0HRXYIhS3l5psBzQi6qqhdLz+SzFyEy4sVxNOke+yyYv8Cu8rPER12c3RDjLT8wF3WBYQ==",
+ "dependencies": {
+ "runtime.win-arm64.runtime.native.System.Data.SqlClient.sni": "4.4.0",
+ "runtime.win-x64.runtime.native.System.Data.SqlClient.sni": "4.4.0",
+ "runtime.win-x86.runtime.native.System.Data.SqlClient.sni": "4.4.0"
+ }
+ },
+ "runtime.win-arm64.runtime.native.System.Data.SqlClient.sni": {
+ "type": "Transitive",
+ "resolved": "4.4.0",
+ "contentHash": "LbrynESTp3bm5O/+jGL8v0Qg5SJlTV08lpIpFesXjF6uGNMWqFnUQbYBJwZTeua6E/Y7FIM1C54Ey1btLWupdg=="
+ },
+ "runtime.win-x64.runtime.native.System.Data.SqlClient.sni": {
+ "type": "Transitive",
+ "resolved": "4.4.0",
+ "contentHash": "38ugOfkYJqJoX9g6EYRlZB5U2ZJH51UP8ptxZgdpS07FgOEToV+lS11ouNK2PM12Pr6X/PpT5jK82G3DwH/SxQ=="
+ },
+ "runtime.win-x86.runtime.native.System.Data.SqlClient.sni": {
+ "type": "Transitive",
+ "resolved": "4.4.0",
+ "contentHash": "YhEdSQUsTx+C8m8Bw7ar5/VesXvCFMItyZF7G1AUY+OM0VPZUOeAVpJ4Wl6fydBGUYZxojTDR3I6Bj/+BPkJNA=="
+ },
+ "Serilog": {
+ "type": "Transitive",
+ "resolved": "4.3.1",
+ "contentHash": "savYe7h5yRlkqBVOwP8cIRDOdqKiPmYCU4W87JH38sBmcKD5EBoXvQIw6bNEvZ/pTe1gsiye3VFCzBsoppGkXQ=="
+ },
+ "Serilog.Extensions.Logging": {
+ "type": "Transitive",
+ "resolved": "10.0.0",
+ "contentHash": "vx0kABKl2dWbBhhqAfTOk53/i8aV/5VaT3a6il9gn72Wqs2pM7EK2OB6No6xdqK2IaY6Zf9gdjLuK9BVa2rT+Q==",
+ "dependencies": {
+ "Microsoft.Extensions.Logging": "10.0.0",
+ "Serilog": "4.2.0"
+ }
+ },
+ "Serilog.Settings.Configuration": {
+ "type": "Transitive",
+ "resolved": "10.0.0",
+ "contentHash": "LNq+ibS1sbhTqPV1FIE69/9AJJbfaOhnaqkzcjFy95o+4U+STsta9mi97f1smgXsWYKICDeGUf8xUGzd/52/uA==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration.Binder": "10.0.0",
+ "Microsoft.Extensions.DependencyModel": "10.0.0",
+ "Serilog": "4.3.0"
+ }
+ },
+ "Serilog.Sinks.NUnit": {
+ "type": "Transitive",
+ "resolved": "1.0.3",
+ "contentHash": "NufJ17KzvXKaDubTEJ8zSGbhQ0+uRJ05q8B9sjORqCRVt+692u8svNMP7Miu1v7+SIPjPZybmkRoSpppgjaTfA==",
+ "dependencies": {
+ "NETStandard.Library": "1.6.1",
+ "NUnit": "3.6.0",
+ "Serilog": "2.0.0"
+ }
+ },
+ "StyleCop.Analyzers.Unstable": {
+ "type": "Transitive",
+ "resolved": "1.2.0.556",
+ "contentHash": "zvn9Mqs/ox/83cpYPignI8hJEM2A93s2HkHs8HYMOAQW0PkampyoErAiIyKxgTLqbbad29HX/shv/6LGSjPJNQ=="
+ },
+ "System.Composition": {
+ "type": "Transitive",
+ "resolved": "7.0.0",
+ "contentHash": "tRwgcAkDd85O8Aq6zHDANzQaq380cek9lbMg5Qma46u5BZXq/G+XvIYmu+UI+BIIZ9zssXLYrkTykEqxxvhcmg==",
+ "dependencies": {
+ "System.Composition.AttributedModel": "7.0.0",
+ "System.Composition.Convention": "7.0.0",
+ "System.Composition.Hosting": "7.0.0",
+ "System.Composition.Runtime": "7.0.0",
+ "System.Composition.TypedParts": "7.0.0"
+ }
+ },
+ "System.Composition.AttributedModel": {
+ "type": "Transitive",
+ "resolved": "7.0.0",
+ "contentHash": "2QzClqjElKxgI1jK1Jztnq44/8DmSuTSGGahXqQ4TdEV0h9s2KikQZIgcEqVzR7OuWDFPGLHIprBJGQEPr8fAQ=="
+ },
+ "System.Composition.Convention": {
+ "type": "Transitive",
+ "resolved": "7.0.0",
+ "contentHash": "IMhTlpCs4HmlD8B+J8/kWfwX7vrBBOs6xyjSTzBlYSs7W4OET4tlkR/Sg9NG8jkdJH9Mymq0qGdYS1VPqRTBnQ==",
+ "dependencies": {
+ "System.Composition.AttributedModel": "7.0.0"
+ }
+ },
+ "System.Composition.Hosting": {
+ "type": "Transitive",
+ "resolved": "7.0.0",
+ "contentHash": "eB6gwN9S+54jCTBJ5bpwMOVerKeUfGGTYCzz3QgDr1P55Gg/Wb27ShfPIhLMjmZ3MoAKu8uUSv6fcCdYJTN7Bg==",
+ "dependencies": {
+ "System.Composition.Runtime": "7.0.0"
+ }
+ },
+ "System.Composition.Runtime": {
+ "type": "Transitive",
+ "resolved": "7.0.0",
+ "contentHash": "aZJ1Zr5Txe925rbo4742XifEyW0MIni1eiUebmcrP3HwLXZ3IbXUj4MFMUH/RmnJOAQiS401leg/2Sz1MkApDw=="
+ },
+ "System.Composition.TypedParts": {
+ "type": "Transitive",
+ "resolved": "7.0.0",
+ "contentHash": "ZK0KNPfbtxVceTwh+oHNGUOYV2WNOHReX2AXipuvkURC7s/jPwoWfsu3SnDBDgofqbiWr96geofdQ2erm/KTHg==",
+ "dependencies": {
+ "System.Composition.AttributedModel": "7.0.0",
+ "System.Composition.Hosting": "7.0.0",
+ "System.Composition.Runtime": "7.0.0"
+ }
+ },
+ "System.Configuration.ConfigurationManager": {
+ "type": "Transitive",
+ "resolved": "10.0.7",
+ "contentHash": "NUV7+8ZpwAdtylEypliCwxTyMtt5oARCdEN9hOflL2dq5sGXHKAtBoVs1rb8qEj85ThC/5vJKDQmdiqKxZRgag==",
+ "dependencies": {
+ "System.Diagnostics.EventLog": "10.0.7",
+ "System.Security.Cryptography.ProtectedData": "10.0.7"
+ }
+ },
+ "System.Data.SqlClient": {
+ "type": "Transitive",
+ "resolved": "4.8.6",
+ "contentHash": "2Ij/LCaTQRyAi5lAv7UUTV9R2FobC8xN9mE0fXBZohum/xLl8IZVmE98Rq5ugQHjCgTBRKqpXRb4ORulRdA6Ig==",
+ "dependencies": {
+ "runtime.native.System.Data.SqlClient.sni": "4.7.0"
+ }
+ },
+ "System.Diagnostics.EventLog": {
+ "type": "Transitive",
+ "resolved": "10.0.7",
+ "contentHash": "WbmDLeTPYhEzXhvYVioTVn/D1XX6bovyny9n5p8Zxtf03+eY385RB818teZm6n+fA63iZNvng0/Np4tLuhkMhQ=="
+ },
+ "System.Drawing.Common": {
+ "type": "Transitive",
+ "resolved": "8.0.12",
+ "contentHash": "mZrI0KKFAZO8gWaARhdaJblMUNEeHMlPsFa/nRS4j4EenYP/+f8F2bzu4yb0Co7WYuJ/w/D8d/zW4KGCdYJCyQ==",
+ "dependencies": {
+ "Microsoft.Win32.SystemEvents": "8.0.0"
+ }
+ },
+ "System.IdentityModel.Tokens.Jwt": {
+ "type": "Transitive",
+ "resolved": "8.16.0",
+ "contentHash": "rrs2u7DRMXQG2yh0oVyF/vLwosfRv20Ld2iEpYcKwQWXHjfV+gFXNQsQ9p008kR9Ou4pxBs68Q6/9zC8Gi1wjg==",
+ "dependencies": {
+ "Microsoft.IdentityModel.JsonWebTokens": "8.16.0",
+ "Microsoft.IdentityModel.Tokens": "8.16.0"
+ }
+ },
+ "System.IO.Hashing": {
+ "type": "Transitive",
+ "resolved": "10.0.7",
+ "contentHash": "6hsjdSr4VOXSOnhALkYplHpAxnTG1J33YN42IB6nH2fEg4QnJqrZ4Ft+qn7mkrKAOYC8pCSFYwVWw6rQbmwgLQ=="
+ },
+ "System.Memory.Data": {
+ "type": "Transitive",
+ "resolved": "1.0.2",
+ "contentHash": "JGkzeqgBsiZwKJZ1IxPNsDFZDhUvuEdX8L8BDC8N3KOj+6zMcNU28CNN59TpZE/VJYy9cP+5M+sbxtWJx3/xtw=="
+ },
+ "System.Security.Cryptography.Pkcs": {
+ "type": "Transitive",
+ "resolved": "9.0.13",
+ "contentHash": "dxJhkuoaelvWy588wPXjShNks+ZMiSgXnN75/u+DPbER5PqKrLPDftE0BvGM7nDK/scQAVlD+gRXlCAAjWi58Q=="
+ },
+ "System.Security.Cryptography.ProtectedData": {
+ "type": "Transitive",
+ "resolved": "10.0.7",
+ "contentHash": "eqKW9wyPUhZi6pxy9Y0fQO/bdHROcwj0tYdmoGEPCPCtCJLFdVVAlzuuYYEnJI64HxhoXPYGhtx891g/jwN4rg=="
+ },
+ "System.Security.Permissions": {
+ "type": "Transitive",
+ "resolved": "6.0.1",
+ "contentHash": "QufGNXopGXxdXbkDn87hta4ajdNKNI3a1+HoJbKkmBbMtYPhEgEJKSiPZHGjI0zQpgZ7gi5L0gSV3PeewKRtew==",
+ "dependencies": {
+ "System.Windows.Extensions": "6.0.0"
+ }
+ },
+ "System.Windows.Extensions": {
+ "type": "Transitive",
+ "resolved": "6.0.0",
+ "contentHash": "IXoJOXIqc39AIe+CIR7koBtRGMiCt/LPM3lI+PELtDIy9XdyeSrwXFdWV9dzJ2Awl0paLWUaknLxFQ5HpHZUog==",
+ "dependencies": {
+ "System.Drawing.Common": "6.0.0"
+ }
+ },
+ "ppwcode.util.validation.iv": {
+ "type": "Project"
+ },
+ "ppwcode.util.validation.iv.nhibernate": {
+ "type": "Project",
+ "dependencies": {
+ "PPWCode.Util.Validation.IV": "[0.0.0-devbuild, )",
+ "PPWCode.Vernacular.NHibernate.IV": "[1.0.0-*, )"
+ }
+ },
+ "PPWCode.Vernacular.Contracts.I": {
+ "type": "CentralTransitive",
+ "requested": "[1.*, )",
+ "resolved": "1.5.0",
+ "contentHash": "Hv7hjZ+RXEnVkAZEdwlAW5QbT0Hvh+pCusaiQT5bRD93Z58OuMHH6Q48TizzufF6+DRm9rJdnufIcOWWvKLKaw=="
+ },
+ "PPWCode.Vernacular.NHibernate.IV": {
+ "type": "CentralTransitive",
+ "requested": "[1.0.0-*, )",
+ "resolved": "1.0.0-alpha.4",
+ "contentHash": "jBMDTA+eeHUmK9vo9j0xlpcAS5Wa+irxuY+leT1ZxekrYC9oYlcvPImaS7HjQARJwm1K0INNLF6SHRiOXO5JBA==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.7",
+ "NHibernate": "5.6.0",
+ "PPWCode.Vernacular.Contracts.I": "1.5.0",
+ "PPWCode.Vernacular.Exceptions.V": "1.1.0",
+ "PPWCode.Vernacular.Persistence.V": "1.2.0-alpha.5",
+ "PPWCode.Vernacular.Semantics.V": "1.0.0",
+ "System.Configuration.ConfigurationManager": "10.0.7"
+ }
+ }
+ },
+ "net8.0": {
+ "coverlet.collector": {
+ "type": "Direct",
+ "requested": "[10.*, )",
+ "resolved": "10.0.0",
+ "contentHash": "WFejCcOUR6k8UYyDnnR6Gk+obFYMsWrZuNqPJnsVFGVhpPSN0y20D4qbdKJnXinYGx9PQ397Hf9TnU1NBST8vA=="
+ },
+ "JunitXml.TestLogger": {
+ "type": "Direct",
+ "requested": "[7.*, )",
+ "resolved": "7.1.0",
+ "contentHash": "Iu3dSnhJ+gzjlOtpIPZgHvJbmvmPbIGjxT7h5pNxxMiNTXKfxgi0O0eehnZ29qlC5bElAM0o9dSrjzjydCaGiA=="
+ },
+ "Microsoft.NET.Test.Sdk": {
+ "type": "Direct",
+ "requested": "[18.*, )",
+ "resolved": "18.5.1",
+ "contentHash": "SfqVaLiIqAbRWuPg5BP4QFwBIirQj/YIL8Dhxl6zntBKbXp0cQykoV480SmwG+yRMiWptxEI6NbHQuGSZ8b97w==",
+ "dependencies": {
+ "Microsoft.CodeCoverage": "18.5.1",
+ "Microsoft.TestPlatform.TestHost": "18.5.1"
+ }
+ },
+ "Microsoft.SourceLink.GitHub": {
+ "type": "Direct",
+ "requested": "[10.*, )",
+ "resolved": "10.0.203",
+ "contentHash": "R4Tvr1oACImMS+Y5M7NM07ll9QyJSKnki3Dvz8QwG1W6FEmd+9fmZXAF6BE6UPswHF6n0v41wgMQGlaudOspqA==",
+ "dependencies": {
+ "Microsoft.Build.Tasks.Git": "10.0.203",
+ "Microsoft.SourceLink.Common": "10.0.203",
+ "System.IO.Hashing": "10.0.7"
+ }
+ },
+ "NUnit": {
+ "type": "Direct",
+ "requested": "[4.*, )",
+ "resolved": "4.6.0",
+ "contentHash": "RsafbuYR+HzdDhgfdLYrDOSuFdv8IgGpbe5NIqXWAhZ7t6lXNj9yNcLcAk34lKVio6OusBQolKlboyl/9hObNA=="
+ },
+ "NUnit.Analyzers": {
+ "type": "Direct",
+ "requested": "[4.11.2, )",
+ "resolved": "4.11.2",
+ "contentHash": "D9w1tsxMyBAsINY2yyIaS59V9W4iGtuPyHs+9enuhmDAaCsSOitJKha4TUPENCAd2LrylCawur0YhCJoLMHBJA=="
+ },
+ "NUnit3TestAdapter": {
+ "type": "Direct",
+ "requested": "[6.*, )",
+ "resolved": "6.2.0",
+ "contentHash": "8PMJB8za2u8S0ey/nEtvh9BHjLhv5yzUEMCmA0+VIPLKSeOAZ3TEHWDyAp0+iPQb3jnBH1o8k0PoU2FgzXLRnQ==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyModel": "8.0.2",
+ "Microsoft.Testing.Extensions.VSTestBridge": "2.1.0",
+ "Microsoft.Testing.Platform.MSBuild": "2.1.0"
+ }
+ },
+ "PPWCode.Vernacular.NHibernate.IV.Test": {
+ "type": "Direct",
+ "requested": "[1.0.0-*, )",
+ "resolved": "1.0.0-alpha.4",
+ "contentHash": "69r1iMnzFonMb4R14o7z950VtCwQNadpsC2KFRSb6Ynsk1eg+j6bLHA7nwLQf5nVL/NwFwD/ucivSUDjTJHLqg==",
+ "dependencies": {
+ "Microsoft.Data.SqlClient": "7.0.1",
+ "Microsoft.Extensions.Configuration": "8.0.0",
+ "Microsoft.Extensions.Configuration.EnvironmentVariables": "8.0.0",
+ "Microsoft.Extensions.Configuration.Json": "8.0.1",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2",
+ "Microsoft.Extensions.DependencyModel": "8.0.2",
+ "Microsoft.Extensions.Logging": "8.0.1",
+ "Microsoft.Extensions.Logging.Abstractions": "8.0.3",
+ "Microsoft.Extensions.Options.ConfigurationExtensions": "8.0.0",
+ "Moq": "4.20.72",
+ "NHibernate": "5.6.0",
+ "NHibernate.Extensions.Logging": "4.0.0",
+ "NHibernateProfiler.Appender": "6.0.6053",
+ "NUnit": "4.5.1",
+ "PPWCode.Util.Authorization.I": "1.0.0",
+ "PPWCode.Util.Time.I": "2.0.0-alpha.1",
+ "PPWCode.Vernacular.Contracts.I": "1.5.0",
+ "PPWCode.Vernacular.Exceptions.V": "1.1.0",
+ "PPWCode.Vernacular.NHibernate.IV.SqlServer": "1.0.0-alpha.4",
+ "PPWCode.Vernacular.Persistence.V": "1.2.0-alpha.5",
+ "PPWCode.Vernacular.Semantics.V": "1.0.0",
+ "Serilog": "4.3.1",
+ "Serilog.Extensions.Logging": "8.0.0",
+ "Serilog.Settings.Configuration": "8.0.4",
+ "Serilog.Sinks.NUnit": "1.0.3",
+ "System.Configuration.ConfigurationManager": "8.0.1"
+ }
+ },
+ "StyleCop.Analyzers": {
+ "type": "Direct",
+ "requested": "[1.2.0-beta.556, )",
+ "resolved": "1.2.0-beta.556",
+ "contentHash": "llRPgmA1fhC0I0QyFLEcjvtM2239QzKr/tcnbsjArLMJxJlu0AA5G7Fft0OI30pHF3MW63Gf4aSSsjc5m82J1Q==",
+ "dependencies": {
+ "StyleCop.Analyzers.Unstable": "1.2.0.556"
+ }
+ },
+ "Antlr3.Runtime": {
+ "type": "Transitive",
+ "resolved": "3.5.1",
+ "contentHash": "ZwCEpLCLZXkjzf1lYEixp9hgVlYYk33ACHn6xjFyVhGRi2BpoYQez0qtatbetdylASWYTG+cGz0CGR4z66JM4w==",
+ "dependencies": {
+ "NETStandard.Library": "1.6.0"
+ }
+ },
+ "Azure.Core": {
+ "type": "Transitive",
+ "resolved": "1.35.0",
+ "contentHash": "hENcx03Jyuqv05F4RBEPbxz29UrM3Nbhnr6Wl6NQpoU9BCIbL3XLentrxDCTrH54NLS11Exxi/o8MYgT/cnKFA==",
+ "dependencies": {
+ "Microsoft.Bcl.AsyncInterfaces": "1.1.1",
+ "System.Memory.Data": "1.0.2"
+ }
+ },
+ "Azure.Storage.Blobs": {
+ "type": "Transitive",
+ "resolved": "12.18.0",
+ "contentHash": "IUqHRXnabXCzmmvkzqPK4FuGzLxmKSugDEt5Hm5B/JlJFR+aHDsPW4nCLbG0txThqBSKPqcBBU/oA6c5TaFJgA==",
+ "dependencies": {
+ "Azure.Storage.Common": "12.17.0"
+ }
+ },
+ "Azure.Storage.Common": {
+ "type": "Transitive",
+ "resolved": "12.17.0",
+ "contentHash": "/h8SpUkxMuQy/MbNFeJQGmhYt3JnYfEiGeDojtNgLNzzhyDnRYgjF3ZKYgjORYQpn0Spr+4+v2MZy+0GNJBLrg==",
+ "dependencies": {
+ "Azure.Core": "1.35.0",
+ "System.IO.Hashing": "6.0.0"
+ }
+ },
+ "Castle.Core": {
+ "type": "Transitive",
+ "resolved": "5.1.1",
+ "contentHash": "rpYtIczkzGpf+EkZgDr9CClTdemhsrwA/W5hMoPjLkRFnXzH44zDLoovXeKtmxb1ykXK9aJVODSpiJml8CTw2g==",
+ "dependencies": {
+ "System.Diagnostics.EventLog": "6.0.0"
+ }
+ },
+ "Google.Protobuf": {
+ "type": "Transitive",
+ "resolved": "3.24.4",
+ "contentHash": "TmUI4ndd3x5HePyLmqAmGT6oVvoRCu+bMmrJmOpAFtCPEB+oUMWF8dyVY1zxXry/8cqsTHWszYRIAwpuUNpUyA=="
+ },
+ "Humanizer.Core": {
+ "type": "Transitive",
+ "resolved": "2.14.1",
+ "contentHash": "lQKvtaTDOXnoVJ20ibTuSIOf2i0uO0MPbDhd1jm238I+U/2ZnRENj0cktKZhtchBMtCUSRQ5v4xBCUbKNmyVMw=="
+ },
+ "Iesi.Collections": {
+ "type": "Transitive",
+ "resolved": "4.1.1",
+ "contentHash": "VBrZi6gKjArcyOqrKoZODtd4V9rGqyxkUTwO9Hg/8+idhe/A391X9nRXuESewb7kfCNo5jRwFKLSjrY0j+0PkA=="
+ },
+ "Microsoft.ApplicationInsights": {
+ "type": "Transitive",
+ "resolved": "2.23.0",
+ "contentHash": "nWArUZTdU7iqZLycLKWe0TDms48KKGE6pONH2terYNa8REXiqixrMOkf1sk5DHGMaUTqONU2YkS4SAXBhLStgw=="
+ },
+ "Microsoft.Bcl.AsyncInterfaces": {
+ "type": "Transitive",
+ "resolved": "7.0.0",
+ "contentHash": "3aeMZ1N0lJoSyzqiP03hqemtb1BijhsJADdobn/4nsMJ8V1H+CrpuduUe4hlRdx+ikBQju1VGjMD1GJ3Sk05Eg=="
+ },
+ "Microsoft.Bcl.Cryptography": {
+ "type": "Transitive",
+ "resolved": "8.0.0",
+ "contentHash": "Y3t/c7C5XHJGFDnohjf1/9SYF3ZOfEU1fkNQuKg/dGf9hN18yrQj2owHITGfNS3+lKJdW6J4vY98jYu57jCO8A=="
+ },
+ "Microsoft.Build.Tasks.Git": {
+ "type": "Transitive",
+ "resolved": "10.0.203",
+ "contentHash": "m56WtzvIcL6t7JR3c7ogYitHizNM2QnRSo8yqxrQi+m5E/GGyDEmqymP+2p6YsFXn0j/Tzz67s4FQnrTLC7GKQ==",
+ "dependencies": {
+ "System.IO.Hashing": "10.0.7"
+ }
+ },
+ "Microsoft.CodeAnalysis.Analyzers": {
+ "type": "Transitive",
+ "resolved": "3.3.4",
+ "contentHash": "AxkxcPR+rheX0SmvpLVIGLhOUXAKG56a64kV9VQZ4y9gR9ZmPXnqZvHJnmwLSwzrEP6junUF11vuc+aqo5r68g=="
+ },
+ "Microsoft.CodeAnalysis.Common": {
+ "type": "Transitive",
+ "resolved": "4.8.0",
+ "contentHash": "/jR+e/9aT+BApoQJABlVCKnnggGQbvGh7BKq2/wI1LamxC+LbzhcLj4Vj7gXCofl1n4E521YfF9w0WcASGg/KA==",
+ "dependencies": {
+ "Microsoft.CodeAnalysis.Analyzers": "3.3.4"
+ }
+ },
+ "Microsoft.CodeAnalysis.CSharp": {
+ "type": "Transitive",
+ "resolved": "4.8.0",
+ "contentHash": "+3+qfdb/aaGD8PZRCrsdobbzGs1m9u119SkkJt8e/mk3xLJz/udLtS2T6nY27OTXxBBw10HzAbC8Z9w08VyP/g==",
+ "dependencies": {
+ "Microsoft.CodeAnalysis.Common": "[4.8.0]"
+ }
+ },
+ "Microsoft.CodeAnalysis.CSharp.Workspaces": {
+ "type": "Transitive",
+ "resolved": "4.8.0",
+ "contentHash": "3amm4tq4Lo8/BGvg9p3BJh3S9nKq2wqCXfS7138i69TUpo/bD+XvD0hNurpEBtcNZhi1FyutiomKJqVF39ugYA==",
+ "dependencies": {
+ "Humanizer.Core": "2.14.1",
+ "Microsoft.CodeAnalysis.CSharp": "[4.8.0]",
+ "Microsoft.CodeAnalysis.Common": "[4.8.0]",
+ "Microsoft.CodeAnalysis.Workspaces.Common": "[4.8.0]"
+ }
+ },
+ "Microsoft.CodeAnalysis.Workspaces.Common": {
+ "type": "Transitive",
+ "resolved": "4.8.0",
+ "contentHash": "LXyV+MJKsKRu3FGJA3OmSk40OUIa/dQCFLOnm5X8MNcujx7hzGu8o+zjXlb/cy5xUdZK2UKYb9YaQ2E8m9QehQ==",
+ "dependencies": {
+ "Humanizer.Core": "2.14.1",
+ "Microsoft.Bcl.AsyncInterfaces": "7.0.0",
+ "Microsoft.CodeAnalysis.Common": "[4.8.0]",
+ "System.Composition": "7.0.0",
+ "System.IO.Pipelines": "7.0.0"
+ }
+ },
+ "Microsoft.CodeCoverage": {
+ "type": "Transitive",
+ "resolved": "18.5.1",
+ "contentHash": "vMFDR1ZjqzzgKmM0zrPie7Gv9Y+ZppjODB5Quzu9Eq0TlIusUfUCYFPEawO91zQuqwzvdFbJSU7WHNtjStffJQ=="
+ },
+ "Microsoft.Data.SqlClient": {
+ "type": "Transitive",
+ "resolved": "7.0.1",
+ "contentHash": "9jZFXAJ2ThNYK7lhj2RhH7klXVNaWSvZpQncq3bPIOjmHBrdjwgeO4c8wucUVxQwFT8rAA13Z2F2jzoYR7ICDw==",
+ "dependencies": {
+ "Microsoft.Bcl.Cryptography": "8.0.0",
+ "Microsoft.Data.SqlClient.Extensions.Abstractions": "1.0.0",
+ "Microsoft.Data.SqlClient.Internal.Logging": "1.0.0",
+ "Microsoft.Data.SqlClient.SNI.runtime": "6.0.2",
+ "Microsoft.Extensions.Caching.Memory": "8.0.1",
+ "Microsoft.IdentityModel.JsonWebTokens": "8.16.0",
+ "Microsoft.IdentityModel.Protocols.OpenIdConnect": "8.16.0",
+ "Microsoft.SqlServer.Server": "1.0.0",
+ "System.Configuration.ConfigurationManager": "8.0.1",
+ "System.Security.Cryptography.Pkcs": "8.0.1"
+ }
+ },
+ "Microsoft.Data.SqlClient.Extensions.Abstractions": {
+ "type": "Transitive",
+ "resolved": "1.0.0",
+ "contentHash": "rlnxc0KfwDSbE8ZHntFnl8SCgOa9QtJZblMv2zXLhRwl1Je7fsdsVzxSjzzC4JMsfAK+jXJWyezRB8SxUY4BdA==",
+ "dependencies": {
+ "Microsoft.Data.SqlClient.Internal.Logging": "1.0.0"
+ }
+ },
+ "Microsoft.Data.SqlClient.Internal.Logging": {
+ "type": "Transitive",
+ "resolved": "1.0.0",
+ "contentHash": "Kue/7CF8KNT9zozfr30C94dMZVZml3atqWZvQemSXvTau76tRdypzeKiBKXadqgbOME0UiQIyVTNo5WxCRNVNg=="
+ },
+ "Microsoft.Data.SqlClient.SNI.runtime": {
+ "type": "Transitive",
+ "resolved": "6.0.2",
+ "contentHash": "f+pRODTWX7Y67jXO3T5S2dIPZ9qMJNySjlZT/TKmWVNWe19N8jcWmHaqHnnchaq3gxEKv1SWVY5EFzOD06l41w=="
+ },
+ "Microsoft.Extensions.Caching.Abstractions": {
+ "type": "Transitive",
+ "resolved": "8.0.0",
+ "contentHash": "3KuSxeHoNYdxVYfg2IRZCThcrlJ1XJqIXkAWikCsbm5C/bCjv7G0WoKDyuR98Q+T607QT2Zl5GsbGRkENcV2yQ==",
+ "dependencies": {
+ "Microsoft.Extensions.Primitives": "8.0.0"
+ }
+ },
+ "Microsoft.Extensions.Caching.Memory": {
+ "type": "Transitive",
+ "resolved": "8.0.1",
+ "contentHash": "HFDnhYLccngrzyGgHkjEDU5FMLn4MpOsr5ElgsBMC4yx6lJh4jeWO7fHS8+TXPq+dgxCmUa/Trl8svObmwW4QA==",
+ "dependencies": {
+ "Microsoft.Extensions.Caching.Abstractions": "8.0.0",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2",
+ "Microsoft.Extensions.Logging.Abstractions": "8.0.2",
+ "Microsoft.Extensions.Options": "8.0.2",
+ "Microsoft.Extensions.Primitives": "8.0.0"
+ }
+ },
+ "Microsoft.Extensions.Configuration": {
+ "type": "Transitive",
+ "resolved": "8.0.0",
+ "contentHash": "0J/9YNXTMWSZP2p2+nvl8p71zpSwokZXZuJW+VjdErkegAnFdO1XlqtA62SJtgVYHdKu3uPxJHcMR/r35HwFBA==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration.Abstractions": "8.0.0",
+ "Microsoft.Extensions.Primitives": "8.0.0"
+ }
+ },
+ "Microsoft.Extensions.Configuration.Abstractions": {
+ "type": "Transitive",
+ "resolved": "8.0.0",
+ "contentHash": "3lE/iLSutpgX1CC0NOW70FJoGARRHbyKmG7dc0klnUZ9Dd9hS6N/POPWhKhMLCEuNN5nXEY5agmlFtH562vqhQ==",
+ "dependencies": {
+ "Microsoft.Extensions.Primitives": "8.0.0"
+ }
+ },
+ "Microsoft.Extensions.Configuration.Binder": {
+ "type": "Transitive",
+ "resolved": "8.0.0",
+ "contentHash": "mBMoXLsr5s1y2zOHWmKsE9veDcx8h1x/c3rz4baEdQKTeDcmQAPNbB54Pi/lhFO3K431eEq6PFbMgLaa6PHFfA==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration.Abstractions": "8.0.0"
+ }
+ },
+ "Microsoft.Extensions.Configuration.EnvironmentVariables": {
+ "type": "Transitive",
+ "resolved": "8.0.0",
+ "contentHash": "plvZ0ZIpq+97gdPNNvhwvrEZ92kNml9hd1pe3idMA7svR0PztdzVLkoWLcRFgySYXUJc3kSM3Xw3mNFMo/bxRA==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "8.0.0",
+ "Microsoft.Extensions.Configuration.Abstractions": "8.0.0"
+ }
+ },
+ "Microsoft.Extensions.Configuration.FileExtensions": {
+ "type": "Transitive",
+ "resolved": "8.0.1",
+ "contentHash": "EJzSNO9oaAXnTdtdNO6npPRsIIeZCBSNmdQ091VDO7fBiOtJAAeEq6dtrVXIi3ZyjC5XRSAtVvF8SzcneRHqKQ==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "8.0.0",
+ "Microsoft.Extensions.Configuration.Abstractions": "8.0.0",
+ "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0",
+ "Microsoft.Extensions.FileProviders.Physical": "8.0.0",
+ "Microsoft.Extensions.Primitives": "8.0.0"
+ }
+ },
+ "Microsoft.Extensions.Configuration.Json": {
+ "type": "Transitive",
+ "resolved": "8.0.1",
+ "contentHash": "L89DLNuimOghjV3tLx0ArFDwVEJD6+uGB3BMCMX01kaLzXkaXHb2021xOMl2QOxUxbdePKUZsUY7n2UUkycjRg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "8.0.0",
+ "Microsoft.Extensions.Configuration.Abstractions": "8.0.0",
+ "Microsoft.Extensions.Configuration.FileExtensions": "8.0.1",
+ "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0"
+ }
+ },
+ "Microsoft.Extensions.DependencyInjection": {
+ "type": "Transitive",
+ "resolved": "8.0.1",
+ "contentHash": "BmANAnR5Xd4Oqw7yQ75xOAYODybZQRzdeNucg7kS5wWKd2PNnMdYtJ2Vciy0QLylRmv42DGl5+AFL9izA6F1Rw==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2"
+ }
+ },
+ "Microsoft.Extensions.DependencyInjection.Abstractions": {
+ "type": "Transitive",
+ "resolved": "8.0.2",
+ "contentHash": "3iE7UF7MQkCv1cxzCahz+Y/guQbTqieyxyaWKhrRO91itI9cOKO76OHeQDahqG4MmW5umr3CcCvGmK92lWNlbg=="
+ },
+ "Microsoft.Extensions.DependencyModel": {
+ "type": "Transitive",
+ "resolved": "8.0.2",
+ "contentHash": "mUBDZZRgZrSyFOsJ2qJJ9fXfqd/kXJwf3AiDoqLD9m6TjY5OO/vLNOb9fb4juC0487eq4hcGN/M2Rh/CKS7QYw=="
+ },
+ "Microsoft.Extensions.FileProviders.Abstractions": {
+ "type": "Transitive",
+ "resolved": "8.0.0",
+ "contentHash": "ZbaMlhJlpisjuWbvXr4LdAst/1XxH3vZ6A0BsgTphZ2L4PGuxRLz7Jr/S7mkAAnOn78Vu0fKhEgNF5JO3zfjqQ==",
+ "dependencies": {
+ "Microsoft.Extensions.Primitives": "8.0.0"
+ }
+ },
+ "Microsoft.Extensions.FileProviders.Physical": {
+ "type": "Transitive",
+ "resolved": "8.0.0",
+ "contentHash": "UboiXxpPUpwulHvIAVE36Knq0VSHaAmfrFkegLyBZeaADuKezJ/AIXYAW8F5GBlGk/VaibN2k/Zn1ca8YAfVdA==",
+ "dependencies": {
+ "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0",
+ "Microsoft.Extensions.FileSystemGlobbing": "8.0.0",
+ "Microsoft.Extensions.Primitives": "8.0.0"
+ }
+ },
+ "Microsoft.Extensions.FileSystemGlobbing": {
+ "type": "Transitive",
+ "resolved": "8.0.0",
+ "contentHash": "OK+670i7esqlQrPjdIKRbsyMCe9g5kSLpRRQGSr4Q58AOYEe/hCnfLZprh7viNisSUUQZmMrbbuDaIrP+V1ebQ=="
+ },
+ "Microsoft.Extensions.Logging": {
+ "type": "Transitive",
+ "resolved": "8.0.1",
+ "contentHash": "4x+pzsQEbqxhNf1QYRr5TDkLP9UsLT3A6MdRKDDEgrW7h1ljiEPgTNhKYUhNCCAaVpQECVQ+onA91PTPnIp6Lw==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection": "8.0.1",
+ "Microsoft.Extensions.Logging.Abstractions": "8.0.2",
+ "Microsoft.Extensions.Options": "8.0.2"
+ }
+ },
+ "Microsoft.Extensions.Logging.Abstractions": {
+ "type": "Transitive",
+ "resolved": "8.0.3",
+ "contentHash": "dL0QGToTxggRLMYY4ZYX5AMwBb+byQBd/5dMiZE07Nv73o6I5Are3C7eQTh7K2+A4ct0PVISSr7TZANbiNb2yQ==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2"
+ }
+ },
+ "Microsoft.Extensions.Options": {
+ "type": "Transitive",
+ "resolved": "8.0.2",
+ "contentHash": "dWGKvhFybsaZpGmzkGCbNNwBD1rVlWzrZKANLW/CcbFJpCEceMCGzT7zZwHOGBCbwM0SzBuceMj5HN1LKV1QqA==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0",
+ "Microsoft.Extensions.Primitives": "8.0.0"
+ }
+ },
+ "Microsoft.Extensions.Options.ConfigurationExtensions": {
+ "type": "Transitive",
+ "resolved": "8.0.0",
+ "contentHash": "0f4DMRqEd50zQh+UyJc+/HiBsZ3vhAQALgdkcQEalSH1L2isdC7Yj54M3cyo5e+BeO5fcBQ7Dxly8XiBBcvRgw==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration.Abstractions": "8.0.0",
+ "Microsoft.Extensions.Configuration.Binder": "8.0.0",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0",
+ "Microsoft.Extensions.Options": "8.0.0",
+ "Microsoft.Extensions.Primitives": "8.0.0"
+ }
+ },
+ "Microsoft.Extensions.Primitives": {
+ "type": "Transitive",
+ "resolved": "8.0.0",
+ "contentHash": "bXJEZrW9ny8vjMF1JV253WeLhpEVzFo1lyaZu1vQ4ZxWUlVvknZ/+ftFgVheLubb4eZPSwwxBeqS1JkCOjxd8g=="
+ },
+ "Microsoft.IdentityModel.Abstractions": {
+ "type": "Transitive",
+ "resolved": "8.16.0",
+ "contentHash": "gSxKLWRZzBpIsEoeUPkxfywNCCvRvl7hkq146XHPk5vOQc9izSf1I+uL1vh4y2U19QPxd9Z8K/8AdWyxYz2lSg=="
+ },
+ "Microsoft.IdentityModel.JsonWebTokens": {
+ "type": "Transitive",
+ "resolved": "8.16.0",
+ "contentHash": "prBU72cIP4V8E9fhN+o/YdskTsLeIcnKPbhZf0X6mD7fdxoZqnS/NdEkSr+9Zp+2q7OZBOMfNBKGbTbhXODO4w==",
+ "dependencies": {
+ "Microsoft.IdentityModel.Tokens": "8.16.0"
+ }
+ },
+ "Microsoft.IdentityModel.Logging": {
+ "type": "Transitive",
+ "resolved": "8.16.0",
+ "contentHash": "MTzXmETkNQPACR7/XCXM1OGM6oU9RkyibqeJRtO9Ndew2LnGjMf9Atqj2VSf4XC27X0FQycUAlzxxEgQMWn2xQ==",
+ "dependencies": {
+ "Microsoft.IdentityModel.Abstractions": "8.16.0"
+ }
+ },
+ "Microsoft.IdentityModel.Protocols": {
+ "type": "Transitive",
+ "resolved": "8.16.0",
+ "contentHash": "UFrU7d46UTsPQTa2HIEIpB9H1uJe1BW9FLw5uhEJ2ZuKdur8bcUA/bO5caq5dlBt5gNJeRIB3QQXYNs5fCQCZA==",
+ "dependencies": {
+ "Microsoft.IdentityModel.Tokens": "8.16.0"
+ }
+ },
+ "Microsoft.IdentityModel.Protocols.OpenIdConnect": {
+ "type": "Transitive",
+ "resolved": "8.16.0",
+ "contentHash": "h4yVXyJsEBBX5lg2G5ftMsi5JzcNEGAzrNphA6DQ6eOd8P0s+cDCOyPwVTYLePZvJL5unbPvYIvzrbTXzFjXnQ==",
+ "dependencies": {
+ "Microsoft.IdentityModel.Protocols": "8.16.0",
+ "System.IdentityModel.Tokens.Jwt": "8.16.0"
+ }
+ },
+ "Microsoft.IdentityModel.Tokens": {
+ "type": "Transitive",
+ "resolved": "8.16.0",
+ "contentHash": "rtViGJcGsN7WcfUNErwNeQgjuU5cJNl6FDQsfi9TncwO+Epzn0FTfBsg3YuFW1Q0Ch/KPxaVdjLw3/+5Z5ceFQ==",
+ "dependencies": {
+ "Microsoft.Extensions.Logging.Abstractions": "8.0.0",
+ "Microsoft.IdentityModel.Logging": "8.16.0"
+ }
+ },
+ "Microsoft.NETCore.Platforms": {
+ "type": "Transitive",
+ "resolved": "1.1.0",
+ "contentHash": "kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A=="
+ },
+ "Microsoft.SourceLink.Common": {
+ "type": "Transitive",
+ "resolved": "10.0.203",
+ "contentHash": "QYAnhBCOkT3ZUT/fHag11+bamwlbZ3U9Vi/WfKrD9emdUf1t3aqjWv0V2KtEGHSRSC81aBc8Oy/mvyGpEYd9Pg=="
+ },
+ "Microsoft.SqlServer.Server": {
+ "type": "Transitive",
+ "resolved": "1.0.0",
+ "contentHash": "N4KeF3cpcm1PUHym1RmakkzfkEv3GRMyofVv40uXsQhCQeglr2OHNcUk2WOG51AKpGO8ynGpo9M/kFXSzghwug=="
+ },
+ "Microsoft.Testing.Extensions.Telemetry": {
+ "type": "Transitive",
+ "resolved": "2.1.0",
+ "contentHash": "5TwgTx2u7k9Al/xbZ18QXq4Hdy2xewkVTI6K3sk+jY2ykqUkIKNuj7rFu3GOV5KnEUkevhw6eZcyZs77STHJIA==",
+ "dependencies": {
+ "Microsoft.ApplicationInsights": "2.23.0",
+ "Microsoft.Testing.Platform": "2.1.0"
+ }
+ },
+ "Microsoft.Testing.Extensions.TrxReport.Abstractions": {
+ "type": "Transitive",
+ "resolved": "2.1.0",
+ "contentHash": "D8xmIJYQFJ6D49Rx5/vPrkZZxb338Jkew+eSqZLBfBiWKw4QZKy3i1BOXiLfz0lOmaNErwDz/YWRojCdNl+B9Q==",
+ "dependencies": {
+ "Microsoft.Testing.Platform": "2.1.0"
+ }
+ },
+ "Microsoft.Testing.Extensions.VSTestBridge": {
+ "type": "Transitive",
+ "resolved": "2.1.0",
+ "contentHash": "bNRIEA2YoGr+Y+7LHdA7i1U80+7BAdf4K4Qh4Kx6eKkoBK/NV7QpoMg+GWPP0/eqAFzuUmUOIPVZ87Oo0Vyxmw==",
+ "dependencies": {
+ "Microsoft.TestPlatform.ObjectModel": "18.0.1",
+ "Microsoft.Testing.Extensions.Telemetry": "2.1.0",
+ "Microsoft.Testing.Extensions.TrxReport.Abstractions": "2.1.0",
+ "Microsoft.Testing.Platform": "2.1.0"
+ }
+ },
+ "Microsoft.Testing.Platform": {
+ "type": "Transitive",
+ "resolved": "2.1.0",
+ "contentHash": "aHkjNTGIA+Zbdw6RJgSFrbDrCjO0CgqpElqYcvkRSeUhBv2bKarnvU3ep786U7UqrPlArT/B7VmImRibJD0Zrg=="
+ },
+ "Microsoft.Testing.Platform.MSBuild": {
+ "type": "Transitive",
+ "resolved": "2.1.0",
+ "contentHash": "UpfPebXQtHGrWz21+YLHmJSm+5zsuPE9U9pfdCtoB+67g75fDmWlNgpkH2ZmdVhSwkjNIed9Icg8Iu63z2ei5Q==",
+ "dependencies": {
+ "Microsoft.Testing.Platform": "2.1.0"
+ }
+ },
+ "Microsoft.TestPlatform.ObjectModel": {
+ "type": "Transitive",
+ "resolved": "18.5.1",
+ "contentHash": "KNZd+M0S0rz5eNAln0pbZX+A/RbokYZCbGKx4fN4CkhtWhkz6nSJDO+9LGYjRE4d0WPVriJ2JnVubkjt3+PpMg=="
+ },
+ "Microsoft.TestPlatform.TestHost": {
+ "type": "Transitive",
+ "resolved": "18.5.1",
+ "contentHash": "RM+3JNHEoHOCFXzVntUcIiYxzPjzBN0N8wto6HYXi76YyBTZ/3CeRL8U+Pk5zx3AUrOmHxDvKJwGUCdElU9bJg==",
+ "dependencies": {
+ "Microsoft.TestPlatform.ObjectModel": "18.5.1",
+ "Newtonsoft.Json": "13.0.3"
+ }
+ },
+ "Microsoft.Win32.SystemEvents": {
+ "type": "Transitive",
+ "resolved": "8.0.0",
+ "contentHash": "9opKRyOKMCi2xJ7Bj7kxtZ1r9vbzosMvRrdEhVhDz8j8MoBGgB+WmC94yH839NPH+BclAjtQ/pyagvi/8gDLkw=="
+ },
+ "Moq": {
+ "type": "Transitive",
+ "resolved": "4.20.72",
+ "contentHash": "EA55cjyNn8eTNWrgrdZJH5QLFp2L43oxl1tlkoYUKIE9pRwL784OWiTXeCV5ApS+AMYEAlt7Fo03A2XfouvHmQ==",
+ "dependencies": {
+ "Castle.Core": "5.1.1"
+ }
+ },
+ "NETStandard.Library": {
+ "type": "Transitive",
+ "resolved": "1.6.1",
+ "contentHash": "WcSp3+vP+yHNgS8EV5J7pZ9IRpeDuARBPN28by8zqff1wJQXm26PVU8L3/fYLBJVU7BtDyqNVWq2KlCVvSSR4A==",
+ "dependencies": {
+ "Microsoft.NETCore.Platforms": "1.1.0"
+ }
+ },
+ "Newtonsoft.Json": {
+ "type": "Transitive",
+ "resolved": "13.0.3",
+ "contentHash": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ=="
+ },
+ "NHibernate": {
+ "type": "Transitive",
+ "resolved": "5.6.0",
+ "contentHash": "uDUFQQYSuLa2gdWrdHKJzvOqFkeVYMd3yWqGxtgyIG3cp+MxxQXNGe3iNYcy3f/U/yHjQpQUryMyvlBZVzz0FA==",
+ "dependencies": {
+ "Antlr3.Runtime": "[3.5.1, 4.0.0)",
+ "Iesi.Collections": "4.1.1",
+ "Remotion.Linq": "[2.2.0, 3.0.0)",
+ "Remotion.Linq.EagerFetching": "[2.2.0, 3.0.0)",
+ "System.Configuration.ConfigurationManager": "8.0.0"
+ }
+ },
+ "NHibernate.Extensions.Logging": {
+ "type": "Transitive",
+ "resolved": "4.0.0",
+ "contentHash": "ztoDkVfu5nKj1YhxnLSP4fdnYR5FttkNyS9mqH0Hg5g1G/fZ90z7FwRjXHMdiFZl8T1wi569IvoCXm3oqzl5lA==",
+ "dependencies": {
+ "NHibernate": "5.4.9",
+ "System.Drawing.Common": "8.0.12"
+ }
+ },
+ "NHibernateProfiler.Appender": {
+ "type": "Transitive",
+ "resolved": "6.0.6053",
+ "contentHash": "WN0Cm9s8k+K4aPTEwAhVykzG8l37iPRJgdAJNbHfAycIo+y+D/J8PnDcqCfLdrzDKtu/6zgKEkIAjBUGbMDpXw==",
+ "dependencies": {
+ "Azure.Storage.Blobs": "12.18.0",
+ "Google.Protobuf": "3.24.4",
+ "Microsoft.CodeAnalysis.CSharp": "4.8.0",
+ "Microsoft.CodeAnalysis.CSharp.Workspaces": "4.8.0",
+ "Microsoft.CodeAnalysis.Common": "4.8.0",
+ "Microsoft.Extensions.Configuration.Abstractions": "7.0.0",
+ "Microsoft.Extensions.DependencyModel": "7.0.0",
+ "Microsoft.Extensions.Logging": "7.0.0",
+ "Newtonsoft.Json": "13.0.3",
+ "System.Data.SqlClient": "4.8.6",
+ "System.Security.Permissions": "6.0.1"
+ }
+ },
+ "PPWCode.Util.Authorization.I": {
+ "type": "Transitive",
+ "resolved": "1.0.0",
+ "contentHash": "JDc3Ul3/gmpLKfBgW6emQSPyeikgP3S+A0GzbOendxWOT7YNsdyzs5wAthzgkF88o2BG+R7EXBZcppg4qR9v+w=="
+ },
+ "PPWCode.Util.Time.I": {
+ "type": "Transitive",
+ "resolved": "2.0.0-alpha.1",
+ "contentHash": "Jve7ymPsfTegA4cGfYt6Vx9duJh+0exANdKe/6lpuEwUESAZAEXShQyHrWW2Krfx414B3vVxr1f6F1P3DVD2Gg==",
+ "dependencies": {
+ "PPWCode.Vernacular.Contracts.I": "1.5.0",
+ "PPWCode.Vernacular.Exceptions.V": "1.1.0",
+ "PPWCode.Vernacular.Semantics.V": "1.0.0"
+ }
+ },
+ "PPWCode.Vernacular.Exceptions.V": {
+ "type": "Transitive",
+ "resolved": "1.1.0",
+ "contentHash": "G/XH86vmbBIIuVRcoNLFRD0AHtEJ7aLw8w+Ia3BUHgZw2TGALDQ/eNOfrOrTFy5+4HPO2PLwRfrr69/Cp/zTRw=="
+ },
+ "PPWCode.Vernacular.NHibernate.IV.SqlServer": {
+ "type": "Transitive",
+ "resolved": "1.0.0-alpha.4",
+ "contentHash": "g6s0KZlboHXnT4WtBJqK3mlQN/OIH2oOgi/FGvhUswMxrDkBev1yxA9omYB/S+1BmdSAVmwdF6jxjFHNf3kYFA==",
+ "dependencies": {
+ "Microsoft.Data.SqlClient": "7.0.1",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2",
+ "Microsoft.Extensions.Logging.Abstractions": "8.0.3",
+ "NHibernate": "5.6.0",
+ "PPWCode.Vernacular.Contracts.I": "1.5.0",
+ "PPWCode.Vernacular.Exceptions.V": "1.1.0",
+ "PPWCode.Vernacular.NHibernate.IV": "1.0.0-alpha.4",
+ "PPWCode.Vernacular.Persistence.V": "1.2.0-alpha.5",
+ "PPWCode.Vernacular.Semantics.V": "1.0.0",
+ "System.Configuration.ConfigurationManager": "8.0.1"
+ }
+ },
+ "PPWCode.Vernacular.Persistence.V": {
+ "type": "Transitive",
+ "resolved": "1.2.0-alpha.5",
+ "contentHash": "vz0SYQUZGLaKiSiV0Y1yHm0FByb5+jISNmWXWyUMQlAwEAMSrC7Na5K7kkpGDoVMo8OSxMnzbCSeMCbP4isJOw==",
+ "dependencies": {
+ "PPWCode.Vernacular.Contracts.I": "1.5.0",
+ "PPWCode.Vernacular.Exceptions.V": "1.1.0",
+ "PPWCode.Vernacular.Semantics.V": "1.0.0"
+ }
+ },
+ "PPWCode.Vernacular.Semantics.V": {
+ "type": "Transitive",
+ "resolved": "1.0.0",
+ "contentHash": "B4jer3TyGME3xLFLY7BUN71OmvJiquPN4JH0ifQ7Gvh9CIrIL2orX/SHBtWNF7foUN1O22VpytcpmzWoT11Heg==",
+ "dependencies": {
+ "PPWCode.Vernacular.Contracts.I": "1.5.0",
+ "PPWCode.Vernacular.Exceptions.V": "1.1.0"
+ }
+ },
+ "Remotion.Linq": {
+ "type": "Transitive",
+ "resolved": "2.2.0",
+ "contentHash": "fK/76UmpC0FXBlGDFVPLJHQlDLYnGC+XY3eoDgCgbtrhi0vzbXDQ3n/IYHhqSKqXQfGw/u04A1drWs7rFVkRjw=="
+ },
+ "Remotion.Linq.EagerFetching": {
+ "type": "Transitive",
+ "resolved": "2.2.0",
+ "contentHash": "d6bkH5kROJPFsdvDy4yQved9I4ickamytPByPyuQcH9dk1ef4jciajo50vTQhheyOHeWOgLh97UvkiHV8QSgeQ==",
+ "dependencies": {
+ "Remotion.Linq": "2.2.0"
+ }
+ },
+ "runtime.native.System.Data.SqlClient.sni": {
+ "type": "Transitive",
+ "resolved": "4.7.0",
+ "contentHash": "9kyFSIdN3T0qjDQ2R0HRXYIhS3l5psBzQi6qqhdLz+SzFyEy4sVxNOke+yyYv8Cu8rPER12c3RDjLT8wF3WBYQ==",
+ "dependencies": {
+ "runtime.win-arm64.runtime.native.System.Data.SqlClient.sni": "4.4.0",
+ "runtime.win-x64.runtime.native.System.Data.SqlClient.sni": "4.4.0",
+ "runtime.win-x86.runtime.native.System.Data.SqlClient.sni": "4.4.0"
+ }
+ },
+ "runtime.win-arm64.runtime.native.System.Data.SqlClient.sni": {
+ "type": "Transitive",
+ "resolved": "4.4.0",
+ "contentHash": "LbrynESTp3bm5O/+jGL8v0Qg5SJlTV08lpIpFesXjF6uGNMWqFnUQbYBJwZTeua6E/Y7FIM1C54Ey1btLWupdg=="
+ },
+ "runtime.win-x64.runtime.native.System.Data.SqlClient.sni": {
+ "type": "Transitive",
+ "resolved": "4.4.0",
+ "contentHash": "38ugOfkYJqJoX9g6EYRlZB5U2ZJH51UP8ptxZgdpS07FgOEToV+lS11ouNK2PM12Pr6X/PpT5jK82G3DwH/SxQ=="
+ },
+ "runtime.win-x86.runtime.native.System.Data.SqlClient.sni": {
+ "type": "Transitive",
+ "resolved": "4.4.0",
+ "contentHash": "YhEdSQUsTx+C8m8Bw7ar5/VesXvCFMItyZF7G1AUY+OM0VPZUOeAVpJ4Wl6fydBGUYZxojTDR3I6Bj/+BPkJNA=="
+ },
+ "Serilog": {
+ "type": "Transitive",
+ "resolved": "4.3.1",
+ "contentHash": "savYe7h5yRlkqBVOwP8cIRDOdqKiPmYCU4W87JH38sBmcKD5EBoXvQIw6bNEvZ/pTe1gsiye3VFCzBsoppGkXQ=="
+ },
+ "Serilog.Extensions.Logging": {
+ "type": "Transitive",
+ "resolved": "8.0.0",
+ "contentHash": "YEAMWu1UnWgf1c1KP85l1SgXGfiVo0Rz6x08pCiPOIBt2Qe18tcZLvdBUuV5o1QHvrs8FAry9wTIhgBRtjIlEg==",
+ "dependencies": {
+ "Microsoft.Extensions.Logging": "8.0.0",
+ "Serilog": "3.1.1"
+ }
+ },
+ "Serilog.Settings.Configuration": {
+ "type": "Transitive",
+ "resolved": "8.0.4",
+ "contentHash": "pkxvq0umBKK8IKFJc1aV5S/HGRG/NIxJ6FV42KaTPLfDmBOAbBUB1m5gqqlGxzEa1MgDDWtQlWJdHTSxVWNx+Q==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration.Binder": "8.0.0",
+ "Microsoft.Extensions.DependencyModel": "8.0.2",
+ "Serilog": "3.1.1"
+ }
+ },
+ "Serilog.Sinks.NUnit": {
+ "type": "Transitive",
+ "resolved": "1.0.3",
+ "contentHash": "NufJ17KzvXKaDubTEJ8zSGbhQ0+uRJ05q8B9sjORqCRVt+692u8svNMP7Miu1v7+SIPjPZybmkRoSpppgjaTfA==",
+ "dependencies": {
+ "NETStandard.Library": "1.6.1",
+ "NUnit": "3.6.0",
+ "Serilog": "2.0.0"
+ }
+ },
+ "StyleCop.Analyzers.Unstable": {
+ "type": "Transitive",
+ "resolved": "1.2.0.556",
+ "contentHash": "zvn9Mqs/ox/83cpYPignI8hJEM2A93s2HkHs8HYMOAQW0PkampyoErAiIyKxgTLqbbad29HX/shv/6LGSjPJNQ=="
+ },
+ "System.Composition": {
+ "type": "Transitive",
+ "resolved": "7.0.0",
+ "contentHash": "tRwgcAkDd85O8Aq6zHDANzQaq380cek9lbMg5Qma46u5BZXq/G+XvIYmu+UI+BIIZ9zssXLYrkTykEqxxvhcmg==",
+ "dependencies": {
+ "System.Composition.AttributedModel": "7.0.0",
+ "System.Composition.Convention": "7.0.0",
+ "System.Composition.Hosting": "7.0.0",
+ "System.Composition.Runtime": "7.0.0",
+ "System.Composition.TypedParts": "7.0.0"
+ }
+ },
+ "System.Composition.AttributedModel": {
+ "type": "Transitive",
+ "resolved": "7.0.0",
+ "contentHash": "2QzClqjElKxgI1jK1Jztnq44/8DmSuTSGGahXqQ4TdEV0h9s2KikQZIgcEqVzR7OuWDFPGLHIprBJGQEPr8fAQ=="
+ },
+ "System.Composition.Convention": {
+ "type": "Transitive",
+ "resolved": "7.0.0",
+ "contentHash": "IMhTlpCs4HmlD8B+J8/kWfwX7vrBBOs6xyjSTzBlYSs7W4OET4tlkR/Sg9NG8jkdJH9Mymq0qGdYS1VPqRTBnQ==",
+ "dependencies": {
+ "System.Composition.AttributedModel": "7.0.0"
+ }
+ },
+ "System.Composition.Hosting": {
+ "type": "Transitive",
+ "resolved": "7.0.0",
+ "contentHash": "eB6gwN9S+54jCTBJ5bpwMOVerKeUfGGTYCzz3QgDr1P55Gg/Wb27ShfPIhLMjmZ3MoAKu8uUSv6fcCdYJTN7Bg==",
+ "dependencies": {
+ "System.Composition.Runtime": "7.0.0"
+ }
+ },
+ "System.Composition.Runtime": {
+ "type": "Transitive",
+ "resolved": "7.0.0",
+ "contentHash": "aZJ1Zr5Txe925rbo4742XifEyW0MIni1eiUebmcrP3HwLXZ3IbXUj4MFMUH/RmnJOAQiS401leg/2Sz1MkApDw=="
+ },
+ "System.Composition.TypedParts": {
+ "type": "Transitive",
+ "resolved": "7.0.0",
+ "contentHash": "ZK0KNPfbtxVceTwh+oHNGUOYV2WNOHReX2AXipuvkURC7s/jPwoWfsu3SnDBDgofqbiWr96geofdQ2erm/KTHg==",
+ "dependencies": {
+ "System.Composition.AttributedModel": "7.0.0",
+ "System.Composition.Hosting": "7.0.0",
+ "System.Composition.Runtime": "7.0.0"
+ }
+ },
+ "System.Configuration.ConfigurationManager": {
+ "type": "Transitive",
+ "resolved": "8.0.1",
+ "contentHash": "gPYFPDyohW2gXNhdQRSjtmeS6FymL2crg4Sral1wtvEJ7DUqFCDWDVbbLobASbzxfic8U1hQEdC7hmg9LHncMw==",
+ "dependencies": {
+ "System.Diagnostics.EventLog": "8.0.1",
+ "System.Security.Cryptography.ProtectedData": "8.0.0"
+ }
+ },
+ "System.Data.SqlClient": {
+ "type": "Transitive",
+ "resolved": "4.8.6",
+ "contentHash": "2Ij/LCaTQRyAi5lAv7UUTV9R2FobC8xN9mE0fXBZohum/xLl8IZVmE98Rq5ugQHjCgTBRKqpXRb4ORulRdA6Ig==",
+ "dependencies": {
+ "runtime.native.System.Data.SqlClient.sni": "4.7.0"
+ }
+ },
+ "System.Diagnostics.EventLog": {
+ "type": "Transitive",
+ "resolved": "8.0.1",
+ "contentHash": "n1ZP7NM2Gkn/MgD8+eOT5MulMj6wfeQMNS2Pizvq5GHCZfjlFMXV2irQlQmJhwA2VABC57M0auudO89Iu2uRLg=="
+ },
+ "System.Drawing.Common": {
+ "type": "Transitive",
+ "resolved": "8.0.12",
+ "contentHash": "mZrI0KKFAZO8gWaARhdaJblMUNEeHMlPsFa/nRS4j4EenYP/+f8F2bzu4yb0Co7WYuJ/w/D8d/zW4KGCdYJCyQ==",
+ "dependencies": {
+ "Microsoft.Win32.SystemEvents": "8.0.0"
+ }
+ },
+ "System.IdentityModel.Tokens.Jwt": {
+ "type": "Transitive",
+ "resolved": "8.16.0",
+ "contentHash": "rrs2u7DRMXQG2yh0oVyF/vLwosfRv20Ld2iEpYcKwQWXHjfV+gFXNQsQ9p008kR9Ou4pxBs68Q6/9zC8Gi1wjg==",
+ "dependencies": {
+ "Microsoft.IdentityModel.JsonWebTokens": "8.16.0",
+ "Microsoft.IdentityModel.Tokens": "8.16.0"
+ }
+ },
+ "System.IO.Hashing": {
+ "type": "Transitive",
+ "resolved": "10.0.7",
+ "contentHash": "6hsjdSr4VOXSOnhALkYplHpAxnTG1J33YN42IB6nH2fEg4QnJqrZ4Ft+qn7mkrKAOYC8pCSFYwVWw6rQbmwgLQ=="
+ },
+ "System.IO.Pipelines": {
+ "type": "Transitive",
+ "resolved": "7.0.0",
+ "contentHash": "jRn6JYnNPW6xgQazROBLSfpdoczRw694vO5kKvMcNnpXuolEixUyw6IBuBs2Y2mlSX/LdLvyyWmfXhaI3ND1Yg=="
+ },
+ "System.Memory.Data": {
+ "type": "Transitive",
+ "resolved": "1.0.2",
+ "contentHash": "JGkzeqgBsiZwKJZ1IxPNsDFZDhUvuEdX8L8BDC8N3KOj+6zMcNU28CNN59TpZE/VJYy9cP+5M+sbxtWJx3/xtw=="
+ },
+ "System.Security.Cryptography.Pkcs": {
+ "type": "Transitive",
+ "resolved": "8.0.1",
+ "contentHash": "CoCRHFym33aUSf/NtWSVSZa99dkd0Hm7OCZUxORBjRB16LNhIEOf8THPqzIYlvKM0nNDAPTRBa1FxEECrgaxxA=="
+ },
+ "System.Security.Cryptography.ProtectedData": {
+ "type": "Transitive",
+ "resolved": "8.0.0",
+ "contentHash": "+TUFINV2q2ifyXauQXRwy4CiBhqvDEDZeVJU7qfxya4aRYOKzVBpN+4acx25VcPB9ywUN6C0n8drWl110PhZEg=="
+ },
+ "System.Security.Permissions": {
+ "type": "Transitive",
+ "resolved": "6.0.1",
+ "contentHash": "QufGNXopGXxdXbkDn87hta4ajdNKNI3a1+HoJbKkmBbMtYPhEgEJKSiPZHGjI0zQpgZ7gi5L0gSV3PeewKRtew==",
+ "dependencies": {
+ "System.Windows.Extensions": "6.0.0"
+ }
+ },
+ "System.Windows.Extensions": {
+ "type": "Transitive",
+ "resolved": "6.0.0",
+ "contentHash": "IXoJOXIqc39AIe+CIR7koBtRGMiCt/LPM3lI+PELtDIy9XdyeSrwXFdWV9dzJ2Awl0paLWUaknLxFQ5HpHZUog==",
+ "dependencies": {
+ "System.Drawing.Common": "6.0.0"
+ }
+ },
+ "ppwcode.util.validation.iv": {
+ "type": "Project"
+ },
+ "ppwcode.util.validation.iv.nhibernate": {
+ "type": "Project",
+ "dependencies": {
+ "PPWCode.Util.Validation.IV": "[0.0.0-devbuild, )",
+ "PPWCode.Vernacular.NHibernate.IV": "[1.0.0-*, )"
+ }
+ },
+ "PPWCode.Vernacular.Contracts.I": {
+ "type": "CentralTransitive",
+ "requested": "[1.*, )",
+ "resolved": "1.5.0",
+ "contentHash": "Hv7hjZ+RXEnVkAZEdwlAW5QbT0Hvh+pCusaiQT5bRD93Z58OuMHH6Q48TizzufF6+DRm9rJdnufIcOWWvKLKaw=="
+ },
+ "PPWCode.Vernacular.NHibernate.IV": {
+ "type": "CentralTransitive",
+ "requested": "[1.0.0-*, )",
+ "resolved": "1.0.0-alpha.4",
+ "contentHash": "jBMDTA+eeHUmK9vo9j0xlpcAS5Wa+irxuY+leT1ZxekrYC9oYlcvPImaS7HjQARJwm1K0INNLF6SHRiOXO5JBA==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2",
+ "Microsoft.Extensions.Logging.Abstractions": "8.0.3",
+ "NHibernate": "5.6.0",
+ "PPWCode.Vernacular.Contracts.I": "1.5.0",
+ "PPWCode.Vernacular.Exceptions.V": "1.1.0",
+ "PPWCode.Vernacular.Persistence.V": "1.2.0-alpha.5",
+ "PPWCode.Vernacular.Semantics.V": "1.0.0",
+ "System.Configuration.ConfigurationManager": "8.0.1"
+ }
+ }
+ },
+ "net9.0": {
+ "coverlet.collector": {
+ "type": "Direct",
+ "requested": "[10.*, )",
+ "resolved": "10.0.0",
+ "contentHash": "WFejCcOUR6k8UYyDnnR6Gk+obFYMsWrZuNqPJnsVFGVhpPSN0y20D4qbdKJnXinYGx9PQ397Hf9TnU1NBST8vA=="
+ },
+ "JunitXml.TestLogger": {
+ "type": "Direct",
+ "requested": "[7.*, )",
+ "resolved": "7.1.0",
+ "contentHash": "Iu3dSnhJ+gzjlOtpIPZgHvJbmvmPbIGjxT7h5pNxxMiNTXKfxgi0O0eehnZ29qlC5bElAM0o9dSrjzjydCaGiA=="
+ },
+ "Microsoft.NET.Test.Sdk": {
+ "type": "Direct",
+ "requested": "[18.*, )",
+ "resolved": "18.5.1",
+ "contentHash": "SfqVaLiIqAbRWuPg5BP4QFwBIirQj/YIL8Dhxl6zntBKbXp0cQykoV480SmwG+yRMiWptxEI6NbHQuGSZ8b97w==",
+ "dependencies": {
+ "Microsoft.CodeCoverage": "18.5.1",
+ "Microsoft.TestPlatform.TestHost": "18.5.1"
+ }
+ },
+ "Microsoft.SourceLink.GitHub": {
+ "type": "Direct",
+ "requested": "[10.*, )",
+ "resolved": "10.0.203",
+ "contentHash": "R4Tvr1oACImMS+Y5M7NM07ll9QyJSKnki3Dvz8QwG1W6FEmd+9fmZXAF6BE6UPswHF6n0v41wgMQGlaudOspqA==",
+ "dependencies": {
+ "Microsoft.Build.Tasks.Git": "10.0.203",
+ "Microsoft.SourceLink.Common": "10.0.203",
+ "System.IO.Hashing": "10.0.7"
+ }
+ },
+ "NUnit": {
+ "type": "Direct",
+ "requested": "[4.*, )",
+ "resolved": "4.6.0",
+ "contentHash": "RsafbuYR+HzdDhgfdLYrDOSuFdv8IgGpbe5NIqXWAhZ7t6lXNj9yNcLcAk34lKVio6OusBQolKlboyl/9hObNA=="
+ },
+ "NUnit.Analyzers": {
+ "type": "Direct",
+ "requested": "[4.11.2, )",
+ "resolved": "4.11.2",
+ "contentHash": "D9w1tsxMyBAsINY2yyIaS59V9W4iGtuPyHs+9enuhmDAaCsSOitJKha4TUPENCAd2LrylCawur0YhCJoLMHBJA=="
+ },
+ "NUnit3TestAdapter": {
+ "type": "Direct",
+ "requested": "[6.*, )",
+ "resolved": "6.2.0",
+ "contentHash": "8PMJB8za2u8S0ey/nEtvh9BHjLhv5yzUEMCmA0+VIPLKSeOAZ3TEHWDyAp0+iPQb3jnBH1o8k0PoU2FgzXLRnQ==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyModel": "8.0.2",
+ "Microsoft.Testing.Extensions.VSTestBridge": "2.1.0",
+ "Microsoft.Testing.Platform.MSBuild": "2.1.0"
+ }
+ },
+ "PPWCode.Vernacular.NHibernate.IV.Test": {
+ "type": "Direct",
+ "requested": "[1.0.0-*, )",
+ "resolved": "1.0.0-alpha.4",
+ "contentHash": "69r1iMnzFonMb4R14o7z950VtCwQNadpsC2KFRSb6Ynsk1eg+j6bLHA7nwLQf5nVL/NwFwD/ucivSUDjTJHLqg==",
+ "dependencies": {
+ "Microsoft.Data.SqlClient": "7.0.1",
+ "Microsoft.Extensions.Configuration": "9.0.15",
+ "Microsoft.Extensions.Configuration.EnvironmentVariables": "9.0.15",
+ "Microsoft.Extensions.Configuration.Json": "9.0.15",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.15",
+ "Microsoft.Extensions.DependencyModel": "9.0.15",
+ "Microsoft.Extensions.Logging": "9.0.15",
+ "Microsoft.Extensions.Logging.Abstractions": "9.0.15",
+ "Microsoft.Extensions.Options.ConfigurationExtensions": "9.0.15",
+ "Moq": "4.20.72",
+ "NHibernate": "5.6.0",
+ "NHibernate.Extensions.Logging": "4.0.0",
+ "NHibernateProfiler.Appender": "6.0.6053",
+ "NUnit": "4.5.1",
+ "PPWCode.Util.Authorization.I": "1.0.0",
+ "PPWCode.Util.Time.I": "2.0.0-alpha.1",
+ "PPWCode.Vernacular.Contracts.I": "1.5.0",
+ "PPWCode.Vernacular.Exceptions.V": "1.1.0",
+ "PPWCode.Vernacular.NHibernate.IV.SqlServer": "1.0.0-alpha.4",
+ "PPWCode.Vernacular.Persistence.V": "1.2.0-alpha.5",
+ "PPWCode.Vernacular.Semantics.V": "1.0.0",
+ "Serilog": "4.3.1",
+ "Serilog.Extensions.Logging": "9.0.2",
+ "Serilog.Settings.Configuration": "9.0.0",
+ "Serilog.Sinks.NUnit": "1.0.3",
+ "System.Configuration.ConfigurationManager": "9.0.15"
+ }
+ },
+ "StyleCop.Analyzers": {
+ "type": "Direct",
+ "requested": "[1.2.0-beta.556, )",
+ "resolved": "1.2.0-beta.556",
+ "contentHash": "llRPgmA1fhC0I0QyFLEcjvtM2239QzKr/tcnbsjArLMJxJlu0AA5G7Fft0OI30pHF3MW63Gf4aSSsjc5m82J1Q==",
+ "dependencies": {
+ "StyleCop.Analyzers.Unstable": "1.2.0.556"
+ }
+ },
+ "Antlr3.Runtime": {
+ "type": "Transitive",
+ "resolved": "3.5.1",
+ "contentHash": "ZwCEpLCLZXkjzf1lYEixp9hgVlYYk33ACHn6xjFyVhGRi2BpoYQez0qtatbetdylASWYTG+cGz0CGR4z66JM4w==",
+ "dependencies": {
+ "NETStandard.Library": "1.6.0"
+ }
+ },
+ "Azure.Core": {
+ "type": "Transitive",
+ "resolved": "1.35.0",
+ "contentHash": "hENcx03Jyuqv05F4RBEPbxz29UrM3Nbhnr6Wl6NQpoU9BCIbL3XLentrxDCTrH54NLS11Exxi/o8MYgT/cnKFA==",
+ "dependencies": {
+ "Microsoft.Bcl.AsyncInterfaces": "1.1.1",
+ "System.Memory.Data": "1.0.2"
+ }
+ },
+ "Azure.Storage.Blobs": {
+ "type": "Transitive",
+ "resolved": "12.18.0",
+ "contentHash": "IUqHRXnabXCzmmvkzqPK4FuGzLxmKSugDEt5Hm5B/JlJFR+aHDsPW4nCLbG0txThqBSKPqcBBU/oA6c5TaFJgA==",
+ "dependencies": {
+ "Azure.Storage.Common": "12.17.0"
+ }
+ },
+ "Azure.Storage.Common": {
+ "type": "Transitive",
+ "resolved": "12.17.0",
+ "contentHash": "/h8SpUkxMuQy/MbNFeJQGmhYt3JnYfEiGeDojtNgLNzzhyDnRYgjF3ZKYgjORYQpn0Spr+4+v2MZy+0GNJBLrg==",
+ "dependencies": {
+ "Azure.Core": "1.35.0",
+ "System.IO.Hashing": "6.0.0"
+ }
+ },
+ "Castle.Core": {
+ "type": "Transitive",
+ "resolved": "5.1.1",
+ "contentHash": "rpYtIczkzGpf+EkZgDr9CClTdemhsrwA/W5hMoPjLkRFnXzH44zDLoovXeKtmxb1ykXK9aJVODSpiJml8CTw2g==",
+ "dependencies": {
+ "System.Diagnostics.EventLog": "6.0.0"
+ }
+ },
+ "Google.Protobuf": {
+ "type": "Transitive",
+ "resolved": "3.24.4",
+ "contentHash": "TmUI4ndd3x5HePyLmqAmGT6oVvoRCu+bMmrJmOpAFtCPEB+oUMWF8dyVY1zxXry/8cqsTHWszYRIAwpuUNpUyA=="
+ },
+ "Humanizer.Core": {
+ "type": "Transitive",
+ "resolved": "2.14.1",
+ "contentHash": "lQKvtaTDOXnoVJ20ibTuSIOf2i0uO0MPbDhd1jm238I+U/2ZnRENj0cktKZhtchBMtCUSRQ5v4xBCUbKNmyVMw=="
+ },
+ "Iesi.Collections": {
+ "type": "Transitive",
+ "resolved": "4.1.1",
+ "contentHash": "VBrZi6gKjArcyOqrKoZODtd4V9rGqyxkUTwO9Hg/8+idhe/A391X9nRXuESewb7kfCNo5jRwFKLSjrY0j+0PkA=="
+ },
+ "Microsoft.ApplicationInsights": {
+ "type": "Transitive",
+ "resolved": "2.23.0",
+ "contentHash": "nWArUZTdU7iqZLycLKWe0TDms48KKGE6pONH2terYNa8REXiqixrMOkf1sk5DHGMaUTqONU2YkS4SAXBhLStgw=="
+ },
+ "Microsoft.Bcl.AsyncInterfaces": {
+ "type": "Transitive",
+ "resolved": "7.0.0",
+ "contentHash": "3aeMZ1N0lJoSyzqiP03hqemtb1BijhsJADdobn/4nsMJ8V1H+CrpuduUe4hlRdx+ikBQju1VGjMD1GJ3Sk05Eg=="
+ },
+ "Microsoft.Bcl.Cryptography": {
+ "type": "Transitive",
+ "resolved": "9.0.13",
+ "contentHash": "5T+bH3Lb1nEe8Hf/ixMxLmhlrx5wRi53wv7OhVwG2F1ZviW1ejFRS1NHur3uqPpJRGtkQwUchtY6zhVK2R+v+w=="
+ },
+ "Microsoft.Build.Tasks.Git": {
+ "type": "Transitive",
+ "resolved": "10.0.203",
+ "contentHash": "m56WtzvIcL6t7JR3c7ogYitHizNM2QnRSo8yqxrQi+m5E/GGyDEmqymP+2p6YsFXn0j/Tzz67s4FQnrTLC7GKQ==",
+ "dependencies": {
+ "System.IO.Hashing": "10.0.7"
+ }
+ },
+ "Microsoft.CodeAnalysis.Analyzers": {
+ "type": "Transitive",
+ "resolved": "3.3.4",
+ "contentHash": "AxkxcPR+rheX0SmvpLVIGLhOUXAKG56a64kV9VQZ4y9gR9ZmPXnqZvHJnmwLSwzrEP6junUF11vuc+aqo5r68g=="
+ },
+ "Microsoft.CodeAnalysis.Common": {
+ "type": "Transitive",
+ "resolved": "4.8.0",
+ "contentHash": "/jR+e/9aT+BApoQJABlVCKnnggGQbvGh7BKq2/wI1LamxC+LbzhcLj4Vj7gXCofl1n4E521YfF9w0WcASGg/KA==",
+ "dependencies": {
+ "Microsoft.CodeAnalysis.Analyzers": "3.3.4"
+ }
+ },
+ "Microsoft.CodeAnalysis.CSharp": {
+ "type": "Transitive",
+ "resolved": "4.8.0",
+ "contentHash": "+3+qfdb/aaGD8PZRCrsdobbzGs1m9u119SkkJt8e/mk3xLJz/udLtS2T6nY27OTXxBBw10HzAbC8Z9w08VyP/g==",
+ "dependencies": {
+ "Microsoft.CodeAnalysis.Common": "[4.8.0]"
+ }
+ },
+ "Microsoft.CodeAnalysis.CSharp.Workspaces": {
+ "type": "Transitive",
+ "resolved": "4.8.0",
+ "contentHash": "3amm4tq4Lo8/BGvg9p3BJh3S9nKq2wqCXfS7138i69TUpo/bD+XvD0hNurpEBtcNZhi1FyutiomKJqVF39ugYA==",
+ "dependencies": {
+ "Humanizer.Core": "2.14.1",
+ "Microsoft.CodeAnalysis.CSharp": "[4.8.0]",
+ "Microsoft.CodeAnalysis.Common": "[4.8.0]",
+ "Microsoft.CodeAnalysis.Workspaces.Common": "[4.8.0]"
+ }
+ },
+ "Microsoft.CodeAnalysis.Workspaces.Common": {
+ "type": "Transitive",
+ "resolved": "4.8.0",
+ "contentHash": "LXyV+MJKsKRu3FGJA3OmSk40OUIa/dQCFLOnm5X8MNcujx7hzGu8o+zjXlb/cy5xUdZK2UKYb9YaQ2E8m9QehQ==",
+ "dependencies": {
+ "Humanizer.Core": "2.14.1",
+ "Microsoft.Bcl.AsyncInterfaces": "7.0.0",
+ "Microsoft.CodeAnalysis.Common": "[4.8.0]",
+ "System.Composition": "7.0.0"
+ }
+ },
+ "Microsoft.CodeCoverage": {
+ "type": "Transitive",
+ "resolved": "18.5.1",
+ "contentHash": "vMFDR1ZjqzzgKmM0zrPie7Gv9Y+ZppjODB5Quzu9Eq0TlIusUfUCYFPEawO91zQuqwzvdFbJSU7WHNtjStffJQ=="
+ },
+ "Microsoft.Data.SqlClient": {
+ "type": "Transitive",
+ "resolved": "7.0.1",
+ "contentHash": "9jZFXAJ2ThNYK7lhj2RhH7klXVNaWSvZpQncq3bPIOjmHBrdjwgeO4c8wucUVxQwFT8rAA13Z2F2jzoYR7ICDw==",
+ "dependencies": {
+ "Microsoft.Bcl.Cryptography": "9.0.13",
+ "Microsoft.Data.SqlClient.Extensions.Abstractions": "1.0.0",
+ "Microsoft.Data.SqlClient.Internal.Logging": "1.0.0",
+ "Microsoft.Data.SqlClient.SNI.runtime": "6.0.2",
+ "Microsoft.Extensions.Caching.Memory": "9.0.13",
+ "Microsoft.IdentityModel.JsonWebTokens": "8.16.0",
+ "Microsoft.IdentityModel.Protocols.OpenIdConnect": "8.16.0",
+ "Microsoft.SqlServer.Server": "1.0.0",
+ "System.Configuration.ConfigurationManager": "9.0.13",
+ "System.Security.Cryptography.Pkcs": "9.0.13"
+ }
+ },
+ "Microsoft.Data.SqlClient.Extensions.Abstractions": {
+ "type": "Transitive",
+ "resolved": "1.0.0",
+ "contentHash": "rlnxc0KfwDSbE8ZHntFnl8SCgOa9QtJZblMv2zXLhRwl1Je7fsdsVzxSjzzC4JMsfAK+jXJWyezRB8SxUY4BdA==",
+ "dependencies": {
+ "Microsoft.Data.SqlClient.Internal.Logging": "1.0.0"
+ }
+ },
+ "Microsoft.Data.SqlClient.Internal.Logging": {
+ "type": "Transitive",
+ "resolved": "1.0.0",
+ "contentHash": "Kue/7CF8KNT9zozfr30C94dMZVZml3atqWZvQemSXvTau76tRdypzeKiBKXadqgbOME0UiQIyVTNo5WxCRNVNg=="
+ },
+ "Microsoft.Data.SqlClient.SNI.runtime": {
+ "type": "Transitive",
+ "resolved": "6.0.2",
+ "contentHash": "f+pRODTWX7Y67jXO3T5S2dIPZ9qMJNySjlZT/TKmWVNWe19N8jcWmHaqHnnchaq3gxEKv1SWVY5EFzOD06l41w=="
+ },
+ "Microsoft.Extensions.Caching.Abstractions": {
+ "type": "Transitive",
+ "resolved": "9.0.13",
+ "contentHash": "nTT90JYIpcXEy6fcU8LPVycONkO6wipROgP9pyC4uxBif4fazu2rDzlWSntqtzr5p8GbQL2EopsYuTZR3yoeag==",
+ "dependencies": {
+ "Microsoft.Extensions.Primitives": "9.0.13"
+ }
+ },
+ "Microsoft.Extensions.Caching.Memory": {
+ "type": "Transitive",
+ "resolved": "9.0.13",
+ "contentHash": "OdQmN8LYcUEu20Fxii9mk68nHJGL+JPXF3w0+hxenf0oDDdDBA+ZV/S92FmIgAWAElowIiFA/g0x+8YB1g80Hg==",
+ "dependencies": {
+ "Microsoft.Extensions.Caching.Abstractions": "9.0.13",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.13",
+ "Microsoft.Extensions.Logging.Abstractions": "9.0.13",
+ "Microsoft.Extensions.Options": "9.0.13",
+ "Microsoft.Extensions.Primitives": "9.0.13"
+ }
+ },
+ "Microsoft.Extensions.Configuration": {
+ "type": "Transitive",
+ "resolved": "9.0.15",
+ "contentHash": "qxlTxFw69SHEljR49rJ1PPZn2Z/uqEixCb2vFE77BaX1CSyt+6aHvCOfj1LD7kXtKwxxrBaJBgLdu19c8jipLg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration.Abstractions": "9.0.15",
+ "Microsoft.Extensions.Primitives": "9.0.15"
+ }
+ },
+ "Microsoft.Extensions.Configuration.Abstractions": {
+ "type": "Transitive",
+ "resolved": "9.0.15",
+ "contentHash": "M9s2mDxtfNdS6SbemODzDxHgm+eIhZPSuTc0s0QazQoSceTXTv+OjthKqf8r/FehXtABXD01ijQNdtODDFtnxg==",
+ "dependencies": {
+ "Microsoft.Extensions.Primitives": "9.0.15"
+ }
+ },
+ "Microsoft.Extensions.Configuration.Binder": {
+ "type": "Transitive",
+ "resolved": "9.0.15",
+ "contentHash": "6hOTcdyGlJBBHl1DqbnvqSbHsJp814r5HMXGkTH1Jg6IosqwqZhh00/UCUJ0oXrACO096wWuCMfKMIPbnMGWIQ==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration.Abstractions": "9.0.15"
+ }
+ },
+ "Microsoft.Extensions.Configuration.EnvironmentVariables": {
+ "type": "Transitive",
+ "resolved": "9.0.15",
+ "contentHash": "5laaPT77pVbLlj2vZklHhvapPcG2hXmRAM04OtDdhZv9dDfibm5NLYq81M7/W3JgVqdRl7TL4CxM1+0qduQi4Q==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "9.0.15",
+ "Microsoft.Extensions.Configuration.Abstractions": "9.0.15"
+ }
+ },
+ "Microsoft.Extensions.Configuration.FileExtensions": {
+ "type": "Transitive",
+ "resolved": "9.0.15",
+ "contentHash": "HtxlK3nOdSt/AInMnTFbvg6tToOMXmsl+jZ6g6pYjzDhlfeQZksE/yKS8YG14yzvtgIFTUkh95qZ+UCqqguxSQ==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "9.0.15",
+ "Microsoft.Extensions.Configuration.Abstractions": "9.0.15",
+ "Microsoft.Extensions.FileProviders.Abstractions": "9.0.15",
+ "Microsoft.Extensions.FileProviders.Physical": "9.0.15",
+ "Microsoft.Extensions.Primitives": "9.0.15"
+ }
+ },
+ "Microsoft.Extensions.Configuration.Json": {
+ "type": "Transitive",
+ "resolved": "9.0.15",
+ "contentHash": "rZidIJ2FOyOUPlXwgsdVP2BeAr0CTxzHA21wZoCVhMZx08bMkGvuJGIjDswNh1LmEwPLmEf/E9LOigT3EpKMGA==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration": "9.0.15",
+ "Microsoft.Extensions.Configuration.Abstractions": "9.0.15",
+ "Microsoft.Extensions.Configuration.FileExtensions": "9.0.15",
+ "Microsoft.Extensions.FileProviders.Abstractions": "9.0.15"
+ }
+ },
+ "Microsoft.Extensions.DependencyInjection": {
+ "type": "Transitive",
+ "resolved": "9.0.15",
+ "contentHash": "IC2QYj9ctbepvv2etwVXFVSfVLyFuYMuHhclQeuFYyWOGOY8yHfv6GzND3Dr4u7AOhWC1p/HwbJQNCZvGdiQ0g==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.15"
+ }
+ },
+ "Microsoft.Extensions.DependencyInjection.Abstractions": {
+ "type": "Transitive",
+ "resolved": "9.0.15",
+ "contentHash": "4ulUZtcGCPQ/LadApR1QftrRZ0AvxGW6SsVhS3QoTAwZtzhbN6x0VCVPoXsoPkznUrgzy8bi4KZ+kFt5jsP40Q=="
+ },
+ "Microsoft.Extensions.DependencyModel": {
+ "type": "Transitive",
+ "resolved": "9.0.15",
+ "contentHash": "zt6n0QA6ufiSYJFURYCnQcOP48fRvmlLtbKwgAoPoBjuBGZ+2g+yhu3MRxOjfiA3iHpjlMoDJcNMOhRMVG64oQ=="
+ },
+ "Microsoft.Extensions.FileProviders.Abstractions": {
+ "type": "Transitive",
+ "resolved": "9.0.15",
+ "contentHash": "yzWilnNU/MvHINapPhY6iFAeApZnhToXbEBplORucn01hFc1F6ZaKt0V9dHYpUMun8WR9cSnq1ky35FWREVZbA==",
+ "dependencies": {
+ "Microsoft.Extensions.Primitives": "9.0.15"
+ }
+ },
+ "Microsoft.Extensions.FileProviders.Physical": {
+ "type": "Transitive",
+ "resolved": "9.0.15",
+ "contentHash": "iFT4OZXDitw6IHkQTE7G//UZAKIPS14wuM6aVZTlfzVvR6PdICnL3f2OKayu2nEamE5XBzpvUKcOT0xOX93eBA==",
+ "dependencies": {
+ "Microsoft.Extensions.FileProviders.Abstractions": "9.0.15",
+ "Microsoft.Extensions.FileSystemGlobbing": "9.0.15",
+ "Microsoft.Extensions.Primitives": "9.0.15"
+ }
+ },
+ "Microsoft.Extensions.FileSystemGlobbing": {
+ "type": "Transitive",
+ "resolved": "9.0.15",
+ "contentHash": "zr0KtzBYm8f8pD3jLNlg9jy/8K9p9z9rCZebRJmQ0nWAikNwHVx2zc5MbDt88bctC8gc8jtqGhy/e7TFNW3gOg=="
+ },
+ "Microsoft.Extensions.Logging": {
+ "type": "Transitive",
+ "resolved": "9.0.15",
+ "contentHash": "+rAMD3QMdqEhUHmD79DZGyAivBSnLvYC5P6iBbvO6so0qYRe4rtJ0v9ABsbXkUOzYFVrN0w8+abNoNEOmbangw==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection": "9.0.15",
+ "Microsoft.Extensions.Logging.Abstractions": "9.0.15",
+ "Microsoft.Extensions.Options": "9.0.15"
+ }
+ },
+ "Microsoft.Extensions.Logging.Abstractions": {
+ "type": "Transitive",
+ "resolved": "9.0.15",
+ "contentHash": "kI9Sc2l8oC3bEptPIPp3+aoCBCfrefJHn5lgfKbw526JJbUuNNQPtB/bcUyqFpzr6KKgHxALfNrP6rX1x+19yA==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.15"
+ }
+ },
+ "Microsoft.Extensions.Options": {
+ "type": "Transitive",
+ "resolved": "9.0.15",
+ "contentHash": "MbKKtaKGlvil2KWaA3x81l15mUorZGhqe4v8h3eLl7YU6gpOlfARnXYxHxx3GEakHl0De0zeu1kFm3u/NiPdKg==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.15",
+ "Microsoft.Extensions.Primitives": "9.0.15"
+ }
+ },
+ "Microsoft.Extensions.Options.ConfigurationExtensions": {
+ "type": "Transitive",
+ "resolved": "9.0.15",
+ "contentHash": "g7IlZ1Qp1c5J0UPx9aesAvxTbIDkSM2EqBFeH1VBLCoYQYZjMoVQlVB+jYmsNs0lgrAa91p0yRoYu5HGYaGxCg==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration.Abstractions": "9.0.15",
+ "Microsoft.Extensions.Configuration.Binder": "9.0.15",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.15",
+ "Microsoft.Extensions.Options": "9.0.15",
+ "Microsoft.Extensions.Primitives": "9.0.15"
+ }
+ },
+ "Microsoft.Extensions.Primitives": {
+ "type": "Transitive",
+ "resolved": "9.0.15",
+ "contentHash": "WRPJ9kpIwsOcghRT0tduIqiz7CDv7WsnL4kTJavtHS4j5AW++4LlR63oOSTL2o/zLR4T1z0/FQMgrnsPJ5bpQQ=="
+ },
+ "Microsoft.IdentityModel.Abstractions": {
+ "type": "Transitive",
+ "resolved": "8.16.0",
+ "contentHash": "gSxKLWRZzBpIsEoeUPkxfywNCCvRvl7hkq146XHPk5vOQc9izSf1I+uL1vh4y2U19QPxd9Z8K/8AdWyxYz2lSg=="
+ },
+ "Microsoft.IdentityModel.JsonWebTokens": {
+ "type": "Transitive",
+ "resolved": "8.16.0",
+ "contentHash": "prBU72cIP4V8E9fhN+o/YdskTsLeIcnKPbhZf0X6mD7fdxoZqnS/NdEkSr+9Zp+2q7OZBOMfNBKGbTbhXODO4w==",
+ "dependencies": {
+ "Microsoft.IdentityModel.Tokens": "8.16.0"
+ }
+ },
+ "Microsoft.IdentityModel.Logging": {
+ "type": "Transitive",
+ "resolved": "8.16.0",
+ "contentHash": "MTzXmETkNQPACR7/XCXM1OGM6oU9RkyibqeJRtO9Ndew2LnGjMf9Atqj2VSf4XC27X0FQycUAlzxxEgQMWn2xQ==",
+ "dependencies": {
+ "Microsoft.IdentityModel.Abstractions": "8.16.0"
+ }
+ },
+ "Microsoft.IdentityModel.Protocols": {
+ "type": "Transitive",
+ "resolved": "8.16.0",
+ "contentHash": "UFrU7d46UTsPQTa2HIEIpB9H1uJe1BW9FLw5uhEJ2ZuKdur8bcUA/bO5caq5dlBt5gNJeRIB3QQXYNs5fCQCZA==",
+ "dependencies": {
+ "Microsoft.IdentityModel.Tokens": "8.16.0"
+ }
+ },
+ "Microsoft.IdentityModel.Protocols.OpenIdConnect": {
+ "type": "Transitive",
+ "resolved": "8.16.0",
+ "contentHash": "h4yVXyJsEBBX5lg2G5ftMsi5JzcNEGAzrNphA6DQ6eOd8P0s+cDCOyPwVTYLePZvJL5unbPvYIvzrbTXzFjXnQ==",
+ "dependencies": {
+ "Microsoft.IdentityModel.Protocols": "8.16.0",
+ "System.IdentityModel.Tokens.Jwt": "8.16.0"
+ }
+ },
+ "Microsoft.IdentityModel.Tokens": {
+ "type": "Transitive",
+ "resolved": "8.16.0",
+ "contentHash": "rtViGJcGsN7WcfUNErwNeQgjuU5cJNl6FDQsfi9TncwO+Epzn0FTfBsg3YuFW1Q0Ch/KPxaVdjLw3/+5Z5ceFQ==",
+ "dependencies": {
+ "Microsoft.Extensions.Logging.Abstractions": "8.0.0",
+ "Microsoft.IdentityModel.Logging": "8.16.0"
+ }
+ },
+ "Microsoft.NETCore.Platforms": {
+ "type": "Transitive",
+ "resolved": "1.1.0",
+ "contentHash": "kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A=="
+ },
+ "Microsoft.SourceLink.Common": {
+ "type": "Transitive",
+ "resolved": "10.0.203",
+ "contentHash": "QYAnhBCOkT3ZUT/fHag11+bamwlbZ3U9Vi/WfKrD9emdUf1t3aqjWv0V2KtEGHSRSC81aBc8Oy/mvyGpEYd9Pg=="
+ },
+ "Microsoft.SqlServer.Server": {
+ "type": "Transitive",
+ "resolved": "1.0.0",
+ "contentHash": "N4KeF3cpcm1PUHym1RmakkzfkEv3GRMyofVv40uXsQhCQeglr2OHNcUk2WOG51AKpGO8ynGpo9M/kFXSzghwug=="
+ },
+ "Microsoft.Testing.Extensions.Telemetry": {
+ "type": "Transitive",
+ "resolved": "2.1.0",
+ "contentHash": "5TwgTx2u7k9Al/xbZ18QXq4Hdy2xewkVTI6K3sk+jY2ykqUkIKNuj7rFu3GOV5KnEUkevhw6eZcyZs77STHJIA==",
+ "dependencies": {
+ "Microsoft.ApplicationInsights": "2.23.0",
+ "Microsoft.Testing.Platform": "2.1.0"
+ }
+ },
+ "Microsoft.Testing.Extensions.TrxReport.Abstractions": {
+ "type": "Transitive",
+ "resolved": "2.1.0",
+ "contentHash": "D8xmIJYQFJ6D49Rx5/vPrkZZxb338Jkew+eSqZLBfBiWKw4QZKy3i1BOXiLfz0lOmaNErwDz/YWRojCdNl+B9Q==",
+ "dependencies": {
+ "Microsoft.Testing.Platform": "2.1.0"
+ }
+ },
+ "Microsoft.Testing.Extensions.VSTestBridge": {
+ "type": "Transitive",
+ "resolved": "2.1.0",
+ "contentHash": "bNRIEA2YoGr+Y+7LHdA7i1U80+7BAdf4K4Qh4Kx6eKkoBK/NV7QpoMg+GWPP0/eqAFzuUmUOIPVZ87Oo0Vyxmw==",
+ "dependencies": {
+ "Microsoft.TestPlatform.ObjectModel": "18.0.1",
+ "Microsoft.Testing.Extensions.Telemetry": "2.1.0",
+ "Microsoft.Testing.Extensions.TrxReport.Abstractions": "2.1.0",
+ "Microsoft.Testing.Platform": "2.1.0"
+ }
+ },
+ "Microsoft.Testing.Platform": {
+ "type": "Transitive",
+ "resolved": "2.1.0",
+ "contentHash": "aHkjNTGIA+Zbdw6RJgSFrbDrCjO0CgqpElqYcvkRSeUhBv2bKarnvU3ep786U7UqrPlArT/B7VmImRibJD0Zrg=="
+ },
+ "Microsoft.Testing.Platform.MSBuild": {
+ "type": "Transitive",
+ "resolved": "2.1.0",
+ "contentHash": "UpfPebXQtHGrWz21+YLHmJSm+5zsuPE9U9pfdCtoB+67g75fDmWlNgpkH2ZmdVhSwkjNIed9Icg8Iu63z2ei5Q==",
+ "dependencies": {
+ "Microsoft.Testing.Platform": "2.1.0"
+ }
+ },
+ "Microsoft.TestPlatform.ObjectModel": {
+ "type": "Transitive",
+ "resolved": "18.5.1",
+ "contentHash": "KNZd+M0S0rz5eNAln0pbZX+A/RbokYZCbGKx4fN4CkhtWhkz6nSJDO+9LGYjRE4d0WPVriJ2JnVubkjt3+PpMg=="
+ },
+ "Microsoft.TestPlatform.TestHost": {
+ "type": "Transitive",
+ "resolved": "18.5.1",
+ "contentHash": "RM+3JNHEoHOCFXzVntUcIiYxzPjzBN0N8wto6HYXi76YyBTZ/3CeRL8U+Pk5zx3AUrOmHxDvKJwGUCdElU9bJg==",
+ "dependencies": {
+ "Microsoft.TestPlatform.ObjectModel": "18.5.1",
+ "Newtonsoft.Json": "13.0.3"
+ }
+ },
+ "Microsoft.Win32.SystemEvents": {
+ "type": "Transitive",
+ "resolved": "8.0.0",
+ "contentHash": "9opKRyOKMCi2xJ7Bj7kxtZ1r9vbzosMvRrdEhVhDz8j8MoBGgB+WmC94yH839NPH+BclAjtQ/pyagvi/8gDLkw=="
+ },
+ "Moq": {
+ "type": "Transitive",
+ "resolved": "4.20.72",
+ "contentHash": "EA55cjyNn8eTNWrgrdZJH5QLFp2L43oxl1tlkoYUKIE9pRwL784OWiTXeCV5ApS+AMYEAlt7Fo03A2XfouvHmQ==",
+ "dependencies": {
+ "Castle.Core": "5.1.1"
+ }
+ },
+ "NETStandard.Library": {
+ "type": "Transitive",
+ "resolved": "1.6.1",
+ "contentHash": "WcSp3+vP+yHNgS8EV5J7pZ9IRpeDuARBPN28by8zqff1wJQXm26PVU8L3/fYLBJVU7BtDyqNVWq2KlCVvSSR4A==",
+ "dependencies": {
+ "Microsoft.NETCore.Platforms": "1.1.0"
+ }
+ },
+ "Newtonsoft.Json": {
+ "type": "Transitive",
+ "resolved": "13.0.3",
+ "contentHash": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ=="
+ },
+ "NHibernate": {
+ "type": "Transitive",
+ "resolved": "5.6.0",
+ "contentHash": "uDUFQQYSuLa2gdWrdHKJzvOqFkeVYMd3yWqGxtgyIG3cp+MxxQXNGe3iNYcy3f/U/yHjQpQUryMyvlBZVzz0FA==",
+ "dependencies": {
+ "Antlr3.Runtime": "[3.5.1, 4.0.0)",
+ "Iesi.Collections": "4.1.1",
+ "Remotion.Linq": "[2.2.0, 3.0.0)",
+ "Remotion.Linq.EagerFetching": "[2.2.0, 3.0.0)",
+ "System.Configuration.ConfigurationManager": "8.0.0"
+ }
+ },
+ "NHibernate.Extensions.Logging": {
+ "type": "Transitive",
+ "resolved": "4.0.0",
+ "contentHash": "ztoDkVfu5nKj1YhxnLSP4fdnYR5FttkNyS9mqH0Hg5g1G/fZ90z7FwRjXHMdiFZl8T1wi569IvoCXm3oqzl5lA==",
+ "dependencies": {
+ "NHibernate": "5.4.9",
+ "System.Drawing.Common": "8.0.12"
+ }
+ },
+ "NHibernateProfiler.Appender": {
+ "type": "Transitive",
+ "resolved": "6.0.6053",
+ "contentHash": "WN0Cm9s8k+K4aPTEwAhVykzG8l37iPRJgdAJNbHfAycIo+y+D/J8PnDcqCfLdrzDKtu/6zgKEkIAjBUGbMDpXw==",
+ "dependencies": {
+ "Azure.Storage.Blobs": "12.18.0",
+ "Google.Protobuf": "3.24.4",
+ "Microsoft.CodeAnalysis.CSharp": "4.8.0",
+ "Microsoft.CodeAnalysis.CSharp.Workspaces": "4.8.0",
+ "Microsoft.CodeAnalysis.Common": "4.8.0",
+ "Microsoft.Extensions.Configuration.Abstractions": "7.0.0",
+ "Microsoft.Extensions.DependencyModel": "7.0.0",
+ "Microsoft.Extensions.Logging": "7.0.0",
+ "Newtonsoft.Json": "13.0.3",
+ "System.Data.SqlClient": "4.8.6",
+ "System.Security.Permissions": "6.0.1"
+ }
+ },
+ "PPWCode.Util.Authorization.I": {
+ "type": "Transitive",
+ "resolved": "1.0.0",
+ "contentHash": "JDc3Ul3/gmpLKfBgW6emQSPyeikgP3S+A0GzbOendxWOT7YNsdyzs5wAthzgkF88o2BG+R7EXBZcppg4qR9v+w=="
+ },
+ "PPWCode.Util.Time.I": {
+ "type": "Transitive",
+ "resolved": "2.0.0-alpha.1",
+ "contentHash": "Jve7ymPsfTegA4cGfYt6Vx9duJh+0exANdKe/6lpuEwUESAZAEXShQyHrWW2Krfx414B3vVxr1f6F1P3DVD2Gg==",
+ "dependencies": {
+ "PPWCode.Vernacular.Contracts.I": "1.5.0",
+ "PPWCode.Vernacular.Exceptions.V": "1.1.0",
+ "PPWCode.Vernacular.Semantics.V": "1.0.0"
+ }
+ },
+ "PPWCode.Vernacular.Exceptions.V": {
+ "type": "Transitive",
+ "resolved": "1.1.0",
+ "contentHash": "G/XH86vmbBIIuVRcoNLFRD0AHtEJ7aLw8w+Ia3BUHgZw2TGALDQ/eNOfrOrTFy5+4HPO2PLwRfrr69/Cp/zTRw=="
+ },
+ "PPWCode.Vernacular.NHibernate.IV.SqlServer": {
+ "type": "Transitive",
+ "resolved": "1.0.0-alpha.4",
+ "contentHash": "g6s0KZlboHXnT4WtBJqK3mlQN/OIH2oOgi/FGvhUswMxrDkBev1yxA9omYB/S+1BmdSAVmwdF6jxjFHNf3kYFA==",
+ "dependencies": {
+ "Microsoft.Data.SqlClient": "7.0.1",
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.15",
+ "Microsoft.Extensions.Logging.Abstractions": "9.0.15",
+ "NHibernate": "5.6.0",
+ "PPWCode.Vernacular.Contracts.I": "1.5.0",
+ "PPWCode.Vernacular.Exceptions.V": "1.1.0",
+ "PPWCode.Vernacular.NHibernate.IV": "1.0.0-alpha.4",
+ "PPWCode.Vernacular.Persistence.V": "1.2.0-alpha.5",
+ "PPWCode.Vernacular.Semantics.V": "1.0.0",
+ "System.Configuration.ConfigurationManager": "9.0.15"
+ }
+ },
+ "PPWCode.Vernacular.Persistence.V": {
+ "type": "Transitive",
+ "resolved": "1.2.0-alpha.5",
+ "contentHash": "vz0SYQUZGLaKiSiV0Y1yHm0FByb5+jISNmWXWyUMQlAwEAMSrC7Na5K7kkpGDoVMo8OSxMnzbCSeMCbP4isJOw==",
+ "dependencies": {
+ "PPWCode.Vernacular.Contracts.I": "1.5.0",
+ "PPWCode.Vernacular.Exceptions.V": "1.1.0",
+ "PPWCode.Vernacular.Semantics.V": "1.0.0"
+ }
+ },
+ "PPWCode.Vernacular.Semantics.V": {
+ "type": "Transitive",
+ "resolved": "1.0.0",
+ "contentHash": "B4jer3TyGME3xLFLY7BUN71OmvJiquPN4JH0ifQ7Gvh9CIrIL2orX/SHBtWNF7foUN1O22VpytcpmzWoT11Heg==",
+ "dependencies": {
+ "PPWCode.Vernacular.Contracts.I": "1.5.0",
+ "PPWCode.Vernacular.Exceptions.V": "1.1.0"
+ }
+ },
+ "Remotion.Linq": {
+ "type": "Transitive",
+ "resolved": "2.2.0",
+ "contentHash": "fK/76UmpC0FXBlGDFVPLJHQlDLYnGC+XY3eoDgCgbtrhi0vzbXDQ3n/IYHhqSKqXQfGw/u04A1drWs7rFVkRjw=="
+ },
+ "Remotion.Linq.EagerFetching": {
+ "type": "Transitive",
+ "resolved": "2.2.0",
+ "contentHash": "d6bkH5kROJPFsdvDy4yQved9I4ickamytPByPyuQcH9dk1ef4jciajo50vTQhheyOHeWOgLh97UvkiHV8QSgeQ==",
+ "dependencies": {
+ "Remotion.Linq": "2.2.0"
+ }
+ },
+ "runtime.native.System.Data.SqlClient.sni": {
+ "type": "Transitive",
+ "resolved": "4.7.0",
+ "contentHash": "9kyFSIdN3T0qjDQ2R0HRXYIhS3l5psBzQi6qqhdLz+SzFyEy4sVxNOke+yyYv8Cu8rPER12c3RDjLT8wF3WBYQ==",
+ "dependencies": {
+ "runtime.win-arm64.runtime.native.System.Data.SqlClient.sni": "4.4.0",
+ "runtime.win-x64.runtime.native.System.Data.SqlClient.sni": "4.4.0",
+ "runtime.win-x86.runtime.native.System.Data.SqlClient.sni": "4.4.0"
+ }
+ },
+ "runtime.win-arm64.runtime.native.System.Data.SqlClient.sni": {
+ "type": "Transitive",
+ "resolved": "4.4.0",
+ "contentHash": "LbrynESTp3bm5O/+jGL8v0Qg5SJlTV08lpIpFesXjF6uGNMWqFnUQbYBJwZTeua6E/Y7FIM1C54Ey1btLWupdg=="
+ },
+ "runtime.win-x64.runtime.native.System.Data.SqlClient.sni": {
+ "type": "Transitive",
+ "resolved": "4.4.0",
+ "contentHash": "38ugOfkYJqJoX9g6EYRlZB5U2ZJH51UP8ptxZgdpS07FgOEToV+lS11ouNK2PM12Pr6X/PpT5jK82G3DwH/SxQ=="
+ },
+ "runtime.win-x86.runtime.native.System.Data.SqlClient.sni": {
+ "type": "Transitive",
+ "resolved": "4.4.0",
+ "contentHash": "YhEdSQUsTx+C8m8Bw7ar5/VesXvCFMItyZF7G1AUY+OM0VPZUOeAVpJ4Wl6fydBGUYZxojTDR3I6Bj/+BPkJNA=="
+ },
+ "Serilog": {
+ "type": "Transitive",
+ "resolved": "4.3.1",
+ "contentHash": "savYe7h5yRlkqBVOwP8cIRDOdqKiPmYCU4W87JH38sBmcKD5EBoXvQIw6bNEvZ/pTe1gsiye3VFCzBsoppGkXQ=="
+ },
+ "Serilog.Extensions.Logging": {
+ "type": "Transitive",
+ "resolved": "9.0.2",
+ "contentHash": "p8kk2McN6LxuQfLyCoOkL7+nJIhVKnV1WFUxAaGTQTQk0wySbgmCHe98j+xSQvIbYHtzKXROOE2G2R0TLwBfig==",
+ "dependencies": {
+ "Microsoft.Extensions.Logging": "9.0.0",
+ "Serilog": "4.2.0"
+ }
+ },
+ "Serilog.Settings.Configuration": {
+ "type": "Transitive",
+ "resolved": "9.0.0",
+ "contentHash": "4/Et4Cqwa+F88l5SeFeNZ4c4Z6dEAIKbu3MaQb2Zz9F/g27T5a3wvfMcmCOaAiACjfUb4A6wrlTVfyYUZk3RRQ==",
+ "dependencies": {
+ "Microsoft.Extensions.Configuration.Binder": "9.0.0",
+ "Microsoft.Extensions.DependencyModel": "9.0.0",
+ "Serilog": "4.2.0"
+ }
+ },
+ "Serilog.Sinks.NUnit": {
+ "type": "Transitive",
+ "resolved": "1.0.3",
+ "contentHash": "NufJ17KzvXKaDubTEJ8zSGbhQ0+uRJ05q8B9sjORqCRVt+692u8svNMP7Miu1v7+SIPjPZybmkRoSpppgjaTfA==",
+ "dependencies": {
+ "NETStandard.Library": "1.6.1",
+ "NUnit": "3.6.0",
+ "Serilog": "2.0.0"
+ }
+ },
+ "StyleCop.Analyzers.Unstable": {
+ "type": "Transitive",
+ "resolved": "1.2.0.556",
+ "contentHash": "zvn9Mqs/ox/83cpYPignI8hJEM2A93s2HkHs8HYMOAQW0PkampyoErAiIyKxgTLqbbad29HX/shv/6LGSjPJNQ=="
+ },
+ "System.Composition": {
+ "type": "Transitive",
+ "resolved": "7.0.0",
+ "contentHash": "tRwgcAkDd85O8Aq6zHDANzQaq380cek9lbMg5Qma46u5BZXq/G+XvIYmu+UI+BIIZ9zssXLYrkTykEqxxvhcmg==",
+ "dependencies": {
+ "System.Composition.AttributedModel": "7.0.0",
+ "System.Composition.Convention": "7.0.0",
+ "System.Composition.Hosting": "7.0.0",
+ "System.Composition.Runtime": "7.0.0",
+ "System.Composition.TypedParts": "7.0.0"
+ }
+ },
+ "System.Composition.AttributedModel": {
+ "type": "Transitive",
+ "resolved": "7.0.0",
+ "contentHash": "2QzClqjElKxgI1jK1Jztnq44/8DmSuTSGGahXqQ4TdEV0h9s2KikQZIgcEqVzR7OuWDFPGLHIprBJGQEPr8fAQ=="
+ },
+ "System.Composition.Convention": {
+ "type": "Transitive",
+ "resolved": "7.0.0",
+ "contentHash": "IMhTlpCs4HmlD8B+J8/kWfwX7vrBBOs6xyjSTzBlYSs7W4OET4tlkR/Sg9NG8jkdJH9Mymq0qGdYS1VPqRTBnQ==",
+ "dependencies": {
+ "System.Composition.AttributedModel": "7.0.0"
+ }
+ },
+ "System.Composition.Hosting": {
+ "type": "Transitive",
+ "resolved": "7.0.0",
+ "contentHash": "eB6gwN9S+54jCTBJ5bpwMOVerKeUfGGTYCzz3QgDr1P55Gg/Wb27ShfPIhLMjmZ3MoAKu8uUSv6fcCdYJTN7Bg==",
+ "dependencies": {
+ "System.Composition.Runtime": "7.0.0"
+ }
+ },
+ "System.Composition.Runtime": {
+ "type": "Transitive",
+ "resolved": "7.0.0",
+ "contentHash": "aZJ1Zr5Txe925rbo4742XifEyW0MIni1eiUebmcrP3HwLXZ3IbXUj4MFMUH/RmnJOAQiS401leg/2Sz1MkApDw=="
+ },
+ "System.Composition.TypedParts": {
+ "type": "Transitive",
+ "resolved": "7.0.0",
+ "contentHash": "ZK0KNPfbtxVceTwh+oHNGUOYV2WNOHReX2AXipuvkURC7s/jPwoWfsu3SnDBDgofqbiWr96geofdQ2erm/KTHg==",
+ "dependencies": {
+ "System.Composition.AttributedModel": "7.0.0",
+ "System.Composition.Hosting": "7.0.0",
+ "System.Composition.Runtime": "7.0.0"
+ }
+ },
+ "System.Configuration.ConfigurationManager": {
+ "type": "Transitive",
+ "resolved": "9.0.15",
+ "contentHash": "KaQ/0Hoi8bfStyzpITKW9jHY8qkVwii/m26foTTeXMx9UGwhtQMWIwBmLDUFHTFmP39x0mqnAuvZi+yyem/N1w==",
+ "dependencies": {
+ "System.Diagnostics.EventLog": "9.0.15",
+ "System.Security.Cryptography.ProtectedData": "9.0.15"
+ }
+ },
+ "System.Data.SqlClient": {
+ "type": "Transitive",
+ "resolved": "4.8.6",
+ "contentHash": "2Ij/LCaTQRyAi5lAv7UUTV9R2FobC8xN9mE0fXBZohum/xLl8IZVmE98Rq5ugQHjCgTBRKqpXRb4ORulRdA6Ig==",
+ "dependencies": {
+ "runtime.native.System.Data.SqlClient.sni": "4.7.0"
+ }
+ },
+ "System.Diagnostics.EventLog": {
+ "type": "Transitive",
+ "resolved": "9.0.15",
+ "contentHash": "IDnzlv94Tj0vQfkZ9sB0r45BjAfHvrZ9sSnxvHKhpRETvmKZJwSJO+XCMfl5VYyeKliLYaFSMflVp3q+ktTRBw=="
+ },
+ "System.Drawing.Common": {
+ "type": "Transitive",
+ "resolved": "8.0.12",
+ "contentHash": "mZrI0KKFAZO8gWaARhdaJblMUNEeHMlPsFa/nRS4j4EenYP/+f8F2bzu4yb0Co7WYuJ/w/D8d/zW4KGCdYJCyQ==",
+ "dependencies": {
+ "Microsoft.Win32.SystemEvents": "8.0.0"
+ }
+ },
+ "System.IdentityModel.Tokens.Jwt": {
+ "type": "Transitive",
+ "resolved": "8.16.0",
+ "contentHash": "rrs2u7DRMXQG2yh0oVyF/vLwosfRv20Ld2iEpYcKwQWXHjfV+gFXNQsQ9p008kR9Ou4pxBs68Q6/9zC8Gi1wjg==",
+ "dependencies": {
+ "Microsoft.IdentityModel.JsonWebTokens": "8.16.0",
+ "Microsoft.IdentityModel.Tokens": "8.16.0"
+ }
+ },
+ "System.IO.Hashing": {
+ "type": "Transitive",
+ "resolved": "10.0.7",
+ "contentHash": "6hsjdSr4VOXSOnhALkYplHpAxnTG1J33YN42IB6nH2fEg4QnJqrZ4Ft+qn7mkrKAOYC8pCSFYwVWw6rQbmwgLQ=="
+ },
+ "System.Memory.Data": {
+ "type": "Transitive",
+ "resolved": "1.0.2",
+ "contentHash": "JGkzeqgBsiZwKJZ1IxPNsDFZDhUvuEdX8L8BDC8N3KOj+6zMcNU28CNN59TpZE/VJYy9cP+5M+sbxtWJx3/xtw=="
+ },
+ "System.Security.Cryptography.Pkcs": {
+ "type": "Transitive",
+ "resolved": "9.0.13",
+ "contentHash": "dxJhkuoaelvWy588wPXjShNks+ZMiSgXnN75/u+DPbER5PqKrLPDftE0BvGM7nDK/scQAVlD+gRXlCAAjWi58Q=="
+ },
+ "System.Security.Cryptography.ProtectedData": {
+ "type": "Transitive",
+ "resolved": "9.0.15",
+ "contentHash": "sObjWXydF/osVWObYPmqN1PGxx+XYlPbEqPDjUzYGQbanrdd4x9pIPnUwi7d7RuKEsZ5i814oVli9s3bMqlRog=="
+ },
+ "System.Security.Permissions": {
+ "type": "Transitive",
+ "resolved": "6.0.1",
+ "contentHash": "QufGNXopGXxdXbkDn87hta4ajdNKNI3a1+HoJbKkmBbMtYPhEgEJKSiPZHGjI0zQpgZ7gi5L0gSV3PeewKRtew==",
+ "dependencies": {
+ "System.Windows.Extensions": "6.0.0"
+ }
+ },
+ "System.Windows.Extensions": {
+ "type": "Transitive",
+ "resolved": "6.0.0",
+ "contentHash": "IXoJOXIqc39AIe+CIR7koBtRGMiCt/LPM3lI+PELtDIy9XdyeSrwXFdWV9dzJ2Awl0paLWUaknLxFQ5HpHZUog==",
+ "dependencies": {
+ "System.Drawing.Common": "6.0.0"
+ }
+ },
+ "ppwcode.util.validation.iv": {
+ "type": "Project"
+ },
+ "ppwcode.util.validation.iv.nhibernate": {
+ "type": "Project",
+ "dependencies": {
+ "PPWCode.Util.Validation.IV": "[0.0.0-devbuild, )",
+ "PPWCode.Vernacular.NHibernate.IV": "[1.0.0-*, )"
+ }
+ },
+ "PPWCode.Vernacular.Contracts.I": {
+ "type": "CentralTransitive",
+ "requested": "[1.*, )",
+ "resolved": "1.5.0",
+ "contentHash": "Hv7hjZ+RXEnVkAZEdwlAW5QbT0Hvh+pCusaiQT5bRD93Z58OuMHH6Q48TizzufF6+DRm9rJdnufIcOWWvKLKaw=="
+ },
+ "PPWCode.Vernacular.NHibernate.IV": {
+ "type": "CentralTransitive",
+ "requested": "[1.0.0-*, )",
+ "resolved": "1.0.0-alpha.4",
+ "contentHash": "jBMDTA+eeHUmK9vo9j0xlpcAS5Wa+irxuY+leT1ZxekrYC9oYlcvPImaS7HjQARJwm1K0INNLF6SHRiOXO5JBA==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.15",
+ "Microsoft.Extensions.Logging.Abstractions": "9.0.15",
+ "NHibernate": "5.6.0",
+ "PPWCode.Vernacular.Contracts.I": "1.5.0",
+ "PPWCode.Vernacular.Exceptions.V": "1.1.0",
+ "PPWCode.Vernacular.Persistence.V": "1.2.0-alpha.5",
+ "PPWCode.Vernacular.Semantics.V": "1.0.0",
+ "System.Configuration.ConfigurationManager": "9.0.15"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/IV.NHibernate/European/Belgium/ValidBBAN.cs b/src/IV.NHibernate/European/Belgium/ValidBBAN.cs
new file mode 100644
index 0000000..a0d830b
--- /dev/null
+++ b/src/IV.NHibernate/European/Belgium/ValidBBAN.cs
@@ -0,0 +1,20 @@
+// Copyright 2026 by PeopleWare n.v..
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+using PPWCode.Util.Validation.IV.European.Belgium;
+
+namespace PPWCode.Util.Validation.IV.NHibernate.European.Belgium;
+
+public class ValidBBAN : ImmutableIdentificationBase
+{
+ protected override BBAN Create(string? identification)
+ => new(identification);
+}
diff --git a/src/IV.NHibernate/European/Belgium/ValidCompanyLocalUnitNumber.cs b/src/IV.NHibernate/European/Belgium/ValidCompanyLocalUnitNumber.cs
new file mode 100644
index 0000000..1797d21
--- /dev/null
+++ b/src/IV.NHibernate/European/Belgium/ValidCompanyLocalUnitNumber.cs
@@ -0,0 +1,20 @@
+// Copyright 2026 by PeopleWare n.v..
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+using PPWCode.Util.Validation.IV.European.Belgium;
+
+namespace PPWCode.Util.Validation.IV.NHibernate.European.Belgium;
+
+public class ValidCompanyLocalUnitNumber : ImmutableIdentificationBase
+{
+ protected override CompanyLocalUnitNumber Create(string? identification)
+ => new(identification);
+}
diff --git a/src/IV.NHibernate/European/Belgium/ValidDMFA.cs b/src/IV.NHibernate/European/Belgium/ValidDMFA.cs
new file mode 100644
index 0000000..e2604ac
--- /dev/null
+++ b/src/IV.NHibernate/European/Belgium/ValidDMFA.cs
@@ -0,0 +1,20 @@
+// Copyright 2026 by PeopleWare n.v..
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+using PPWCode.Util.Validation.IV.European.Belgium;
+
+namespace PPWCode.Util.Validation.IV.NHibernate.European.Belgium;
+
+public class ValidDMFA : ImmutableIdentificationBase
+{
+ protected override DMFA Create(string? identification)
+ => new(identification);
+}
diff --git a/src/IV.NHibernate/European/Belgium/ValidINSS.cs b/src/IV.NHibernate/European/Belgium/ValidINSS.cs
new file mode 100644
index 0000000..9c324db
--- /dev/null
+++ b/src/IV.NHibernate/European/Belgium/ValidINSS.cs
@@ -0,0 +1,20 @@
+// Copyright 2026 by PeopleWare n.v..
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+using PPWCode.Util.Validation.IV.European.Belgium;
+
+namespace PPWCode.Util.Validation.IV.NHibernate.European.Belgium;
+
+public class ValidINSS : ImmutableIdentificationBase
+{
+ protected override INSS Create(string? identification)
+ => new(identification);
+}
diff --git a/src/IV.NHibernate/European/Belgium/ValidKBO.cs b/src/IV.NHibernate/European/Belgium/ValidKBO.cs
new file mode 100644
index 0000000..1448bc8
--- /dev/null
+++ b/src/IV.NHibernate/European/Belgium/ValidKBO.cs
@@ -0,0 +1,20 @@
+// Copyright 2026 by PeopleWare n.v..
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+using PPWCode.Util.Validation.IV.European.Belgium;
+
+namespace PPWCode.Util.Validation.IV.NHibernate.European.Belgium;
+
+public class ValidKBO : ImmutableIdentificationBase
+{
+ protected override KBO Create(string? identification)
+ => new(identification);
+}
diff --git a/src/IV.NHibernate/European/Belgium/ValidOGM.cs b/src/IV.NHibernate/European/Belgium/ValidOGM.cs
new file mode 100644
index 0000000..084923c
--- /dev/null
+++ b/src/IV.NHibernate/European/Belgium/ValidOGM.cs
@@ -0,0 +1,21 @@
+// Copyright 2026 by PeopleWare n.v..
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+using PPWCode.Util.Validation.IV.European.Belgium;
+
+namespace PPWCode.Util.Validation.IV.NHibernate.European.Belgium;
+
+public class ValidOGM : ImmutableIdentificationBase
+{
+ ///
+ protected override OGM Create(string? identification)
+ => new(identification);
+}
diff --git a/src/IV.NHibernate/European/Belgium/ValidRSZ.cs b/src/IV.NHibernate/European/Belgium/ValidRSZ.cs
new file mode 100644
index 0000000..bab61d9
--- /dev/null
+++ b/src/IV.NHibernate/European/Belgium/ValidRSZ.cs
@@ -0,0 +1,20 @@
+// Copyright 2026 by PeopleWare n.v..
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+using PPWCode.Util.Validation.IV.European.Belgium;
+
+namespace PPWCode.Util.Validation.IV.NHibernate.European.Belgium;
+
+public class ValidRSZ : ImmutableIdentificationBase
+{
+ protected override RSZ Create(string? identification)
+ => new(identification);
+}
diff --git a/src/IV.NHibernate/European/Belgium/ValidTemporaryRSZ.cs b/src/IV.NHibernate/European/Belgium/ValidTemporaryRSZ.cs
new file mode 100644
index 0000000..5049918
--- /dev/null
+++ b/src/IV.NHibernate/European/Belgium/ValidTemporaryRSZ.cs
@@ -0,0 +1,20 @@
+// Copyright 2026 by PeopleWare n.v..
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+using PPWCode.Util.Validation.IV.European.Belgium;
+
+namespace PPWCode.Util.Validation.IV.NHibernate.European.Belgium;
+
+public class ValidTemporaryRSZ : ImmutableIdentificationBase
+{
+ protected override TemporaryRSZ Create(string? identification)
+ => new(identification);
+}
diff --git a/src/IV.NHibernate/European/Belgium/ValidVAT.cs b/src/IV.NHibernate/European/Belgium/ValidVAT.cs
new file mode 100644
index 0000000..0f8f475
--- /dev/null
+++ b/src/IV.NHibernate/European/Belgium/ValidVAT.cs
@@ -0,0 +1,20 @@
+// Copyright 2026 by PeopleWare n.v..
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+using PPWCode.Util.Validation.IV.European.Belgium;
+
+namespace PPWCode.Util.Validation.IV.NHibernate.European.Belgium;
+
+public class ValidVAT : ImmutableIdentificationBase
+{
+ protected override VAT Create(string? identification)
+ => new(identification);
+}
diff --git a/src/IV.NHibernate/European/France/ValidNIR.cs b/src/IV.NHibernate/European/France/ValidNIR.cs
new file mode 100644
index 0000000..0b45b0b
--- /dev/null
+++ b/src/IV.NHibernate/European/France/ValidNIR.cs
@@ -0,0 +1,20 @@
+// Copyright 2026 by PeopleWare n.v..
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+using PPWCode.Util.Validation.IV.European.France;
+
+namespace PPWCode.Util.Validation.IV.NHibernate.European.France;
+
+public class ValidNIR : ImmutableIdentificationBase
+{
+ protected override NIR Create(string? identification)
+ => new(identification);
+}
diff --git a/src/IV.NHibernate/European/Netherlands/ValidBSN.cs b/src/IV.NHibernate/European/Netherlands/ValidBSN.cs
new file mode 100644
index 0000000..d130ca8
--- /dev/null
+++ b/src/IV.NHibernate/European/Netherlands/ValidBSN.cs
@@ -0,0 +1,20 @@
+// Copyright 2026 by PeopleWare n.v..
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+using PPWCode.Util.Validation.IV.European.Netherlands;
+
+namespace PPWCode.Util.Validation.IV.NHibernate.European.Netherlands;
+
+public class ValidBSN : ImmutableIdentificationBase
+{
+ protected override BSN Create(string? identification)
+ => new(identification);
+}
diff --git a/src/IV.NHibernate/ImmutableIdentificationBase.cs b/src/IV.NHibernate/ImmutableIdentificationBase.cs
new file mode 100644
index 0000000..1c5eaa9
--- /dev/null
+++ b/src/IV.NHibernate/ImmutableIdentificationBase.cs
@@ -0,0 +1,60 @@
+// Copyright 2026 by PeopleWare n.v..
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+using System.Data;
+using System.Data.Common;
+
+using NHibernate;
+using NHibernate.Engine;
+using NHibernate.SqlTypes;
+
+using PPWCode.Vernacular.Exceptions.V;
+using PPWCode.Vernacular.NHibernate.IV;
+
+namespace PPWCode.Util.Validation.IV.NHibernate;
+
+public abstract class ImmutableIdentificationBase : ImmutableUserTypeBase
+ where T : AbstractIdentification
+{
+ public override Type ReturnedType
+ => typeof(T);
+
+ public override SqlType[] SqlTypes
+ =>
+ [
+ new(DbType.String)
+ ];
+
+ protected abstract T Create(string identification);
+
+ public override object? NullSafeGet(DbDataReader rs, string[] names, ISessionImplementor sessionImplementor, object owner)
+ {
+ string identification = (string)NHibernateUtil.String.NullSafeGet(rs, names[0], sessionImplementor, owner);
+ return identification == null ? null : Create(identification);
+ }
+
+ public override void NullSafeSet(DbCommand cmd, object? value, int index, ISessionImplementor sessionImplementor)
+ {
+ if (value == null)
+ {
+ NHibernateUtil.String.NullSafeSet(cmd, null, index, sessionImplementor);
+ return;
+ }
+
+ T identification = (T)value;
+ if (!identification.IsValid)
+ {
+ throw new ProgrammingError($"Trying to save TYPE: {typeof(T).Name} with INVALID VALUE: {identification.RawVersion}, only VALID identification is allowed.");
+ }
+
+ NHibernateUtil.String.NullSafeSet(cmd, identification.CleanedVersion, index, sessionImplementor);
+ }
+}
diff --git a/src/IV.NHibernate/PPWCode.Util.Validation.IV.NHibernate.csproj b/src/IV.NHibernate/PPWCode.Util.Validation.IV.NHibernate.csproj
new file mode 100644
index 0000000..1806ce3
--- /dev/null
+++ b/src/IV.NHibernate/PPWCode.Util.Validation.IV.NHibernate.csproj
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/IV.NHibernate/ValidBIC.cs b/src/IV.NHibernate/ValidBIC.cs
new file mode 100644
index 0000000..1d7531c
--- /dev/null
+++ b/src/IV.NHibernate/ValidBIC.cs
@@ -0,0 +1,18 @@
+// Copyright 2026 by PeopleWare n.v..
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+namespace PPWCode.Util.Validation.IV.NHibernate;
+
+public class ValidBIC : ImmutableIdentificationBase
+{
+ protected override BIC Create(string? identification)
+ => new(identification);
+}
diff --git a/src/IV.NHibernate/ValidIBAN.cs b/src/IV.NHibernate/ValidIBAN.cs
new file mode 100644
index 0000000..bb89ea7
--- /dev/null
+++ b/src/IV.NHibernate/ValidIBAN.cs
@@ -0,0 +1,18 @@
+// Copyright 2026 by PeopleWare n.v..
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+namespace PPWCode.Util.Validation.IV.NHibernate;
+
+public class ValidIBAN : ImmutableIdentificationBase
+{
+ protected override IBAN Create(string identification)
+ => new IBAN(identification);
+}
diff --git a/src/IV.NHibernate/packages.lock.json b/src/IV.NHibernate/packages.lock.json
new file mode 100644
index 0000000..de2771f
--- /dev/null
+++ b/src/IV.NHibernate/packages.lock.json
@@ -0,0 +1,536 @@
+{
+ "version": 2,
+ "dependencies": {
+ "net10.0": {
+ "Microsoft.SourceLink.GitHub": {
+ "type": "Direct",
+ "requested": "[10.*, )",
+ "resolved": "10.0.203",
+ "contentHash": "R4Tvr1oACImMS+Y5M7NM07ll9QyJSKnki3Dvz8QwG1W6FEmd+9fmZXAF6BE6UPswHF6n0v41wgMQGlaudOspqA==",
+ "dependencies": {
+ "Microsoft.Build.Tasks.Git": "10.0.203",
+ "Microsoft.SourceLink.Common": "10.0.203",
+ "System.IO.Hashing": "10.0.7"
+ }
+ },
+ "PPWCode.Vernacular.NHibernate.IV": {
+ "type": "Direct",
+ "requested": "[1.0.0-*, )",
+ "resolved": "1.0.0-alpha.4",
+ "contentHash": "jBMDTA+eeHUmK9vo9j0xlpcAS5Wa+irxuY+leT1ZxekrYC9oYlcvPImaS7HjQARJwm1K0INNLF6SHRiOXO5JBA==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7",
+ "Microsoft.Extensions.Logging.Abstractions": "10.0.7",
+ "NHibernate": "5.6.0",
+ "PPWCode.Vernacular.Contracts.I": "1.5.0",
+ "PPWCode.Vernacular.Exceptions.V": "1.1.0",
+ "PPWCode.Vernacular.Persistence.V": "1.2.0-alpha.5",
+ "PPWCode.Vernacular.Semantics.V": "1.0.0",
+ "System.Configuration.ConfigurationManager": "10.0.7"
+ }
+ },
+ "StyleCop.Analyzers": {
+ "type": "Direct",
+ "requested": "[1.2.0-beta.556, )",
+ "resolved": "1.2.0-beta.556",
+ "contentHash": "llRPgmA1fhC0I0QyFLEcjvtM2239QzKr/tcnbsjArLMJxJlu0AA5G7Fft0OI30pHF3MW63Gf4aSSsjc5m82J1Q==",
+ "dependencies": {
+ "StyleCop.Analyzers.Unstable": "1.2.0.556"
+ }
+ },
+ "Antlr3.Runtime": {
+ "type": "Transitive",
+ "resolved": "3.5.1",
+ "contentHash": "ZwCEpLCLZXkjzf1lYEixp9hgVlYYk33ACHn6xjFyVhGRi2BpoYQez0qtatbetdylASWYTG+cGz0CGR4z66JM4w==",
+ "dependencies": {
+ "NETStandard.Library": "1.6.0"
+ }
+ },
+ "Iesi.Collections": {
+ "type": "Transitive",
+ "resolved": "4.1.1",
+ "contentHash": "VBrZi6gKjArcyOqrKoZODtd4V9rGqyxkUTwO9Hg/8+idhe/A391X9nRXuESewb7kfCNo5jRwFKLSjrY0j+0PkA=="
+ },
+ "Microsoft.Build.Tasks.Git": {
+ "type": "Transitive",
+ "resolved": "10.0.203",
+ "contentHash": "m56WtzvIcL6t7JR3c7ogYitHizNM2QnRSo8yqxrQi+m5E/GGyDEmqymP+2p6YsFXn0j/Tzz67s4FQnrTLC7GKQ==",
+ "dependencies": {
+ "System.IO.Hashing": "10.0.7"
+ }
+ },
+ "Microsoft.Extensions.DependencyInjection.Abstractions": {
+ "type": "Transitive",
+ "resolved": "10.0.7",
+ "contentHash": "Z6mfFEaFcwCfSboxJwOLfu7/31npCY9q70WUamHW/vRQhDvBKOT4Vf9YkZj5J6hLvJpb0oDEYfHunQZj0xxvKw=="
+ },
+ "Microsoft.Extensions.Logging.Abstractions": {
+ "type": "Transitive",
+ "resolved": "10.0.7",
+ "contentHash": "tIEcQ2gvERrH2KiCjdsVcHGhXt9lIsuDStfOIeZWr7/fP8IXhGiYfx0/80PNI7WPO2IYuFtlZLSlnTS8+/Mchw==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.7"
+ }
+ },
+ "Microsoft.NETCore.Platforms": {
+ "type": "Transitive",
+ "resolved": "1.0.1",
+ "contentHash": "2G6OjjJzwBfNOO8myRV/nFrbTw5iA+DEm0N+qUqhrOmaVtn4pC77h38I1jsXGw5VH55+dPfQsqHD0We9sCl9FQ=="
+ },
+ "Microsoft.SourceLink.Common": {
+ "type": "Transitive",
+ "resolved": "10.0.203",
+ "contentHash": "QYAnhBCOkT3ZUT/fHag11+bamwlbZ3U9Vi/WfKrD9emdUf1t3aqjWv0V2KtEGHSRSC81aBc8Oy/mvyGpEYd9Pg=="
+ },
+ "NETStandard.Library": {
+ "type": "Transitive",
+ "resolved": "1.6.0",
+ "contentHash": "ypsCvIdCZ4IoYASJHt6tF2fMo7N30NLgV1EbmC+snO490OMl9FvVxmumw14rhReWU3j3g7BYudG6YCrchwHJlA==",
+ "dependencies": {
+ "Microsoft.NETCore.Platforms": "1.0.1"
+ }
+ },
+ "NHibernate": {
+ "type": "Transitive",
+ "resolved": "5.6.0",
+ "contentHash": "uDUFQQYSuLa2gdWrdHKJzvOqFkeVYMd3yWqGxtgyIG3cp+MxxQXNGe3iNYcy3f/U/yHjQpQUryMyvlBZVzz0FA==",
+ "dependencies": {
+ "Antlr3.Runtime": "[3.5.1, 4.0.0)",
+ "Iesi.Collections": "4.1.1",
+ "Remotion.Linq": "[2.2.0, 3.0.0)",
+ "Remotion.Linq.EagerFetching": "[2.2.0, 3.0.0)",
+ "System.Configuration.ConfigurationManager": "8.0.0"
+ }
+ },
+ "PPWCode.Vernacular.Exceptions.V": {
+ "type": "Transitive",
+ "resolved": "1.1.0",
+ "contentHash": "G/XH86vmbBIIuVRcoNLFRD0AHtEJ7aLw8w+Ia3BUHgZw2TGALDQ/eNOfrOrTFy5+4HPO2PLwRfrr69/Cp/zTRw=="
+ },
+ "PPWCode.Vernacular.Persistence.V": {
+ "type": "Transitive",
+ "resolved": "1.2.0-alpha.5",
+ "contentHash": "vz0SYQUZGLaKiSiV0Y1yHm0FByb5+jISNmWXWyUMQlAwEAMSrC7Na5K7kkpGDoVMo8OSxMnzbCSeMCbP4isJOw==",
+ "dependencies": {
+ "PPWCode.Vernacular.Contracts.I": "1.5.0",
+ "PPWCode.Vernacular.Exceptions.V": "1.1.0",
+ "PPWCode.Vernacular.Semantics.V": "1.0.0"
+ }
+ },
+ "PPWCode.Vernacular.Semantics.V": {
+ "type": "Transitive",
+ "resolved": "1.0.0",
+ "contentHash": "B4jer3TyGME3xLFLY7BUN71OmvJiquPN4JH0ifQ7Gvh9CIrIL2orX/SHBtWNF7foUN1O22VpytcpmzWoT11Heg==",
+ "dependencies": {
+ "PPWCode.Vernacular.Contracts.I": "1.5.0",
+ "PPWCode.Vernacular.Exceptions.V": "1.1.0"
+ }
+ },
+ "Remotion.Linq": {
+ "type": "Transitive",
+ "resolved": "2.2.0",
+ "contentHash": "fK/76UmpC0FXBlGDFVPLJHQlDLYnGC+XY3eoDgCgbtrhi0vzbXDQ3n/IYHhqSKqXQfGw/u04A1drWs7rFVkRjw=="
+ },
+ "Remotion.Linq.EagerFetching": {
+ "type": "Transitive",
+ "resolved": "2.2.0",
+ "contentHash": "d6bkH5kROJPFsdvDy4yQved9I4ickamytPByPyuQcH9dk1ef4jciajo50vTQhheyOHeWOgLh97UvkiHV8QSgeQ==",
+ "dependencies": {
+ "Remotion.Linq": "2.2.0"
+ }
+ },
+ "StyleCop.Analyzers.Unstable": {
+ "type": "Transitive",
+ "resolved": "1.2.0.556",
+ "contentHash": "zvn9Mqs/ox/83cpYPignI8hJEM2A93s2HkHs8HYMOAQW0PkampyoErAiIyKxgTLqbbad29HX/shv/6LGSjPJNQ=="
+ },
+ "System.Configuration.ConfigurationManager": {
+ "type": "Transitive",
+ "resolved": "10.0.7",
+ "contentHash": "NUV7+8ZpwAdtylEypliCwxTyMtt5oARCdEN9hOflL2dq5sGXHKAtBoVs1rb8qEj85ThC/5vJKDQmdiqKxZRgag==",
+ "dependencies": {
+ "System.Diagnostics.EventLog": "10.0.7",
+ "System.Security.Cryptography.ProtectedData": "10.0.7"
+ }
+ },
+ "System.Diagnostics.EventLog": {
+ "type": "Transitive",
+ "resolved": "10.0.7",
+ "contentHash": "WbmDLeTPYhEzXhvYVioTVn/D1XX6bovyny9n5p8Zxtf03+eY385RB818teZm6n+fA63iZNvng0/Np4tLuhkMhQ=="
+ },
+ "System.IO.Hashing": {
+ "type": "Transitive",
+ "resolved": "10.0.7",
+ "contentHash": "6hsjdSr4VOXSOnhALkYplHpAxnTG1J33YN42IB6nH2fEg4QnJqrZ4Ft+qn7mkrKAOYC8pCSFYwVWw6rQbmwgLQ=="
+ },
+ "System.Security.Cryptography.ProtectedData": {
+ "type": "Transitive",
+ "resolved": "10.0.7",
+ "contentHash": "eqKW9wyPUhZi6pxy9Y0fQO/bdHROcwj0tYdmoGEPCPCtCJLFdVVAlzuuYYEnJI64HxhoXPYGhtx891g/jwN4rg=="
+ },
+ "ppwcode.util.validation.iv": {
+ "type": "Project"
+ },
+ "PPWCode.Vernacular.Contracts.I": {
+ "type": "CentralTransitive",
+ "requested": "[1.*, )",
+ "resolved": "1.5.0",
+ "contentHash": "Hv7hjZ+RXEnVkAZEdwlAW5QbT0Hvh+pCusaiQT5bRD93Z58OuMHH6Q48TizzufF6+DRm9rJdnufIcOWWvKLKaw=="
+ }
+ },
+ "net8.0": {
+ "Microsoft.SourceLink.GitHub": {
+ "type": "Direct",
+ "requested": "[10.*, )",
+ "resolved": "10.0.203",
+ "contentHash": "R4Tvr1oACImMS+Y5M7NM07ll9QyJSKnki3Dvz8QwG1W6FEmd+9fmZXAF6BE6UPswHF6n0v41wgMQGlaudOspqA==",
+ "dependencies": {
+ "Microsoft.Build.Tasks.Git": "10.0.203",
+ "Microsoft.SourceLink.Common": "10.0.203",
+ "System.IO.Hashing": "10.0.7"
+ }
+ },
+ "PPWCode.Vernacular.NHibernate.IV": {
+ "type": "Direct",
+ "requested": "[1.0.0-*, )",
+ "resolved": "1.0.0-alpha.4",
+ "contentHash": "jBMDTA+eeHUmK9vo9j0xlpcAS5Wa+irxuY+leT1ZxekrYC9oYlcvPImaS7HjQARJwm1K0INNLF6SHRiOXO5JBA==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2",
+ "Microsoft.Extensions.Logging.Abstractions": "8.0.3",
+ "NHibernate": "5.6.0",
+ "PPWCode.Vernacular.Contracts.I": "1.5.0",
+ "PPWCode.Vernacular.Exceptions.V": "1.1.0",
+ "PPWCode.Vernacular.Persistence.V": "1.2.0-alpha.5",
+ "PPWCode.Vernacular.Semantics.V": "1.0.0",
+ "System.Configuration.ConfigurationManager": "8.0.1"
+ }
+ },
+ "StyleCop.Analyzers": {
+ "type": "Direct",
+ "requested": "[1.2.0-beta.556, )",
+ "resolved": "1.2.0-beta.556",
+ "contentHash": "llRPgmA1fhC0I0QyFLEcjvtM2239QzKr/tcnbsjArLMJxJlu0AA5G7Fft0OI30pHF3MW63Gf4aSSsjc5m82J1Q==",
+ "dependencies": {
+ "StyleCop.Analyzers.Unstable": "1.2.0.556"
+ }
+ },
+ "Antlr3.Runtime": {
+ "type": "Transitive",
+ "resolved": "3.5.1",
+ "contentHash": "ZwCEpLCLZXkjzf1lYEixp9hgVlYYk33ACHn6xjFyVhGRi2BpoYQez0qtatbetdylASWYTG+cGz0CGR4z66JM4w==",
+ "dependencies": {
+ "NETStandard.Library": "1.6.0"
+ }
+ },
+ "Iesi.Collections": {
+ "type": "Transitive",
+ "resolved": "4.1.1",
+ "contentHash": "VBrZi6gKjArcyOqrKoZODtd4V9rGqyxkUTwO9Hg/8+idhe/A391X9nRXuESewb7kfCNo5jRwFKLSjrY0j+0PkA=="
+ },
+ "Microsoft.Build.Tasks.Git": {
+ "type": "Transitive",
+ "resolved": "10.0.203",
+ "contentHash": "m56WtzvIcL6t7JR3c7ogYitHizNM2QnRSo8yqxrQi+m5E/GGyDEmqymP+2p6YsFXn0j/Tzz67s4FQnrTLC7GKQ==",
+ "dependencies": {
+ "System.IO.Hashing": "10.0.7"
+ }
+ },
+ "Microsoft.Extensions.DependencyInjection.Abstractions": {
+ "type": "Transitive",
+ "resolved": "8.0.2",
+ "contentHash": "3iE7UF7MQkCv1cxzCahz+Y/guQbTqieyxyaWKhrRO91itI9cOKO76OHeQDahqG4MmW5umr3CcCvGmK92lWNlbg=="
+ },
+ "Microsoft.Extensions.Logging.Abstractions": {
+ "type": "Transitive",
+ "resolved": "8.0.3",
+ "contentHash": "dL0QGToTxggRLMYY4ZYX5AMwBb+byQBd/5dMiZE07Nv73o6I5Are3C7eQTh7K2+A4ct0PVISSr7TZANbiNb2yQ==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2"
+ }
+ },
+ "Microsoft.NETCore.Platforms": {
+ "type": "Transitive",
+ "resolved": "1.0.1",
+ "contentHash": "2G6OjjJzwBfNOO8myRV/nFrbTw5iA+DEm0N+qUqhrOmaVtn4pC77h38I1jsXGw5VH55+dPfQsqHD0We9sCl9FQ=="
+ },
+ "Microsoft.SourceLink.Common": {
+ "type": "Transitive",
+ "resolved": "10.0.203",
+ "contentHash": "QYAnhBCOkT3ZUT/fHag11+bamwlbZ3U9Vi/WfKrD9emdUf1t3aqjWv0V2KtEGHSRSC81aBc8Oy/mvyGpEYd9Pg=="
+ },
+ "NETStandard.Library": {
+ "type": "Transitive",
+ "resolved": "1.6.0",
+ "contentHash": "ypsCvIdCZ4IoYASJHt6tF2fMo7N30NLgV1EbmC+snO490OMl9FvVxmumw14rhReWU3j3g7BYudG6YCrchwHJlA==",
+ "dependencies": {
+ "Microsoft.NETCore.Platforms": "1.0.1"
+ }
+ },
+ "NHibernate": {
+ "type": "Transitive",
+ "resolved": "5.6.0",
+ "contentHash": "uDUFQQYSuLa2gdWrdHKJzvOqFkeVYMd3yWqGxtgyIG3cp+MxxQXNGe3iNYcy3f/U/yHjQpQUryMyvlBZVzz0FA==",
+ "dependencies": {
+ "Antlr3.Runtime": "[3.5.1, 4.0.0)",
+ "Iesi.Collections": "4.1.1",
+ "Remotion.Linq": "[2.2.0, 3.0.0)",
+ "Remotion.Linq.EagerFetching": "[2.2.0, 3.0.0)",
+ "System.Configuration.ConfigurationManager": "8.0.0"
+ }
+ },
+ "PPWCode.Vernacular.Exceptions.V": {
+ "type": "Transitive",
+ "resolved": "1.1.0",
+ "contentHash": "G/XH86vmbBIIuVRcoNLFRD0AHtEJ7aLw8w+Ia3BUHgZw2TGALDQ/eNOfrOrTFy5+4HPO2PLwRfrr69/Cp/zTRw=="
+ },
+ "PPWCode.Vernacular.Persistence.V": {
+ "type": "Transitive",
+ "resolved": "1.2.0-alpha.5",
+ "contentHash": "vz0SYQUZGLaKiSiV0Y1yHm0FByb5+jISNmWXWyUMQlAwEAMSrC7Na5K7kkpGDoVMo8OSxMnzbCSeMCbP4isJOw==",
+ "dependencies": {
+ "PPWCode.Vernacular.Contracts.I": "1.5.0",
+ "PPWCode.Vernacular.Exceptions.V": "1.1.0",
+ "PPWCode.Vernacular.Semantics.V": "1.0.0"
+ }
+ },
+ "PPWCode.Vernacular.Semantics.V": {
+ "type": "Transitive",
+ "resolved": "1.0.0",
+ "contentHash": "B4jer3TyGME3xLFLY7BUN71OmvJiquPN4JH0ifQ7Gvh9CIrIL2orX/SHBtWNF7foUN1O22VpytcpmzWoT11Heg==",
+ "dependencies": {
+ "PPWCode.Vernacular.Contracts.I": "1.5.0",
+ "PPWCode.Vernacular.Exceptions.V": "1.1.0"
+ }
+ },
+ "Remotion.Linq": {
+ "type": "Transitive",
+ "resolved": "2.2.0",
+ "contentHash": "fK/76UmpC0FXBlGDFVPLJHQlDLYnGC+XY3eoDgCgbtrhi0vzbXDQ3n/IYHhqSKqXQfGw/u04A1drWs7rFVkRjw=="
+ },
+ "Remotion.Linq.EagerFetching": {
+ "type": "Transitive",
+ "resolved": "2.2.0",
+ "contentHash": "d6bkH5kROJPFsdvDy4yQved9I4ickamytPByPyuQcH9dk1ef4jciajo50vTQhheyOHeWOgLh97UvkiHV8QSgeQ==",
+ "dependencies": {
+ "Remotion.Linq": "2.2.0"
+ }
+ },
+ "StyleCop.Analyzers.Unstable": {
+ "type": "Transitive",
+ "resolved": "1.2.0.556",
+ "contentHash": "zvn9Mqs/ox/83cpYPignI8hJEM2A93s2HkHs8HYMOAQW0PkampyoErAiIyKxgTLqbbad29HX/shv/6LGSjPJNQ=="
+ },
+ "System.Configuration.ConfigurationManager": {
+ "type": "Transitive",
+ "resolved": "8.0.1",
+ "contentHash": "gPYFPDyohW2gXNhdQRSjtmeS6FymL2crg4Sral1wtvEJ7DUqFCDWDVbbLobASbzxfic8U1hQEdC7hmg9LHncMw==",
+ "dependencies": {
+ "System.Diagnostics.EventLog": "8.0.1",
+ "System.Security.Cryptography.ProtectedData": "8.0.0"
+ }
+ },
+ "System.Diagnostics.EventLog": {
+ "type": "Transitive",
+ "resolved": "8.0.1",
+ "contentHash": "n1ZP7NM2Gkn/MgD8+eOT5MulMj6wfeQMNS2Pizvq5GHCZfjlFMXV2irQlQmJhwA2VABC57M0auudO89Iu2uRLg=="
+ },
+ "System.IO.Hashing": {
+ "type": "Transitive",
+ "resolved": "10.0.7",
+ "contentHash": "6hsjdSr4VOXSOnhALkYplHpAxnTG1J33YN42IB6nH2fEg4QnJqrZ4Ft+qn7mkrKAOYC8pCSFYwVWw6rQbmwgLQ=="
+ },
+ "System.Security.Cryptography.ProtectedData": {
+ "type": "Transitive",
+ "resolved": "8.0.0",
+ "contentHash": "+TUFINV2q2ifyXauQXRwy4CiBhqvDEDZeVJU7qfxya4aRYOKzVBpN+4acx25VcPB9ywUN6C0n8drWl110PhZEg=="
+ },
+ "ppwcode.util.validation.iv": {
+ "type": "Project"
+ },
+ "PPWCode.Vernacular.Contracts.I": {
+ "type": "CentralTransitive",
+ "requested": "[1.*, )",
+ "resolved": "1.5.0",
+ "contentHash": "Hv7hjZ+RXEnVkAZEdwlAW5QbT0Hvh+pCusaiQT5bRD93Z58OuMHH6Q48TizzufF6+DRm9rJdnufIcOWWvKLKaw=="
+ }
+ },
+ "net9.0": {
+ "Microsoft.SourceLink.GitHub": {
+ "type": "Direct",
+ "requested": "[10.*, )",
+ "resolved": "10.0.203",
+ "contentHash": "R4Tvr1oACImMS+Y5M7NM07ll9QyJSKnki3Dvz8QwG1W6FEmd+9fmZXAF6BE6UPswHF6n0v41wgMQGlaudOspqA==",
+ "dependencies": {
+ "Microsoft.Build.Tasks.Git": "10.0.203",
+ "Microsoft.SourceLink.Common": "10.0.203",
+ "System.IO.Hashing": "10.0.7"
+ }
+ },
+ "PPWCode.Vernacular.NHibernate.IV": {
+ "type": "Direct",
+ "requested": "[1.0.0-*, )",
+ "resolved": "1.0.0-alpha.4",
+ "contentHash": "jBMDTA+eeHUmK9vo9j0xlpcAS5Wa+irxuY+leT1ZxekrYC9oYlcvPImaS7HjQARJwm1K0INNLF6SHRiOXO5JBA==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.15",
+ "Microsoft.Extensions.Logging.Abstractions": "9.0.15",
+ "NHibernate": "5.6.0",
+ "PPWCode.Vernacular.Contracts.I": "1.5.0",
+ "PPWCode.Vernacular.Exceptions.V": "1.1.0",
+ "PPWCode.Vernacular.Persistence.V": "1.2.0-alpha.5",
+ "PPWCode.Vernacular.Semantics.V": "1.0.0",
+ "System.Configuration.ConfigurationManager": "9.0.15"
+ }
+ },
+ "StyleCop.Analyzers": {
+ "type": "Direct",
+ "requested": "[1.2.0-beta.556, )",
+ "resolved": "1.2.0-beta.556",
+ "contentHash": "llRPgmA1fhC0I0QyFLEcjvtM2239QzKr/tcnbsjArLMJxJlu0AA5G7Fft0OI30pHF3MW63Gf4aSSsjc5m82J1Q==",
+ "dependencies": {
+ "StyleCop.Analyzers.Unstable": "1.2.0.556"
+ }
+ },
+ "Antlr3.Runtime": {
+ "type": "Transitive",
+ "resolved": "3.5.1",
+ "contentHash": "ZwCEpLCLZXkjzf1lYEixp9hgVlYYk33ACHn6xjFyVhGRi2BpoYQez0qtatbetdylASWYTG+cGz0CGR4z66JM4w==",
+ "dependencies": {
+ "NETStandard.Library": "1.6.0"
+ }
+ },
+ "Iesi.Collections": {
+ "type": "Transitive",
+ "resolved": "4.1.1",
+ "contentHash": "VBrZi6gKjArcyOqrKoZODtd4V9rGqyxkUTwO9Hg/8+idhe/A391X9nRXuESewb7kfCNo5jRwFKLSjrY0j+0PkA=="
+ },
+ "Microsoft.Build.Tasks.Git": {
+ "type": "Transitive",
+ "resolved": "10.0.203",
+ "contentHash": "m56WtzvIcL6t7JR3c7ogYitHizNM2QnRSo8yqxrQi+m5E/GGyDEmqymP+2p6YsFXn0j/Tzz67s4FQnrTLC7GKQ==",
+ "dependencies": {
+ "System.IO.Hashing": "10.0.7"
+ }
+ },
+ "Microsoft.Extensions.DependencyInjection.Abstractions": {
+ "type": "Transitive",
+ "resolved": "9.0.15",
+ "contentHash": "4ulUZtcGCPQ/LadApR1QftrRZ0AvxGW6SsVhS3QoTAwZtzhbN6x0VCVPoXsoPkznUrgzy8bi4KZ+kFt5jsP40Q=="
+ },
+ "Microsoft.Extensions.Logging.Abstractions": {
+ "type": "Transitive",
+ "resolved": "9.0.15",
+ "contentHash": "kI9Sc2l8oC3bEptPIPp3+aoCBCfrefJHn5lgfKbw526JJbUuNNQPtB/bcUyqFpzr6KKgHxALfNrP6rX1x+19yA==",
+ "dependencies": {
+ "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.15"
+ }
+ },
+ "Microsoft.NETCore.Platforms": {
+ "type": "Transitive",
+ "resolved": "1.0.1",
+ "contentHash": "2G6OjjJzwBfNOO8myRV/nFrbTw5iA+DEm0N+qUqhrOmaVtn4pC77h38I1jsXGw5VH55+dPfQsqHD0We9sCl9FQ=="
+ },
+ "Microsoft.SourceLink.Common": {
+ "type": "Transitive",
+ "resolved": "10.0.203",
+ "contentHash": "QYAnhBCOkT3ZUT/fHag11+bamwlbZ3U9Vi/WfKrD9emdUf1t3aqjWv0V2KtEGHSRSC81aBc8Oy/mvyGpEYd9Pg=="
+ },
+ "NETStandard.Library": {
+ "type": "Transitive",
+ "resolved": "1.6.0",
+ "contentHash": "ypsCvIdCZ4IoYASJHt6tF2fMo7N30NLgV1EbmC+snO490OMl9FvVxmumw14rhReWU3j3g7BYudG6YCrchwHJlA==",
+ "dependencies": {
+ "Microsoft.NETCore.Platforms": "1.0.1"
+ }
+ },
+ "NHibernate": {
+ "type": "Transitive",
+ "resolved": "5.6.0",
+ "contentHash": "uDUFQQYSuLa2gdWrdHKJzvOqFkeVYMd3yWqGxtgyIG3cp+MxxQXNGe3iNYcy3f/U/yHjQpQUryMyvlBZVzz0FA==",
+ "dependencies": {
+ "Antlr3.Runtime": "[3.5.1, 4.0.0)",
+ "Iesi.Collections": "4.1.1",
+ "Remotion.Linq": "[2.2.0, 3.0.0)",
+ "Remotion.Linq.EagerFetching": "[2.2.0, 3.0.0)",
+ "System.Configuration.ConfigurationManager": "8.0.0"
+ }
+ },
+ "PPWCode.Vernacular.Exceptions.V": {
+ "type": "Transitive",
+ "resolved": "1.1.0",
+ "contentHash": "G/XH86vmbBIIuVRcoNLFRD0AHtEJ7aLw8w+Ia3BUHgZw2TGALDQ/eNOfrOrTFy5+4HPO2PLwRfrr69/Cp/zTRw=="
+ },
+ "PPWCode.Vernacular.Persistence.V": {
+ "type": "Transitive",
+ "resolved": "1.2.0-alpha.5",
+ "contentHash": "vz0SYQUZGLaKiSiV0Y1yHm0FByb5+jISNmWXWyUMQlAwEAMSrC7Na5K7kkpGDoVMo8OSxMnzbCSeMCbP4isJOw==",
+ "dependencies": {
+ "PPWCode.Vernacular.Contracts.I": "1.5.0",
+ "PPWCode.Vernacular.Exceptions.V": "1.1.0",
+ "PPWCode.Vernacular.Semantics.V": "1.0.0"
+ }
+ },
+ "PPWCode.Vernacular.Semantics.V": {
+ "type": "Transitive",
+ "resolved": "1.0.0",
+ "contentHash": "B4jer3TyGME3xLFLY7BUN71OmvJiquPN4JH0ifQ7Gvh9CIrIL2orX/SHBtWNF7foUN1O22VpytcpmzWoT11Heg==",
+ "dependencies": {
+ "PPWCode.Vernacular.Contracts.I": "1.5.0",
+ "PPWCode.Vernacular.Exceptions.V": "1.1.0"
+ }
+ },
+ "Remotion.Linq": {
+ "type": "Transitive",
+ "resolved": "2.2.0",
+ "contentHash": "fK/76UmpC0FXBlGDFVPLJHQlDLYnGC+XY3eoDgCgbtrhi0vzbXDQ3n/IYHhqSKqXQfGw/u04A1drWs7rFVkRjw=="
+ },
+ "Remotion.Linq.EagerFetching": {
+ "type": "Transitive",
+ "resolved": "2.2.0",
+ "contentHash": "d6bkH5kROJPFsdvDy4yQved9I4ickamytPByPyuQcH9dk1ef4jciajo50vTQhheyOHeWOgLh97UvkiHV8QSgeQ==",
+ "dependencies": {
+ "Remotion.Linq": "2.2.0"
+ }
+ },
+ "StyleCop.Analyzers.Unstable": {
+ "type": "Transitive",
+ "resolved": "1.2.0.556",
+ "contentHash": "zvn9Mqs/ox/83cpYPignI8hJEM2A93s2HkHs8HYMOAQW0PkampyoErAiIyKxgTLqbbad29HX/shv/6LGSjPJNQ=="
+ },
+ "System.Configuration.ConfigurationManager": {
+ "type": "Transitive",
+ "resolved": "9.0.15",
+ "contentHash": "KaQ/0Hoi8bfStyzpITKW9jHY8qkVwii/m26foTTeXMx9UGwhtQMWIwBmLDUFHTFmP39x0mqnAuvZi+yyem/N1w==",
+ "dependencies": {
+ "System.Diagnostics.EventLog": "9.0.15",
+ "System.Security.Cryptography.ProtectedData": "9.0.15"
+ }
+ },
+ "System.Diagnostics.EventLog": {
+ "type": "Transitive",
+ "resolved": "9.0.15",
+ "contentHash": "IDnzlv94Tj0vQfkZ9sB0r45BjAfHvrZ9sSnxvHKhpRETvmKZJwSJO+XCMfl5VYyeKliLYaFSMflVp3q+ktTRBw=="
+ },
+ "System.IO.Hashing": {
+ "type": "Transitive",
+ "resolved": "10.0.7",
+ "contentHash": "6hsjdSr4VOXSOnhALkYplHpAxnTG1J33YN42IB6nH2fEg4QnJqrZ4Ft+qn7mkrKAOYC8pCSFYwVWw6rQbmwgLQ=="
+ },
+ "System.Security.Cryptography.ProtectedData": {
+ "type": "Transitive",
+ "resolved": "9.0.15",
+ "contentHash": "sObjWXydF/osVWObYPmqN1PGxx+XYlPbEqPDjUzYGQbanrdd4x9pIPnUwi7d7RuKEsZ5i814oVli9s3bMqlRog=="
+ },
+ "ppwcode.util.validation.iv": {
+ "type": "Project"
+ },
+ "PPWCode.Vernacular.Contracts.I": {
+ "type": "CentralTransitive",
+ "requested": "[1.*, )",
+ "resolved": "1.5.0",
+ "contentHash": "Hv7hjZ+RXEnVkAZEdwlAW5QbT0Hvh+pCusaiQT5bRD93Z58OuMHH6Q48TizzufF6+DRm9rJdnufIcOWWvKLKaw=="
+ }
+ }
+ }
+}
\ No newline at end of file