C# Re-implementation (#5)

Re-implementation of C# interceptors SDK with clearer focus on
server-side / gateway interceptors.
Fixes a lot of issues with the existing implementation.
Still more boilerplate than I'm happy with, but this is better than what
was there. Will refine further in later PRs.
This commit is contained in:
Peder Holdgaard Pedersen 2026-05-14 15:11:41 +02:00 • committed by GitHub
commit d01a626b76
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -3,23 +3,25 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.0.31903.59
MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{827E0CD3-B72D-47B6-A68D-7590B98EB39B}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ModelContextProtocol.Interceptors", "src\ModelContextProtocol.Interceptors\ModelContextProtocol.Interceptors.csproj", "{A1B2C3D4-E5F6-7890-ABCD-EF1234567890}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ModelContextProtocol.Interceptors", "src\ModelContextProtocol.Interceptors\ModelContextProtocol.Interceptors.csproj", "{354D4988-07B6-4DEC-80D8-F558D9347EF0}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ModelContextProtocol.Interceptors.Tests", "tests\ModelContextProtocol.Interceptors.Tests\ModelContextProtocol.Interceptors.Tests.csproj", "{B2C3D4E5-F6A7-8901-BCDE-F12345678901}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "InterceptorServerSample", "samples\InterceptorServerSample\InterceptorServerSample.csproj", "{C3D4E5F6-A7B8-9012-CDEF-123456789012}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GatewaySample", "samples\GatewaySample\GatewaySample.csproj", "{D4E5F6A7-B8C9-0123-DEFA-234567890123}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "samples", "samples", "{5D20AA90-6969-D8BD-9DCD-8634F4692FDA}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "InterceptorServiceSample", "samples\InterceptorServiceSample\InterceptorServiceSample.csproj", "{45C578FE-FD43-4141-A0E1-68D9E359093F}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "InterceptorClientSample", "samples\InterceptorClientSample\InterceptorClientSample.csproj", "{40A103BD-6815-4EE8-B611-AF2E74D72F4D}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "InterceptorServerSample", "samples\InterceptorServerSample\InterceptorServerSample.csproj", "{FBBE9908-ED1F-47BD-B36A-8D809CD98DDE}"
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{827E0CD3-B72D-47B6-A68D-7590B98EB39B}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "InterceptorClientSample", "samples\InterceptorClientSample\InterceptorClientSample.csproj", "{0D5C2853-1AC5-4C17-A283-DBD0A9DFC841}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GatewayChainSample", "samples\GatewayChainSample\GatewayChainSample.csproj", "{398EFDAC-1286-4BEE-865F-BDB304B0694F}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "InterceptorLlmSample", "samples\InterceptorLlmSample\InterceptorLlmSample.csproj", "{1A4B3F17-53C3-4C15-9AC3-99AC01028D58}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TransparentProxySample", "samples\TransparentProxySample\TransparentProxySample.csproj", "{FFF8A540-0AEF-4DF0-A7A1-EB75CDE277B5}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{0AB3BF05-4346-4AA6-1389-037BE0695223}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ModelContextProtocol.Interceptors.Tests", "tests\ModelContextProtocol.Interceptors.Tests\ModelContextProtocol.Interceptors.Tests.csproj", "{B7548F9A-DF87-433F-B2BB-C3DFCA4F7B7C}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AvatarMoodInterceptorSample", "samples\AvatarMoodInterceptorSample\AvatarMoodInterceptorSample.csproj", "{A70E2A55-6F3C-4C86-9D42-1C8A7F6B3E2A}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@ -31,88 +33,110 @@ Global
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{354D4988-07B6-4DEC-80D8-F558D9347EF0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{354D4988-07B6-4DEC-80D8-F558D9347EF0}.Debug|Any CPU.Build.0 = Debug|Any CPU
{354D4988-07B6-4DEC-80D8-F558D9347EF0}.Debug|x64.ActiveCfg = Debug|Any CPU
{354D4988-07B6-4DEC-80D8-F558D9347EF0}.Debug|x64.Build.0 = Debug|Any CPU
{354D4988-07B6-4DEC-80D8-F558D9347EF0}.Debug|x86.ActiveCfg = Debug|Any CPU
{354D4988-07B6-4DEC-80D8-F558D9347EF0}.Debug|x86.Build.0 = Debug|Any CPU
{354D4988-07B6-4DEC-80D8-F558D9347EF0}.Release|Any CPU.ActiveCfg = Release|Any CPU
{354D4988-07B6-4DEC-80D8-F558D9347EF0}.Release|Any CPU.Build.0 = Release|Any CPU
{354D4988-07B6-4DEC-80D8-F558D9347EF0}.Release|x64.ActiveCfg = Release|Any CPU
{354D4988-07B6-4DEC-80D8-F558D9347EF0}.Release|x64.Build.0 = Release|Any CPU
{354D4988-07B6-4DEC-80D8-F558D9347EF0}.Release|x86.ActiveCfg = Release|Any CPU
{354D4988-07B6-4DEC-80D8-F558D9347EF0}.Release|x86.Build.0 = Release|Any CPU
{45C578FE-FD43-4141-A0E1-68D9E359093F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{45C578FE-FD43-4141-A0E1-68D9E359093F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{45C578FE-FD43-4141-A0E1-68D9E359093F}.Debug|x64.ActiveCfg = Debug|Any CPU
{45C578FE-FD43-4141-A0E1-68D9E359093F}.Debug|x64.Build.0 = Debug|Any CPU
{45C578FE-FD43-4141-A0E1-68D9E359093F}.Debug|x86.ActiveCfg = Debug|Any CPU
{45C578FE-FD43-4141-A0E1-68D9E359093F}.Debug|x86.Build.0 = Debug|Any CPU
{45C578FE-FD43-4141-A0E1-68D9E359093F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{45C578FE-FD43-4141-A0E1-68D9E359093F}.Release|Any CPU.Build.0 = Release|Any CPU
{45C578FE-FD43-4141-A0E1-68D9E359093F}.Release|x64.ActiveCfg = Release|Any CPU
{45C578FE-FD43-4141-A0E1-68D9E359093F}.Release|x64.Build.0 = Release|Any CPU
{45C578FE-FD43-4141-A0E1-68D9E359093F}.Release|x86.ActiveCfg = Release|Any CPU
{45C578FE-FD43-4141-A0E1-68D9E359093F}.Release|x86.Build.0 = Release|Any CPU
{FBBE9908-ED1F-47BD-B36A-8D809CD98DDE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{FBBE9908-ED1F-47BD-B36A-8D809CD98DDE}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FBBE9908-ED1F-47BD-B36A-8D809CD98DDE}.Debug|x64.ActiveCfg = Debug|Any CPU
{FBBE9908-ED1F-47BD-B36A-8D809CD98DDE}.Debug|x64.Build.0 = Debug|Any CPU
{FBBE9908-ED1F-47BD-B36A-8D809CD98DDE}.Debug|x86.ActiveCfg = Debug|Any CPU
{FBBE9908-ED1F-47BD-B36A-8D809CD98DDE}.Debug|x86.Build.0 = Debug|Any CPU
{FBBE9908-ED1F-47BD-B36A-8D809CD98DDE}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FBBE9908-ED1F-47BD-B36A-8D809CD98DDE}.Release|Any CPU.Build.0 = Release|Any CPU
{FBBE9908-ED1F-47BD-B36A-8D809CD98DDE}.Release|x64.ActiveCfg = Release|Any CPU
{FBBE9908-ED1F-47BD-B36A-8D809CD98DDE}.Release|x64.Build.0 = Release|Any CPU
{FBBE9908-ED1F-47BD-B36A-8D809CD98DDE}.Release|x86.ActiveCfg = Release|Any CPU
{FBBE9908-ED1F-47BD-B36A-8D809CD98DDE}.Release|x86.Build.0 = Release|Any CPU
{0D5C2853-1AC5-4C17-A283-DBD0A9DFC841}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0D5C2853-1AC5-4C17-A283-DBD0A9DFC841}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0D5C2853-1AC5-4C17-A283-DBD0A9DFC841}.Debug|x64.ActiveCfg = Debug|Any CPU
{0D5C2853-1AC5-4C17-A283-DBD0A9DFC841}.Debug|x64.Build.0 = Debug|Any CPU
{0D5C2853-1AC5-4C17-A283-DBD0A9DFC841}.Debug|x86.ActiveCfg = Debug|Any CPU
{0D5C2853-1AC5-4C17-A283-DBD0A9DFC841}.Debug|x86.Build.0 = Debug|Any CPU
{0D5C2853-1AC5-4C17-A283-DBD0A9DFC841}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0D5C2853-1AC5-4C17-A283-DBD0A9DFC841}.Release|Any CPU.Build.0 = Release|Any CPU
{0D5C2853-1AC5-4C17-A283-DBD0A9DFC841}.Release|x64.ActiveCfg = Release|Any CPU
{0D5C2853-1AC5-4C17-A283-DBD0A9DFC841}.Release|x64.Build.0 = Release|Any CPU
{0D5C2853-1AC5-4C17-A283-DBD0A9DFC841}.Release|x86.ActiveCfg = Release|Any CPU
{0D5C2853-1AC5-4C17-A283-DBD0A9DFC841}.Release|x86.Build.0 = Release|Any CPU
{1A4B3F17-53C3-4C15-9AC3-99AC01028D58}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1A4B3F17-53C3-4C15-9AC3-99AC01028D58}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1A4B3F17-53C3-4C15-9AC3-99AC01028D58}.Debug|x64.ActiveCfg = Debug|Any CPU
{1A4B3F17-53C3-4C15-9AC3-99AC01028D58}.Debug|x64.Build.0 = Debug|Any CPU
{1A4B3F17-53C3-4C15-9AC3-99AC01028D58}.Debug|x86.ActiveCfg = Debug|Any CPU
{1A4B3F17-53C3-4C15-9AC3-99AC01028D58}.Debug|x86.Build.0 = Debug|Any CPU
{1A4B3F17-53C3-4C15-9AC3-99AC01028D58}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1A4B3F17-53C3-4C15-9AC3-99AC01028D58}.Release|Any CPU.Build.0 = Release|Any CPU
{1A4B3F17-53C3-4C15-9AC3-99AC01028D58}.Release|x64.ActiveCfg = Release|Any CPU
{1A4B3F17-53C3-4C15-9AC3-99AC01028D58}.Release|x64.Build.0 = Release|Any CPU
{1A4B3F17-53C3-4C15-9AC3-99AC01028D58}.Release|x86.ActiveCfg = Release|Any CPU
{1A4B3F17-53C3-4C15-9AC3-99AC01028D58}.Release|x86.Build.0 = Release|Any CPU
{B7548F9A-DF87-433F-B2BB-C3DFCA4F7B7C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B7548F9A-DF87-433F-B2BB-C3DFCA4F7B7C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B7548F9A-DF87-433F-B2BB-C3DFCA4F7B7C}.Debug|x64.ActiveCfg = Debug|Any CPU
{B7548F9A-DF87-433F-B2BB-C3DFCA4F7B7C}.Debug|x64.Build.0 = Debug|Any CPU
{B7548F9A-DF87-433F-B2BB-C3DFCA4F7B7C}.Debug|x86.ActiveCfg = Debug|Any CPU
{B7548F9A-DF87-433F-B2BB-C3DFCA4F7B7C}.Debug|x86.Build.0 = Debug|Any CPU
{B7548F9A-DF87-433F-B2BB-C3DFCA4F7B7C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B7548F9A-DF87-433F-B2BB-C3DFCA4F7B7C}.Release|Any CPU.Build.0 = Release|Any CPU
{B7548F9A-DF87-433F-B2BB-C3DFCA4F7B7C}.Release|x64.ActiveCfg = Release|Any CPU
{B7548F9A-DF87-433F-B2BB-C3DFCA4F7B7C}.Release|x64.Build.0 = Release|Any CPU
{B7548F9A-DF87-433F-B2BB-C3DFCA4F7B7C}.Release|x86.ActiveCfg = Release|Any CPU
{B7548F9A-DF87-433F-B2BB-C3DFCA4F7B7C}.Release|x86.Build.0 = Release|Any CPU
{A1B2C3D4-E5F6-7890-ABCD-EF1234567890}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A1B2C3D4-E5F6-7890-ABCD-EF1234567890}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A1B2C3D4-E5F6-7890-ABCD-EF1234567890}.Debug|x64.ActiveCfg = Debug|Any CPU
{A1B2C3D4-E5F6-7890-ABCD-EF1234567890}.Debug|x64.Build.0 = Debug|Any CPU
{A1B2C3D4-E5F6-7890-ABCD-EF1234567890}.Debug|x86.ActiveCfg = Debug|Any CPU
{A1B2C3D4-E5F6-7890-ABCD-EF1234567890}.Debug|x86.Build.0 = Debug|Any CPU
{A1B2C3D4-E5F6-7890-ABCD-EF1234567890}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A1B2C3D4-E5F6-7890-ABCD-EF1234567890}.Release|Any CPU.Build.0 = Release|Any CPU
{A1B2C3D4-E5F6-7890-ABCD-EF1234567890}.Release|x64.ActiveCfg = Release|Any CPU
{A1B2C3D4-E5F6-7890-ABCD-EF1234567890}.Release|x64.Build.0 = Release|Any CPU
{A1B2C3D4-E5F6-7890-ABCD-EF1234567890}.Release|x86.ActiveCfg = Release|Any CPU
{A1B2C3D4-E5F6-7890-ABCD-EF1234567890}.Release|x86.Build.0 = Release|Any CPU
{B2C3D4E5-F6A7-8901-BCDE-F12345678901}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B2C3D4E5-F6A7-8901-BCDE-F12345678901}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B2C3D4E5-F6A7-8901-BCDE-F12345678901}.Debug|x64.ActiveCfg = Debug|Any CPU
{B2C3D4E5-F6A7-8901-BCDE-F12345678901}.Debug|x64.Build.0 = Debug|Any CPU
{B2C3D4E5-F6A7-8901-BCDE-F12345678901}.Debug|x86.ActiveCfg = Debug|Any CPU
{B2C3D4E5-F6A7-8901-BCDE-F12345678901}.Debug|x86.Build.0 = Debug|Any CPU
{B2C3D4E5-F6A7-8901-BCDE-F12345678901}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B2C3D4E5-F6A7-8901-BCDE-F12345678901}.Release|Any CPU.Build.0 = Release|Any CPU
{B2C3D4E5-F6A7-8901-BCDE-F12345678901}.Release|x64.ActiveCfg = Release|Any CPU
{B2C3D4E5-F6A7-8901-BCDE-F12345678901}.Release|x64.Build.0 = Release|Any CPU
{B2C3D4E5-F6A7-8901-BCDE-F12345678901}.Release|x86.ActiveCfg = Release|Any CPU
{B2C3D4E5-F6A7-8901-BCDE-F12345678901}.Release|x86.Build.0 = Release|Any CPU
{C3D4E5F6-A7B8-9012-CDEF-123456789012}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C3D4E5F6-A7B8-9012-CDEF-123456789012}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C3D4E5F6-A7B8-9012-CDEF-123456789012}.Debug|x64.ActiveCfg = Debug|Any CPU
{C3D4E5F6-A7B8-9012-CDEF-123456789012}.Debug|x64.Build.0 = Debug|Any CPU
{C3D4E5F6-A7B8-9012-CDEF-123456789012}.Debug|x86.ActiveCfg = Debug|Any CPU
{C3D4E5F6-A7B8-9012-CDEF-123456789012}.Debug|x86.Build.0 = Debug|Any CPU
{C3D4E5F6-A7B8-9012-CDEF-123456789012}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C3D4E5F6-A7B8-9012-CDEF-123456789012}.Release|Any CPU.Build.0 = Release|Any CPU
{C3D4E5F6-A7B8-9012-CDEF-123456789012}.Release|x64.ActiveCfg = Release|Any CPU
{C3D4E5F6-A7B8-9012-CDEF-123456789012}.Release|x64.Build.0 = Release|Any CPU
{C3D4E5F6-A7B8-9012-CDEF-123456789012}.Release|x86.ActiveCfg = Release|Any CPU
{C3D4E5F6-A7B8-9012-CDEF-123456789012}.Release|x86.Build.0 = Release|Any CPU
{D4E5F6A7-B8C9-0123-DEFA-234567890123}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D4E5F6A7-B8C9-0123-DEFA-234567890123}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D4E5F6A7-B8C9-0123-DEFA-234567890123}.Debug|x64.ActiveCfg = Debug|Any CPU
{D4E5F6A7-B8C9-0123-DEFA-234567890123}.Debug|x64.Build.0 = Debug|Any CPU
{D4E5F6A7-B8C9-0123-DEFA-234567890123}.Debug|x86.ActiveCfg = Debug|Any CPU
{D4E5F6A7-B8C9-0123-DEFA-234567890123}.Debug|x86.Build.0 = Debug|Any CPU
{D4E5F6A7-B8C9-0123-DEFA-234567890123}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D4E5F6A7-B8C9-0123-DEFA-234567890123}.Release|Any CPU.Build.0 = Release|Any CPU
{D4E5F6A7-B8C9-0123-DEFA-234567890123}.Release|x64.ActiveCfg = Release|Any CPU
{D4E5F6A7-B8C9-0123-DEFA-234567890123}.Release|x64.Build.0 = Release|Any CPU
{D4E5F6A7-B8C9-0123-DEFA-234567890123}.Release|x86.ActiveCfg = Release|Any CPU
{D4E5F6A7-B8C9-0123-DEFA-234567890123}.Release|x86.Build.0 = Release|Any CPU
{40A103BD-6815-4EE8-B611-AF2E74D72F4D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{40A103BD-6815-4EE8-B611-AF2E74D72F4D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{40A103BD-6815-4EE8-B611-AF2E74D72F4D}.Debug|x64.ActiveCfg = Debug|Any CPU
{40A103BD-6815-4EE8-B611-AF2E74D72F4D}.Debug|x64.Build.0 = Debug|Any CPU
{40A103BD-6815-4EE8-B611-AF2E74D72F4D}.Debug|x86.ActiveCfg = Debug|Any CPU
{40A103BD-6815-4EE8-B611-AF2E74D72F4D}.Debug|x86.Build.0 = Debug|Any CPU
{40A103BD-6815-4EE8-B611-AF2E74D72F4D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{40A103BD-6815-4EE8-B611-AF2E74D72F4D}.Release|Any CPU.Build.0 = Release|Any CPU
{40A103BD-6815-4EE8-B611-AF2E74D72F4D}.Release|x64.ActiveCfg = Release|Any CPU
{40A103BD-6815-4EE8-B611-AF2E74D72F4D}.Release|x64.Build.0 = Release|Any CPU
{40A103BD-6815-4EE8-B611-AF2E74D72F4D}.Release|x86.ActiveCfg = Release|Any CPU
{40A103BD-6815-4EE8-B611-AF2E74D72F4D}.Release|x86.Build.0 = Release|Any CPU
{398EFDAC-1286-4BEE-865F-BDB304B0694F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{398EFDAC-1286-4BEE-865F-BDB304B0694F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{398EFDAC-1286-4BEE-865F-BDB304B0694F}.Debug|x64.ActiveCfg = Debug|Any CPU
{398EFDAC-1286-4BEE-865F-BDB304B0694F}.Debug|x64.Build.0 = Debug|Any CPU
{398EFDAC-1286-4BEE-865F-BDB304B0694F}.Debug|x86.ActiveCfg = Debug|Any CPU
{398EFDAC-1286-4BEE-865F-BDB304B0694F}.Debug|x86.Build.0 = Debug|Any CPU
{398EFDAC-1286-4BEE-865F-BDB304B0694F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{398EFDAC-1286-4BEE-865F-BDB304B0694F}.Release|Any CPU.Build.0 = Release|Any CPU
{398EFDAC-1286-4BEE-865F-BDB304B0694F}.Release|x64.ActiveCfg = Release|Any CPU
{398EFDAC-1286-4BEE-865F-BDB304B0694F}.Release|x64.Build.0 = Release|Any CPU
{398EFDAC-1286-4BEE-865F-BDB304B0694F}.Release|x86.ActiveCfg = Release|Any CPU
{398EFDAC-1286-4BEE-865F-BDB304B0694F}.Release|x86.Build.0 = Release|Any CPU
{FFF8A540-0AEF-4DF0-A7A1-EB75CDE277B5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{FFF8A540-0AEF-4DF0-A7A1-EB75CDE277B5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FFF8A540-0AEF-4DF0-A7A1-EB75CDE277B5}.Debug|x64.ActiveCfg = Debug|Any CPU
{FFF8A540-0AEF-4DF0-A7A1-EB75CDE277B5}.Debug|x64.Build.0 = Debug|Any CPU
{FFF8A540-0AEF-4DF0-A7A1-EB75CDE277B5}.Debug|x86.ActiveCfg = Debug|Any CPU
{FFF8A540-0AEF-4DF0-A7A1-EB75CDE277B5}.Debug|x86.Build.0 = Debug|Any CPU
{FFF8A540-0AEF-4DF0-A7A1-EB75CDE277B5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FFF8A540-0AEF-4DF0-A7A1-EB75CDE277B5}.Release|Any CPU.Build.0 = Release|Any CPU
{FFF8A540-0AEF-4DF0-A7A1-EB75CDE277B5}.Release|x64.ActiveCfg = Release|Any CPU
{FFF8A540-0AEF-4DF0-A7A1-EB75CDE277B5}.Release|x64.Build.0 = Release|Any CPU
{FFF8A540-0AEF-4DF0-A7A1-EB75CDE277B5}.Release|x86.ActiveCfg = Release|Any CPU
{FFF8A540-0AEF-4DF0-A7A1-EB75CDE277B5}.Release|x86.Build.0 = Release|Any CPU
{A70E2A55-6F3C-4C86-9D42-1C8A7F6B3E2A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A70E2A55-6F3C-4C86-9D42-1C8A7F6B3E2A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A70E2A55-6F3C-4C86-9D42-1C8A7F6B3E2A}.Debug|x64.ActiveCfg = Debug|Any CPU
{A70E2A55-6F3C-4C86-9D42-1C8A7F6B3E2A}.Debug|x64.Build.0 = Debug|Any CPU
{A70E2A55-6F3C-4C86-9D42-1C8A7F6B3E2A}.Debug|x86.ActiveCfg = Debug|Any CPU
{A70E2A55-6F3C-4C86-9D42-1C8A7F6B3E2A}.Debug|x86.Build.0 = Debug|Any CPU
{A70E2A55-6F3C-4C86-9D42-1C8A7F6B3E2A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A70E2A55-6F3C-4C86-9D42-1C8A7F6B3E2A}.Release|Any CPU.Build.0 = Release|Any CPU
{A70E2A55-6F3C-4C86-9D42-1C8A7F6B3E2A}.Release|x64.ActiveCfg = Release|Any CPU
{A70E2A55-6F3C-4C86-9D42-1C8A7F6B3E2A}.Release|x64.Build.0 = Release|Any CPU
{A70E2A55-6F3C-4C86-9D42-1C8A7F6B3E2A}.Release|x86.ActiveCfg = Release|Any CPU
{A70E2A55-6F3C-4C86-9D42-1C8A7F6B3E2A}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{354D4988-07B6-4DEC-80D8-F558D9347EF0} = {827E0CD3-B72D-47B6-A68D-7590B98EB39B}
{45C578FE-FD43-4141-A0E1-68D9E359093F} = {5D20AA90-6969-D8BD-9DCD-8634F4692FDA}
{FBBE9908-ED1F-47BD-B36A-8D809CD98DDE} = {5D20AA90-6969-D8BD-9DCD-8634F4692FDA}
{0D5C2853-1AC5-4C17-A283-DBD0A9DFC841} = {5D20AA90-6969-D8BD-9DCD-8634F4692FDA}
{1A4B3F17-53C3-4C15-9AC3-99AC01028D58} = {5D20AA90-6969-D8BD-9DCD-8634F4692FDA}
{B7548F9A-DF87-433F-B2BB-C3DFCA4F7B7C} = {0AB3BF05-4346-4AA6-1389-037BE0695223}
{40A103BD-6815-4EE8-B611-AF2E74D72F4D} = {5D20AA90-6969-D8BD-9DCD-8634F4692FDA}
{398EFDAC-1286-4BEE-865F-BDB304B0694F} = {5D20AA90-6969-D8BD-9DCD-8634F4692FDA}
{FFF8A540-0AEF-4DF0-A7A1-EB75CDE277B5} = {5D20AA90-6969-D8BD-9DCD-8634F4692FDA}
{A70E2A55-6F3C-4C86-9D42-1C8A7F6B3E2A} = {5D20AA90-6969-D8BD-9DCD-8634F4692FDA}
EndGlobalSection
EndGlobal