pull/7605/head
Mark McDowall 1 month ago
parent ea5231abef
commit ed1b17005f
No known key found for this signature in database

@ -12,7 +12,7 @@ Sonarr is a PVR for Usenet and BitTorrent users. It can monitor multiple RSS fee
- [Download/Installation](https://sonarr.tv/#downloads-v3)
- [FAQ](https://wiki.servarr.com/sonarr/faq)
- [Wiki](https://wiki.servarr.com/Sonarr)
- [v4 Beta API Documentation](https://sonarr.tv/docs/api)
- [API Documentation](https://sonarr.tv/docs/api)
- [Donate](https://sonarr.tv/donate)
## Support

@ -35,7 +35,7 @@ interface QueryOptions<T> {
| undefined;
}
const apiRoot = window.Sonarr.apiRoot;
const apiRoot = '/api/v5'; // window.Sonarr.apiRoot;
function useApiQuery<T>(options: QueryOptions<T>) {
const { path, headers } = useMemo(() => {

@ -39,6 +39,7 @@ namespace NzbDrone.Host
"Sonarr.Core",
"Sonarr.SignalR",
"Sonarr.Api.V3",
"Sonarr.Api.V5",
"Sonarr.Http"
};

@ -1,27 +1,28 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>net8.0</TargetFrameworks>
<OutputType>Library</OutputType>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="NLog.Extensions.Logging" Version="5.3.15" />
<PackageReference Include="Swashbuckle.AspNetCore.SwaggerGen" Version="6.6.2" />
<PackageReference Include="System.Text.Encoding.CodePages" Version="8.0.0" />
<PackageReference Include="Microsoft.Extensions.Hosting.WindowsServices" Version="8.0.1" />
<PackageReference Include="DryIoc.dll" Version="5.4.3" />
<PackageReference Include="DryIoc.Microsoft.DependencyInjection" Version="6.2.0" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\NzbDrone.Common\Sonarr.Common.csproj" />
<ProjectReference Include="..\NzbDrone.Core\Sonarr.Core.csproj" />
<ProjectReference Include="..\NzbDrone.SignalR\Sonarr.SignalR.csproj" />
<ProjectReference Include="..\Sonarr.Api.V3\Sonarr.Api.V3.csproj" />
<ProjectReference Include="..\Sonarr.Http\Sonarr.Http.csproj" />
</ItemGroup>
<ItemGroup>
<Reference Include="Interop.NetFwTypeLib">
<HintPath>..\Libraries\Interop.NetFwTypeLib.dll</HintPath>
<EmbedInteropTypes>True</EmbedInteropTypes>
</Reference>
</ItemGroup>
<PropertyGroup>
<TargetFrameworks>net8.0</TargetFrameworks>
<OutputType>Library</OutputType>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="NLog.Extensions.Logging" Version="5.3.15" />
<PackageReference Include="Swashbuckle.AspNetCore.SwaggerGen" Version="6.6.2" />
<PackageReference Include="System.Text.Encoding.CodePages" Version="8.0.0" />
<PackageReference Include="Microsoft.Extensions.Hosting.WindowsServices" Version="8.0.1" />
<PackageReference Include="DryIoc.dll" Version="5.4.3" />
<PackageReference Include="DryIoc.Microsoft.DependencyInjection" Version="6.2.0" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\NzbDrone.Common\Sonarr.Common.csproj" />
<ProjectReference Include="..\NzbDrone.Core\Sonarr.Core.csproj" />
<ProjectReference Include="..\NzbDrone.SignalR\Sonarr.SignalR.csproj" />
<ProjectReference Include="..\Sonarr.Api.V3\Sonarr.Api.V3.csproj" />
<ProjectReference Include="..\Sonarr.Api.V5\Sonarr.Api.V5.csproj" />
<ProjectReference Include="..\Sonarr.Http\Sonarr.Http.csproj" />
</ItemGroup>
<ItemGroup>
<Reference Include="Interop.NetFwTypeLib">
<HintPath>..\Libraries\Interop.NetFwTypeLib.dll</HintPath>
<EmbedInteropTypes>True</EmbedInteropTypes>
</Reference>
</ItemGroup>
</Project>

@ -25,6 +25,7 @@ using NzbDrone.Host.AccessControl;
using NzbDrone.Http.Authentication;
using NzbDrone.SignalR;
using Sonarr.Api.V3.System;
using Sonarr.Api.V5.Series;
using Sonarr.Http;
using Sonarr.Http.Authentication;
using Sonarr.Http.ClientSchema;
@ -87,7 +88,10 @@ namespace NzbDrone.Host
{
options.ReturnHttpNotAcceptable = true;
})
// Register all controllers from the API and HTTP projects
.AddApplicationPart(typeof(SystemController).Assembly)
.AddApplicationPart(typeof(SeriesLookupController).Assembly)
.AddApplicationPart(typeof(StaticResourceController).Assembly)
.AddJsonOptions(options =>
{
@ -109,6 +113,18 @@ namespace NzbDrone.Host
}
});
c.SwaggerDoc("v5", new OpenApiInfo
{
Version = "5.0.0",
Title = "Sonarr",
Description = "Sonarr API docs - The v5 API docs apply to Sonarr v5 only.",
License = new OpenApiLicense
{
Name = "GPL-3.0",
Url = new Uri("https://github.com/Sonarr/Sonarr/blob/develop/LICENSE")
}
});
var apiKeyHeader = new OpenApiSecurityScheme
{
Name = "X-Api-Key",
@ -265,7 +281,7 @@ namespace NzbDrone.Host
app.UseMiddleware<StartingUpMiddleware>();
app.UseMiddleware<CacheHeaderMiddleware>();
app.UseMiddleware<IfModifiedMiddleware>();
app.UseMiddleware<BufferingMiddleware>(new List<string> { "/api/v3/command" });
app.UseMiddleware<BufferingMiddleware>(new List<string> { "/api/v3/command", "/api/v5/command" });
app.UseWebSockets();

@ -0,0 +1,35 @@
using NzbDrone.Common.Extensions;
using NzbDrone.Core.DataAugmentation.Scene;
namespace Sonarr.Api.V5.Series;
public class AlternateTitleResource
{
public string? Title { get; set; }
public int? SeasonNumber { get; set; }
public int? SceneSeasonNumber { get; set; }
public string? SceneOrigin { get; set; }
public string? Comment { get; set; }
}
public static class AlternateTitleResourceMapper
{
public static AlternateTitleResource ToResource(this SceneMapping sceneMapping)
{
var comment = sceneMapping.Comment;
if (comment.IsNullOrWhiteSpace() && sceneMapping.FilterRegex.IsNotNullOrWhiteSpace())
{
comment = "Limited matching";
}
return new AlternateTitleResource
{
Title = sceneMapping.Title,
SeasonNumber = sceneMapping.SeasonNumber,
SceneSeasonNumber = sceneMapping.SceneSeasonNumber,
SceneOrigin = sceneMapping.SceneOrigin,
Comment = comment
};
}
}

@ -0,0 +1,44 @@
using NzbDrone.Core.MediaCover;
using NzbDrone.Core.Tv;
namespace Sonarr.Api.V5.Series;
public class SeasonResource
{
public int SeasonNumber { get; set; }
public bool Monitored { get; set; }
public SeasonStatisticsResource? Statistics { get; set; }
public List<MediaCover>? Images { get; set; }
}
public static class SeasonResourceMapper
{
public static SeasonResource ToResource(this Season model, bool includeImages = false)
{
return new SeasonResource
{
SeasonNumber = model.SeasonNumber,
Monitored = model.Monitored,
Images = includeImages ? model.Images : null
};
}
public static Season ToModel(this SeasonResource resource)
{
return new Season
{
SeasonNumber = resource.SeasonNumber,
Monitored = resource.Monitored
};
}
public static List<SeasonResource> ToResource(this IEnumerable<Season> models, bool includeImages = false)
{
return models.Select(s => ToResource(s, includeImages)).ToList();
}
public static List<Season> ToModel(this IEnumerable<SeasonResource> resources)
{
return resources.Select(ToModel).ToList();
}
}

@ -0,0 +1,44 @@
using NzbDrone.Core.SeriesStats;
namespace Sonarr.Api.V5.Series;
public class SeasonStatisticsResource
{
public DateTime? NextAiring { get; set; }
public DateTime? PreviousAiring { get; set; }
public int EpisodeFileCount { get; set; }
public int EpisodeCount { get; set; }
public int TotalEpisodeCount { get; set; }
public long SizeOnDisk { get; set; }
public List<string>? ReleaseGroups { get; set; }
public decimal PercentOfEpisodes
{
get
{
if (EpisodeCount == 0)
{
return 0;
}
return (decimal)EpisodeFileCount / (decimal)EpisodeCount * 100;
}
}
}
public static class SeasonStatisticsResourceMapper
{
public static SeasonStatisticsResource ToResource(this SeasonStatistics model)
{
return new SeasonStatisticsResource
{
NextAiring = model.NextAiring,
PreviousAiring = model.PreviousAiring,
EpisodeFileCount = model.EpisodeFileCount,
EpisodeCount = model.EpisodeCount,
TotalEpisodeCount = model.TotalEpisodeCount,
SizeOnDisk = model.SizeOnDisk,
ReleaseGroups = model.ReleaseGroups
};
}
}

@ -0,0 +1,52 @@
using Microsoft.AspNetCore.Mvc;
using NzbDrone.Core.MediaCover;
using NzbDrone.Core.MetadataSource;
using NzbDrone.Core.Organizer;
using NzbDrone.Core.SeriesStats;
using Sonarr.Http;
namespace Sonarr.Api.V5.Series;
[V5ApiController("series/lookup")]
public class SeriesLookupController : Controller
{
private readonly ISearchForNewSeries _searchProxy;
private readonly IBuildFileNames _fileNameBuilder;
private readonly IMapCoversToLocal _coverMapper;
public SeriesLookupController(ISearchForNewSeries searchProxy, IBuildFileNames fileNameBuilder, IMapCoversToLocal coverMapper)
{
_searchProxy = searchProxy;
_fileNameBuilder = fileNameBuilder;
_coverMapper = coverMapper;
}
[HttpGet]
public IEnumerable<SeriesResource> Search([FromQuery] string term)
{
var tvDbResults = _searchProxy.SearchForNewSeries(term);
return MapToResource(tvDbResults);
}
private IEnumerable<SeriesResource> MapToResource(IEnumerable<NzbDrone.Core.Tv.Series> series)
{
foreach (var currentSeries in series)
{
var resource = currentSeries.ToResource();
_coverMapper.ConvertToLocalUrls(resource.Id, resource.Images);
var poster = currentSeries.Images.FirstOrDefault(c => c.CoverType == MediaCoverTypes.Poster);
if (poster != null)
{
resource.RemotePoster = poster.RemoteUrl;
}
resource.Folder = _fileNameBuilder.GetSeriesFolder(currentSeries);
resource.Statistics = new SeriesStatistics().ToResource(resource.Seasons);
yield return resource;
}
}
}

@ -0,0 +1,159 @@
using NzbDrone.Common.Extensions;
using NzbDrone.Core.Languages;
using NzbDrone.Core.MediaCover;
using NzbDrone.Core.Tv;
using Sonarr.Http.REST;
namespace Sonarr.Api.V5.Series;
public class SeriesResource : RestResource
{
public string? Title { get; set; }
public List<AlternateTitleResource>? AlternateTitles { get; set; }
public string? SortTitle { get; set; }
public SeriesStatusType Status { get; set; }
public bool Ended => Status == SeriesStatusType.Ended;
public string? ProfileName { get; set; }
public string? Overview { get; set; }
public DateTime? NextAiring { get; set; }
public DateTime? PreviousAiring { get; set; }
public string? Network { get; set; }
public string? AirTime { get; set; }
public List<MediaCover>? Images { get; set; }
public Language? OriginalLanguage { get; set; }
public string? RemotePoster { get; set; }
public List<SeasonResource>? Seasons { get; set; }
public int Year { get; set; }
public string? Path { get; set; }
public int QualityProfileId { get; set; }
public bool SeasonFolder { get; set; }
public bool Monitored { get; set; }
public NewItemMonitorTypes MonitorNewItems { get; set; }
public bool UseSceneNumbering { get; set; }
public int Runtime { get; set; }
public int TvdbId { get; set; }
public int TvRageId { get; set; }
public int TvMazeId { get; set; }
public int TmdbId { get; set; }
public DateTime? FirstAired { get; set; }
public DateTime? LastAired { get; set; }
public SeriesTypes SeriesType { get; set; }
public string? CleanTitle { get; set; }
public string? ImdbId { get; set; }
public string? TitleSlug { get; set; }
public string? RootFolderPath { get; set; }
public string? Folder { get; set; }
public string? Certification { get; set; }
public List<string>? Genres { get; set; }
public HashSet<int>? Tags { get; set; }
public DateTime Added { get; set; }
public AddSeriesOptions? AddOptions { get; set; }
public Ratings? Ratings { get; set; }
public SeriesStatisticsResource? Statistics { get; set; }
public bool? EpisodesChanged { get; set; }
}
public static class SeriesResourceMapper
{
public static SeriesResource ToResource(this NzbDrone.Core.Tv.Series model, bool includeSeasonImages = false)
{
return new SeriesResource
{
Id = model.Id,
Title = model.Title,
SortTitle = model.SortTitle,
Status = model.Status,
Overview = model.Overview,
Network = model.Network,
AirTime = model.AirTime,
Images = model.Images.JsonClone(),
Seasons = model.Seasons.ToResource(includeSeasonImages),
Year = model.Year,
OriginalLanguage = model.OriginalLanguage,
Path = model.Path,
QualityProfileId = model.QualityProfileId,
SeasonFolder = model.SeasonFolder,
Monitored = model.Monitored,
MonitorNewItems = model.MonitorNewItems,
UseSceneNumbering = model.UseSceneNumbering,
Runtime = model.Runtime,
TvdbId = model.TvdbId,
TvRageId = model.TvRageId,
TvMazeId = model.TvMazeId,
TmdbId = model.TmdbId,
FirstAired = model.FirstAired,
LastAired = model.LastAired,
SeriesType = model.SeriesType,
CleanTitle = model.CleanTitle,
ImdbId = model.ImdbId,
TitleSlug = model.TitleSlug,
Certification = model.Certification,
Genres = model.Genres,
Tags = model.Tags,
Added = model.Added,
AddOptions = model.AddOptions,
Ratings = model.Ratings
};
}
public static NzbDrone.Core.Tv.Series ToModel(this SeriesResource resource)
{
return new NzbDrone.Core.Tv.Series
{
Id = resource.Id,
Title = resource.Title,
SortTitle = resource.SortTitle,
Status = resource.Status,
Overview = resource.Overview,
Network = resource.Network,
AirTime = resource.AirTime,
Images = resource.Images,
Seasons = resource.Seasons?.ToModel() ?? new List<Season>(),
Year = resource.Year,
OriginalLanguage = resource.OriginalLanguage,
Path = resource.Path,
QualityProfileId = resource.QualityProfileId,
SeasonFolder = resource.SeasonFolder,
Monitored = resource.Monitored,
MonitorNewItems = resource.MonitorNewItems,
UseSceneNumbering = resource.UseSceneNumbering,
Runtime = resource.Runtime,
TvdbId = resource.TvdbId,
TvRageId = resource.TvRageId,
TvMazeId = resource.TvMazeId,
TmdbId = resource.TmdbId,
FirstAired = resource.FirstAired,
SeriesType = resource.SeriesType,
CleanTitle = resource.CleanTitle,
ImdbId = resource.ImdbId,
TitleSlug = resource.TitleSlug,
RootFolderPath = resource.RootFolderPath,
Certification = resource.Certification,
Genres = resource.Genres,
Tags = resource.Tags,
Added = resource.Added,
AddOptions = resource.AddOptions,
Ratings = resource.Ratings
};
}
public static NzbDrone.Core.Tv.Series ToModel(this SeriesResource resource, NzbDrone.Core.Tv.Series series)
{
var updatedSeries = resource.ToModel();
series.ApplyChanges(updatedSeries);
return series;
}
public static List<SeriesResource> ToResource(this IEnumerable<NzbDrone.Core.Tv.Series> series,
bool includeSeasonImages = false)
{
return series.Select(s => ToResource(s, includeSeasonImages)).ToList();
}
public static List<NzbDrone.Core.Tv.Series> ToModel(this IEnumerable<SeriesResource> resources)
{
return resources.Select(ToModel).ToList();
}
}

@ -0,0 +1,42 @@
using NzbDrone.Core.SeriesStats;
namespace Sonarr.Api.V5.Series;
public class SeriesStatisticsResource
{
public int SeasonCount { get; set; }
public int EpisodeFileCount { get; set; }
public int EpisodeCount { get; set; }
public int TotalEpisodeCount { get; set; }
public long SizeOnDisk { get; set; }
public List<string>? ReleaseGroups { get; set; }
public decimal PercentOfEpisodes
{
get
{
if (EpisodeCount == 0)
{
return 0;
}
return (decimal)EpisodeFileCount / (decimal)EpisodeCount * 100;
}
}
}
public static class SeriesStatisticsResourceMapper
{
public static SeriesStatisticsResource ToResource(this SeriesStatistics model, List<SeasonResource>? seasons)
{
return new SeriesStatisticsResource
{
SeasonCount = seasons?.Count(s => s.SeasonNumber > 0) ?? 0,
EpisodeFileCount = model.EpisodeFileCount,
EpisodeCount = model.EpisodeCount,
TotalEpisodeCount = model.TotalEpisodeCount,
SizeOnDisk = model.SizeOnDisk,
ReleaseGroups = model.ReleaseGroups
};
}
}

@ -0,0 +1,18 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>net8.0</TargetFrameworks>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<RootNamespace>Sonarr.Api.V5</RootNamespace>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="FluentValidation" Version="9.5.4" />
<PackageReference Include="Ical.Net" Version="4.3.1" />
<PackageReference Include="NLog" Version="5.3.4" />
<PackageReference Include="Swashbuckle.AspNetCore.Annotations" Version="6.6.2" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\NzbDrone.Core\Sonarr.Core.csproj" />
<ProjectReference Include="..\Sonarr.Http\Sonarr.Http.csproj" />
</ItemGroup>
</Project>

@ -11,8 +11,8 @@ namespace NzbDrone.Http
{
return new ApiInfoResource
{
Current = "v3",
Deprecated = new List<string>()
Current = "v5",
Deprecated = new List<string> { "v3" }
};
}
}

@ -31,4 +31,12 @@ namespace Sonarr.Http
{
}
}
public class V5ApiControllerAttribute : VersionedApiControllerAttribute
{
public V5ApiControllerAttribute(string resource = "[controller]")
: base(5, resource)
{
}
}
}

@ -75,6 +75,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Sonarr.Mono", "NzbDrone.Mon
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Sonarr.Windows", "NzbDrone.Windows\Sonarr.Windows.csproj", "{4AE3B731-442E-4AF0-88A5-9FABEB685A0D}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Sonarr.Api.V5", "Sonarr.Api.V5\Sonarr.Api.V5.csproj", "{1A9DFC67-3712-47A5-8DCA-0BCAA95F9EDC}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Posix = Debug|Posix
@ -83,316 +85,214 @@ Global
Release|Windows = Release|Windows
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{3DCA7B58-B8B3-49AC-9D9E-56F4A0460976}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3DCA7B58-B8B3-49AC-9D9E-56F4A0460976}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3DCA7B58-B8B3-49AC-9D9E-56F4A0460976}.Debug|Posix.ActiveCfg = Debug|Any CPU
{3DCA7B58-B8B3-49AC-9D9E-56F4A0460976}.Debug|Posix.Build.0 = Debug|Any CPU
{3DCA7B58-B8B3-49AC-9D9E-56F4A0460976}.Debug|Windows.ActiveCfg = Debug|Any CPU
{3DCA7B58-B8B3-49AC-9D9E-56F4A0460976}.Debug|Windows.Build.0 = Debug|Any CPU
{3DCA7B58-B8B3-49AC-9D9E-56F4A0460976}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3DCA7B58-B8B3-49AC-9D9E-56F4A0460976}.Release|Any CPU.Build.0 = Release|Any CPU
{3DCA7B58-B8B3-49AC-9D9E-56F4A0460976}.Release|Posix.ActiveCfg = Release|Any CPU
{3DCA7B58-B8B3-49AC-9D9E-56F4A0460976}.Release|Posix.Build.0 = Release|Any CPU
{3DCA7B58-B8B3-49AC-9D9E-56F4A0460976}.Release|Windows.ActiveCfg = Release|Any CPU
{3DCA7B58-B8B3-49AC-9D9E-56F4A0460976}.Release|Windows.Build.0 = Release|Any CPU
{FAFB5948-A222-4CF6-AD14-026BE7564802}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{FAFB5948-A222-4CF6-AD14-026BE7564802}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FAFB5948-A222-4CF6-AD14-026BE7564802}.Debug|Posix.ActiveCfg = Debug|Any CPU
{FAFB5948-A222-4CF6-AD14-026BE7564802}.Debug|Posix.Build.0 = Debug|Any CPU
{FAFB5948-A222-4CF6-AD14-026BE7564802}.Debug|Windows.ActiveCfg = Debug|Any CPU
{FAFB5948-A222-4CF6-AD14-026BE7564802}.Debug|Windows.Build.0 = Debug|Any CPU
{FAFB5948-A222-4CF6-AD14-026BE7564802}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FAFB5948-A222-4CF6-AD14-026BE7564802}.Release|Any CPU.Build.0 = Release|Any CPU
{FAFB5948-A222-4CF6-AD14-026BE7564802}.Release|Posix.ActiveCfg = Release|Any CPU
{FAFB5948-A222-4CF6-AD14-026BE7564802}.Release|Posix.Build.0 = Release|Any CPU
{FAFB5948-A222-4CF6-AD14-026BE7564802}.Release|Windows.ActiveCfg = Release|Any CPU
{FAFB5948-A222-4CF6-AD14-026BE7564802}.Release|Windows.Build.0 = Release|Any CPU
{CADDFCE0-7509-4430-8364-2074E1EEFCA2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{CADDFCE0-7509-4430-8364-2074E1EEFCA2}.Debug|Any CPU.Build.0 = Debug|Any CPU
{CADDFCE0-7509-4430-8364-2074E1EEFCA2}.Debug|Posix.ActiveCfg = Debug|Any CPU
{CADDFCE0-7509-4430-8364-2074E1EEFCA2}.Debug|Posix.Build.0 = Debug|Any CPU
{CADDFCE0-7509-4430-8364-2074E1EEFCA2}.Debug|Windows.ActiveCfg = Debug|Any CPU
{CADDFCE0-7509-4430-8364-2074E1EEFCA2}.Debug|Windows.Build.0 = Debug|Any CPU
{CADDFCE0-7509-4430-8364-2074E1EEFCA2}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CADDFCE0-7509-4430-8364-2074E1EEFCA2}.Release|Any CPU.Build.0 = Release|Any CPU
{CADDFCE0-7509-4430-8364-2074E1EEFCA2}.Release|Posix.ActiveCfg = Release|Any CPU
{CADDFCE0-7509-4430-8364-2074E1EEFCA2}.Release|Posix.Build.0 = Release|Any CPU
{CADDFCE0-7509-4430-8364-2074E1EEFCA2}.Release|Windows.ActiveCfg = Release|Any CPU
{CADDFCE0-7509-4430-8364-2074E1EEFCA2}.Release|Windows.Build.0 = Release|Any CPU
{193ADD3B-792B-4173-8E4C-5A3F8F0237F0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{193ADD3B-792B-4173-8E4C-5A3F8F0237F0}.Debug|Any CPU.Build.0 = Debug|Any CPU
{193ADD3B-792B-4173-8E4C-5A3F8F0237F0}.Debug|Posix.ActiveCfg = Debug|Any CPU
{193ADD3B-792B-4173-8E4C-5A3F8F0237F0}.Debug|Posix.Build.0 = Debug|Any CPU
{193ADD3B-792B-4173-8E4C-5A3F8F0237F0}.Debug|Windows.ActiveCfg = Debug|Any CPU
{193ADD3B-792B-4173-8E4C-5A3F8F0237F0}.Debug|Windows.Build.0 = Debug|Any CPU
{193ADD3B-792B-4173-8E4C-5A3F8F0237F0}.Release|Any CPU.ActiveCfg = Release|Any CPU
{193ADD3B-792B-4173-8E4C-5A3F8F0237F0}.Release|Any CPU.Build.0 = Release|Any CPU
{193ADD3B-792B-4173-8E4C-5A3F8F0237F0}.Release|Posix.ActiveCfg = Release|Any CPU
{193ADD3B-792B-4173-8E4C-5A3F8F0237F0}.Release|Posix.Build.0 = Release|Any CPU
{193ADD3B-792B-4173-8E4C-5A3F8F0237F0}.Release|Windows.ActiveCfg = Release|Any CPU
{193ADD3B-792B-4173-8E4C-5A3F8F0237F0}.Release|Windows.Build.0 = Release|Any CPU
{35388E8E-0CDB-4A84-AD16-E4B6EFDA5D97}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{35388E8E-0CDB-4A84-AD16-E4B6EFDA5D97}.Debug|Any CPU.Build.0 = Debug|Any CPU
{35388E8E-0CDB-4A84-AD16-E4B6EFDA5D97}.Debug|Posix.ActiveCfg = Debug|Any CPU
{35388E8E-0CDB-4A84-AD16-E4B6EFDA5D97}.Debug|Posix.Build.0 = Debug|Any CPU
{35388E8E-0CDB-4A84-AD16-E4B6EFDA5D97}.Debug|Windows.ActiveCfg = Debug|Any CPU
{35388E8E-0CDB-4A84-AD16-E4B6EFDA5D97}.Debug|Windows.Build.0 = Debug|Any CPU
{35388E8E-0CDB-4A84-AD16-E4B6EFDA5D97}.Release|Any CPU.ActiveCfg = Release|Any CPU
{35388E8E-0CDB-4A84-AD16-E4B6EFDA5D97}.Release|Any CPU.Build.0 = Release|Any CPU
{35388E8E-0CDB-4A84-AD16-E4B6EFDA5D97}.Release|Posix.ActiveCfg = Release|Any CPU
{35388E8E-0CDB-4A84-AD16-E4B6EFDA5D97}.Release|Posix.Build.0 = Release|Any CPU
{35388E8E-0CDB-4A84-AD16-E4B6EFDA5D97}.Release|Windows.ActiveCfg = Release|Any CPU
{35388E8E-0CDB-4A84-AD16-E4B6EFDA5D97}.Release|Windows.Build.0 = Release|Any CPU
{BEC74619-DDBB-4FBA-B517-D3E20AFC9997}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{BEC74619-DDBB-4FBA-B517-D3E20AFC9997}.Debug|Any CPU.Build.0 = Debug|Any CPU
{BEC74619-DDBB-4FBA-B517-D3E20AFC9997}.Debug|Posix.ActiveCfg = Debug|Any CPU
{BEC74619-DDBB-4FBA-B517-D3E20AFC9997}.Debug|Posix.Build.0 = Debug|Any CPU
{BEC74619-DDBB-4FBA-B517-D3E20AFC9997}.Debug|Windows.ActiveCfg = Debug|Any CPU
{BEC74619-DDBB-4FBA-B517-D3E20AFC9997}.Debug|Windows.Build.0 = Debug|Any CPU
{BEC74619-DDBB-4FBA-B517-D3E20AFC9997}.Release|Any CPU.ActiveCfg = Release|Any CPU
{BEC74619-DDBB-4FBA-B517-D3E20AFC9997}.Release|Any CPU.Build.0 = Release|Any CPU
{BEC74619-DDBB-4FBA-B517-D3E20AFC9997}.Release|Posix.ActiveCfg = Release|Any CPU
{BEC74619-DDBB-4FBA-B517-D3E20AFC9997}.Release|Posix.Build.0 = Release|Any CPU
{BEC74619-DDBB-4FBA-B517-D3E20AFC9997}.Release|Windows.ActiveCfg = Release|Any CPU
{BEC74619-DDBB-4FBA-B517-D3E20AFC9997}.Release|Windows.Build.0 = Release|Any CPU
{D18A5DEB-5102-4775-A1AF-B75DAAA8907B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D18A5DEB-5102-4775-A1AF-B75DAAA8907B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D18A5DEB-5102-4775-A1AF-B75DAAA8907B}.Debug|Posix.ActiveCfg = Debug|Any CPU
{D18A5DEB-5102-4775-A1AF-B75DAAA8907B}.Debug|Posix.Build.0 = Debug|Any CPU
{D18A5DEB-5102-4775-A1AF-B75DAAA8907B}.Debug|Windows.ActiveCfg = Debug|Any CPU
{D18A5DEB-5102-4775-A1AF-B75DAAA8907B}.Debug|Windows.Build.0 = Debug|Any CPU
{D18A5DEB-5102-4775-A1AF-B75DAAA8907B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D18A5DEB-5102-4775-A1AF-B75DAAA8907B}.Release|Any CPU.Build.0 = Release|Any CPU
{D18A5DEB-5102-4775-A1AF-B75DAAA8907B}.Release|Posix.ActiveCfg = Release|Any CPU
{D18A5DEB-5102-4775-A1AF-B75DAAA8907B}.Release|Posix.Build.0 = Release|Any CPU
{D18A5DEB-5102-4775-A1AF-B75DAAA8907B}.Release|Windows.ActiveCfg = Release|Any CPU
{D18A5DEB-5102-4775-A1AF-B75DAAA8907B}.Release|Windows.Build.0 = Release|Any CPU
{CBF6B8B0-A015-413A-8C86-01238BB45770}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{CBF6B8B0-A015-413A-8C86-01238BB45770}.Debug|Any CPU.Build.0 = Debug|Any CPU
{CBF6B8B0-A015-413A-8C86-01238BB45770}.Debug|Posix.ActiveCfg = Debug|Any CPU
{CBF6B8B0-A015-413A-8C86-01238BB45770}.Debug|Posix.Build.0 = Debug|Any CPU
{CBF6B8B0-A015-413A-8C86-01238BB45770}.Debug|Windows.ActiveCfg = Debug|Any CPU
{CBF6B8B0-A015-413A-8C86-01238BB45770}.Debug|Windows.Build.0 = Debug|Any CPU
{CBF6B8B0-A015-413A-8C86-01238BB45770}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CBF6B8B0-A015-413A-8C86-01238BB45770}.Release|Any CPU.Build.0 = Release|Any CPU
{CBF6B8B0-A015-413A-8C86-01238BB45770}.Release|Posix.ActiveCfg = Release|Any CPU
{CBF6B8B0-A015-413A-8C86-01238BB45770}.Release|Posix.Build.0 = Release|Any CPU
{CBF6B8B0-A015-413A-8C86-01238BB45770}.Release|Windows.ActiveCfg = Release|Any CPU
{CBF6B8B0-A015-413A-8C86-01238BB45770}.Release|Windows.Build.0 = Release|Any CPU
{8CEFECD0-A6C2-498F-98B1-3FBE5820F9AB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8CEFECD0-A6C2-498F-98B1-3FBE5820F9AB}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8CEFECD0-A6C2-498F-98B1-3FBE5820F9AB}.Debug|Posix.ActiveCfg = Debug|Any CPU
{8CEFECD0-A6C2-498F-98B1-3FBE5820F9AB}.Debug|Posix.Build.0 = Debug|Any CPU
{8CEFECD0-A6C2-498F-98B1-3FBE5820F9AB}.Debug|Windows.ActiveCfg = Debug|Any CPU
{8CEFECD0-A6C2-498F-98B1-3FBE5820F9AB}.Debug|Windows.Build.0 = Debug|Any CPU
{8CEFECD0-A6C2-498F-98B1-3FBE5820F9AB}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8CEFECD0-A6C2-498F-98B1-3FBE5820F9AB}.Release|Any CPU.Build.0 = Release|Any CPU
{8CEFECD0-A6C2-498F-98B1-3FBE5820F9AB}.Release|Posix.ActiveCfg = Release|Any CPU
{8CEFECD0-A6C2-498F-98B1-3FBE5820F9AB}.Release|Posix.Build.0 = Release|Any CPU
{8CEFECD0-A6C2-498F-98B1-3FBE5820F9AB}.Release|Windows.ActiveCfg = Release|Any CPU
{8CEFECD0-A6C2-498F-98B1-3FBE5820F9AB}.Release|Windows.Build.0 = Release|Any CPU
{CC26800D-F67E-464B-88DE-8EB1A0C227A3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{CC26800D-F67E-464B-88DE-8EB1A0C227A3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{CC26800D-F67E-464B-88DE-8EB1A0C227A3}.Debug|Posix.ActiveCfg = Debug|Any CPU
{CC26800D-F67E-464B-88DE-8EB1A0C227A3}.Debug|Posix.Build.0 = Debug|Any CPU
{CC26800D-F67E-464B-88DE-8EB1A0C227A3}.Debug|Windows.ActiveCfg = Debug|Any CPU
{CC26800D-F67E-464B-88DE-8EB1A0C227A3}.Debug|Windows.Build.0 = Debug|Any CPU
{CC26800D-F67E-464B-88DE-8EB1A0C227A3}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CC26800D-F67E-464B-88DE-8EB1A0C227A3}.Release|Any CPU.Build.0 = Release|Any CPU
{CC26800D-F67E-464B-88DE-8EB1A0C227A3}.Release|Posix.ActiveCfg = Release|Any CPU
{CC26800D-F67E-464B-88DE-8EB1A0C227A3}.Release|Posix.Build.0 = Release|Any CPU
{CC26800D-F67E-464B-88DE-8EB1A0C227A3}.Release|Windows.ActiveCfg = Release|Any CPU
{CC26800D-F67E-464B-88DE-8EB1A0C227A3}.Release|Windows.Build.0 = Release|Any CPU
{6BCE712F-846D-4846-9D1B-A66B858DA755}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6BCE712F-846D-4846-9D1B-A66B858DA755}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6BCE712F-846D-4846-9D1B-A66B858DA755}.Debug|Posix.ActiveCfg = Debug|Any CPU
{6BCE712F-846D-4846-9D1B-A66B858DA755}.Debug|Posix.Build.0 = Debug|Any CPU
{6BCE712F-846D-4846-9D1B-A66B858DA755}.Debug|Windows.ActiveCfg = Debug|Any CPU
{6BCE712F-846D-4846-9D1B-A66B858DA755}.Debug|Windows.Build.0 = Debug|Any CPU
{6BCE712F-846D-4846-9D1B-A66B858DA755}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6BCE712F-846D-4846-9D1B-A66B858DA755}.Release|Any CPU.Build.0 = Release|Any CPU
{6BCE712F-846D-4846-9D1B-A66B858DA755}.Release|Posix.ActiveCfg = Release|Any CPU
{6BCE712F-846D-4846-9D1B-A66B858DA755}.Release|Posix.Build.0 = Release|Any CPU
{6BCE712F-846D-4846-9D1B-A66B858DA755}.Release|Windows.ActiveCfg = Release|Any CPU
{6BCE712F-846D-4846-9D1B-A66B858DA755}.Release|Windows.Build.0 = Release|Any CPU
{700D0B95-95CD-43F3-B6C9-FAA0FC1358D4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{700D0B95-95CD-43F3-B6C9-FAA0FC1358D4}.Debug|Any CPU.Build.0 = Debug|Any CPU
{700D0B95-95CD-43F3-B6C9-FAA0FC1358D4}.Debug|Posix.ActiveCfg = Debug|Any CPU
{700D0B95-95CD-43F3-B6C9-FAA0FC1358D4}.Debug|Posix.Build.0 = Debug|Any CPU
{700D0B95-95CD-43F3-B6C9-FAA0FC1358D4}.Debug|Windows.ActiveCfg = Debug|Any CPU
{700D0B95-95CD-43F3-B6C9-FAA0FC1358D4}.Debug|Windows.Build.0 = Debug|Any CPU
{700D0B95-95CD-43F3-B6C9-FAA0FC1358D4}.Release|Any CPU.ActiveCfg = Release|Any CPU
{700D0B95-95CD-43F3-B6C9-FAA0FC1358D4}.Release|Any CPU.Build.0 = Release|Any CPU
{700D0B95-95CD-43F3-B6C9-FAA0FC1358D4}.Release|Posix.ActiveCfg = Release|Any CPU
{700D0B95-95CD-43F3-B6C9-FAA0FC1358D4}.Release|Posix.Build.0 = Release|Any CPU
{700D0B95-95CD-43F3-B6C9-FAA0FC1358D4}.Release|Windows.ActiveCfg = Release|Any CPU
{700D0B95-95CD-43F3-B6C9-FAA0FC1358D4}.Release|Windows.Build.0 = Release|Any CPU
{FF5EE3B6-913B-47CE-9CEB-11C51B4E1205}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{FF5EE3B6-913B-47CE-9CEB-11C51B4E1205}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FF5EE3B6-913B-47CE-9CEB-11C51B4E1205}.Debug|Posix.ActiveCfg = Debug|Any CPU
{FF5EE3B6-913B-47CE-9CEB-11C51B4E1205}.Debug|Posix.Build.0 = Debug|Any CPU
{FF5EE3B6-913B-47CE-9CEB-11C51B4E1205}.Debug|Windows.ActiveCfg = Debug|Any CPU
{FF5EE3B6-913B-47CE-9CEB-11C51B4E1205}.Debug|Windows.Build.0 = Debug|Any CPU
{FF5EE3B6-913B-47CE-9CEB-11C51B4E1205}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FF5EE3B6-913B-47CE-9CEB-11C51B4E1205}.Release|Any CPU.Build.0 = Release|Any CPU
{FF5EE3B6-913B-47CE-9CEB-11C51B4E1205}.Release|Posix.ActiveCfg = Release|Any CPU
{FF5EE3B6-913B-47CE-9CEB-11C51B4E1205}.Release|Posix.Build.0 = Release|Any CPU
{FF5EE3B6-913B-47CE-9CEB-11C51B4E1205}.Release|Windows.ActiveCfg = Release|Any CPU
{FF5EE3B6-913B-47CE-9CEB-11C51B4E1205}.Release|Windows.Build.0 = Release|Any CPU
{4CCC53CD-8D5E-4CC4-97D2-5C9312AC2BD7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4CCC53CD-8D5E-4CC4-97D2-5C9312AC2BD7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4CCC53CD-8D5E-4CC4-97D2-5C9312AC2BD7}.Debug|Posix.ActiveCfg = Debug|Any CPU
{4CCC53CD-8D5E-4CC4-97D2-5C9312AC2BD7}.Debug|Posix.Build.0 = Debug|Any CPU
{4CCC53CD-8D5E-4CC4-97D2-5C9312AC2BD7}.Debug|Windows.ActiveCfg = Debug|Any CPU
{4CCC53CD-8D5E-4CC4-97D2-5C9312AC2BD7}.Debug|Windows.Build.0 = Debug|Any CPU
{4CCC53CD-8D5E-4CC4-97D2-5C9312AC2BD7}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4CCC53CD-8D5E-4CC4-97D2-5C9312AC2BD7}.Release|Any CPU.Build.0 = Release|Any CPU
{4CCC53CD-8D5E-4CC4-97D2-5C9312AC2BD7}.Release|Posix.ActiveCfg = Release|Any CPU
{4CCC53CD-8D5E-4CC4-97D2-5C9312AC2BD7}.Release|Posix.Build.0 = Release|Any CPU
{4CCC53CD-8D5E-4CC4-97D2-5C9312AC2BD7}.Release|Windows.ActiveCfg = Release|Any CPU
{4CCC53CD-8D5E-4CC4-97D2-5C9312AC2BD7}.Release|Windows.Build.0 = Release|Any CPU
{F2BE0FDF-6E47-4827-A420-DD4EF82407F8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F2BE0FDF-6E47-4827-A420-DD4EF82407F8}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F2BE0FDF-6E47-4827-A420-DD4EF82407F8}.Debug|Posix.ActiveCfg = Debug|Any CPU
{F2BE0FDF-6E47-4827-A420-DD4EF82407F8}.Debug|Posix.Build.0 = Debug|Any CPU
{F2BE0FDF-6E47-4827-A420-DD4EF82407F8}.Debug|Windows.ActiveCfg = Debug|Any CPU
{F2BE0FDF-6E47-4827-A420-DD4EF82407F8}.Debug|Windows.Build.0 = Debug|Any CPU
{F2BE0FDF-6E47-4827-A420-DD4EF82407F8}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F2BE0FDF-6E47-4827-A420-DD4EF82407F8}.Release|Any CPU.Build.0 = Release|Any CPU
{F2BE0FDF-6E47-4827-A420-DD4EF82407F8}.Release|Posix.ActiveCfg = Release|Any CPU
{F2BE0FDF-6E47-4827-A420-DD4EF82407F8}.Release|Posix.Build.0 = Release|Any CPU
{F2BE0FDF-6E47-4827-A420-DD4EF82407F8}.Release|Windows.ActiveCfg = Release|Any CPU
{F2BE0FDF-6E47-4827-A420-DD4EF82407F8}.Release|Windows.Build.0 = Release|Any CPU
{95C11A9E-56ED-456A-8447-2C89C1139266}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{95C11A9E-56ED-456A-8447-2C89C1139266}.Debug|Any CPU.Build.0 = Debug|Any CPU
{95C11A9E-56ED-456A-8447-2C89C1139266}.Debug|Posix.ActiveCfg = Debug|Any CPU
{95C11A9E-56ED-456A-8447-2C89C1139266}.Debug|Posix.Build.0 = Debug|Any CPU
{95C11A9E-56ED-456A-8447-2C89C1139266}.Debug|Windows.ActiveCfg = Debug|Any CPU
{95C11A9E-56ED-456A-8447-2C89C1139266}.Debug|Windows.Build.0 = Debug|Any CPU
{95C11A9E-56ED-456A-8447-2C89C1139266}.Release|Any CPU.ActiveCfg = Release|Any CPU
{95C11A9E-56ED-456A-8447-2C89C1139266}.Release|Any CPU.Build.0 = Release|Any CPU
{95C11A9E-56ED-456A-8447-2C89C1139266}.Release|Posix.ActiveCfg = Release|Any CPU
{95C11A9E-56ED-456A-8447-2C89C1139266}.Release|Posix.Build.0 = Release|Any CPU
{95C11A9E-56ED-456A-8447-2C89C1139266}.Release|Windows.ActiveCfg = Release|Any CPU
{95C11A9E-56ED-456A-8447-2C89C1139266}.Release|Windows.Build.0 = Release|Any CPU
{D12F7F2F-8A3C-415F-88FA-6DD061A84869}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D12F7F2F-8A3C-415F-88FA-6DD061A84869}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D12F7F2F-8A3C-415F-88FA-6DD061A84869}.Debug|Posix.ActiveCfg = Debug|Any CPU
{D12F7F2F-8A3C-415F-88FA-6DD061A84869}.Debug|Windows.ActiveCfg = Debug|Any CPU
{D12F7F2F-8A3C-415F-88FA-6DD061A84869}.Debug|Windows.Build.0 = Debug|Any CPU
{D12F7F2F-8A3C-415F-88FA-6DD061A84869}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D12F7F2F-8A3C-415F-88FA-6DD061A84869}.Release|Any CPU.Build.0 = Release|Any CPU
{D12F7F2F-8A3C-415F-88FA-6DD061A84869}.Release|Posix.ActiveCfg = Release|Any CPU
{D12F7F2F-8A3C-415F-88FA-6DD061A84869}.Release|Windows.ActiveCfg = Release|Any CPU
{D12F7F2F-8A3C-415F-88FA-6DD061A84869}.Release|Windows.Build.0 = Release|Any CPU
{7C2CC69F-5CA0-4E5C-85CB-983F9F6C3B36}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{7C2CC69F-5CA0-4E5C-85CB-983F9F6C3B36}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7C2CC69F-5CA0-4E5C-85CB-983F9F6C3B36}.Debug|Posix.ActiveCfg = Debug|Any CPU
{7C2CC69F-5CA0-4E5C-85CB-983F9F6C3B36}.Debug|Posix.Build.0 = Debug|Any CPU
{7C2CC69F-5CA0-4E5C-85CB-983F9F6C3B36}.Debug|Windows.ActiveCfg = Debug|Any CPU
{7C2CC69F-5CA0-4E5C-85CB-983F9F6C3B36}.Debug|Windows.Build.0 = Debug|Any CPU
{7C2CC69F-5CA0-4E5C-85CB-983F9F6C3B36}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7C2CC69F-5CA0-4E5C-85CB-983F9F6C3B36}.Release|Any CPU.Build.0 = Release|Any CPU
{7C2CC69F-5CA0-4E5C-85CB-983F9F6C3B36}.Release|Posix.ActiveCfg = Release|Any CPU
{7C2CC69F-5CA0-4E5C-85CB-983F9F6C3B36}.Release|Posix.Build.0 = Release|Any CPU
{7C2CC69F-5CA0-4E5C-85CB-983F9F6C3B36}.Release|Windows.ActiveCfg = Release|Any CPU
{7C2CC69F-5CA0-4E5C-85CB-983F9F6C3B36}.Release|Windows.Build.0 = Release|Any CPU
{80B51429-7A0E-46D6-BEE3-C80DCB1C4EAA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{80B51429-7A0E-46D6-BEE3-C80DCB1C4EAA}.Debug|Any CPU.Build.0 = Debug|Any CPU
{80B51429-7A0E-46D6-BEE3-C80DCB1C4EAA}.Debug|Posix.ActiveCfg = Debug|Any CPU
{80B51429-7A0E-46D6-BEE3-C80DCB1C4EAA}.Debug|Posix.Build.0 = Debug|Any CPU
{80B51429-7A0E-46D6-BEE3-C80DCB1C4EAA}.Debug|Windows.ActiveCfg = Debug|Any CPU
{80B51429-7A0E-46D6-BEE3-C80DCB1C4EAA}.Debug|Windows.Build.0 = Debug|Any CPU
{80B51429-7A0E-46D6-BEE3-C80DCB1C4EAA}.Release|Any CPU.ActiveCfg = Release|Any CPU
{80B51429-7A0E-46D6-BEE3-C80DCB1C4EAA}.Release|Any CPU.Build.0 = Release|Any CPU
{80B51429-7A0E-46D6-BEE3-C80DCB1C4EAA}.Release|Posix.ActiveCfg = Release|Any CPU
{80B51429-7A0E-46D6-BEE3-C80DCB1C4EAA}.Release|Posix.Build.0 = Release|Any CPU
{80B51429-7A0E-46D6-BEE3-C80DCB1C4EAA}.Release|Windows.ActiveCfg = Release|Any CPU
{80B51429-7A0E-46D6-BEE3-C80DCB1C4EAA}.Release|Windows.Build.0 = Release|Any CPU
{40D72824-7D02-4A77-9106-8FE0EEA2B997}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{40D72824-7D02-4A77-9106-8FE0EEA2B997}.Debug|Any CPU.Build.0 = Debug|Any CPU
{40D72824-7D02-4A77-9106-8FE0EEA2B997}.Debug|Posix.ActiveCfg = Debug|Any CPU
{40D72824-7D02-4A77-9106-8FE0EEA2B997}.Debug|Posix.Build.0 = Debug|Any CPU
{40D72824-7D02-4A77-9106-8FE0EEA2B997}.Debug|Windows.ActiveCfg = Debug|Any CPU
{40D72824-7D02-4A77-9106-8FE0EEA2B997}.Debug|Windows.Build.0 = Debug|Any CPU
{40D72824-7D02-4A77-9106-8FE0EEA2B997}.Release|Any CPU.ActiveCfg = Release|Any CPU
{40D72824-7D02-4A77-9106-8FE0EEA2B997}.Release|Any CPU.Build.0 = Release|Any CPU
{40D72824-7D02-4A77-9106-8FE0EEA2B997}.Release|Posix.ActiveCfg = Release|Any CPU
{40D72824-7D02-4A77-9106-8FE0EEA2B997}.Release|Posix.Build.0 = Release|Any CPU
{40D72824-7D02-4A77-9106-8FE0EEA2B997}.Release|Windows.ActiveCfg = Release|Any CPU
{40D72824-7D02-4A77-9106-8FE0EEA2B997}.Release|Windows.Build.0 = Release|Any CPU
{7140FF1F-79BE-492F-9188-B21A050BF708}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{7140FF1F-79BE-492F-9188-B21A050BF708}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7140FF1F-79BE-492F-9188-B21A050BF708}.Debug|Posix.ActiveCfg = Debug|Any CPU
{7140FF1F-79BE-492F-9188-B21A050BF708}.Debug|Posix.Build.0 = Debug|Any CPU
{7140FF1F-79BE-492F-9188-B21A050BF708}.Debug|Windows.ActiveCfg = Debug|Any CPU
{7140FF1F-79BE-492F-9188-B21A050BF708}.Debug|Windows.Build.0 = Debug|Any CPU
{7140FF1F-79BE-492F-9188-B21A050BF708}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7140FF1F-79BE-492F-9188-B21A050BF708}.Release|Any CPU.Build.0 = Release|Any CPU
{7140FF1F-79BE-492F-9188-B21A050BF708}.Release|Posix.ActiveCfg = Release|Any CPU
{7140FF1F-79BE-492F-9188-B21A050BF708}.Release|Posix.Build.0 = Release|Any CPU
{7140FF1F-79BE-492F-9188-B21A050BF708}.Release|Windows.ActiveCfg = Release|Any CPU
{7140FF1F-79BE-492F-9188-B21A050BF708}.Release|Windows.Build.0 = Release|Any CPU
{5370BFF7-1BD7-46BC-AF06-7D9EA5CDA1D6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5370BFF7-1BD7-46BC-AF06-7D9EA5CDA1D6}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5370BFF7-1BD7-46BC-AF06-7D9EA5CDA1D6}.Debug|Posix.ActiveCfg = Debug|Any CPU
{5370BFF7-1BD7-46BC-AF06-7D9EA5CDA1D6}.Debug|Posix.Build.0 = Debug|Any CPU
{5370BFF7-1BD7-46BC-AF06-7D9EA5CDA1D6}.Debug|Windows.ActiveCfg = Debug|Any CPU
{5370BFF7-1BD7-46BC-AF06-7D9EA5CDA1D6}.Debug|Windows.Build.0 = Debug|Any CPU
{5370BFF7-1BD7-46BC-AF06-7D9EA5CDA1D6}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5370BFF7-1BD7-46BC-AF06-7D9EA5CDA1D6}.Release|Any CPU.Build.0 = Release|Any CPU
{5370BFF7-1BD7-46BC-AF06-7D9EA5CDA1D6}.Release|Posix.ActiveCfg = Release|Any CPU
{5370BFF7-1BD7-46BC-AF06-7D9EA5CDA1D6}.Release|Posix.Build.0 = Release|Any CPU
{5370BFF7-1BD7-46BC-AF06-7D9EA5CDA1D6}.Release|Windows.ActiveCfg = Release|Any CPU
{5370BFF7-1BD7-46BC-AF06-7D9EA5CDA1D6}.Release|Windows.Build.0 = Release|Any CPU
{C0EA1A40-91AD-4EEB-BD16-2DDDEBD20AE5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C0EA1A40-91AD-4EEB-BD16-2DDDEBD20AE5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C0EA1A40-91AD-4EEB-BD16-2DDDEBD20AE5}.Debug|Posix.ActiveCfg = Debug|Any CPU
{C0EA1A40-91AD-4EEB-BD16-2DDDEBD20AE5}.Debug|Posix.Build.0 = Debug|Any CPU
{C0EA1A40-91AD-4EEB-BD16-2DDDEBD20AE5}.Debug|Windows.ActiveCfg = Debug|Any CPU
{C0EA1A40-91AD-4EEB-BD16-2DDDEBD20AE5}.Debug|Windows.Build.0 = Debug|Any CPU
{C0EA1A40-91AD-4EEB-BD16-2DDDEBD20AE5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C0EA1A40-91AD-4EEB-BD16-2DDDEBD20AE5}.Release|Any CPU.Build.0 = Release|Any CPU
{C0EA1A40-91AD-4EEB-BD16-2DDDEBD20AE5}.Release|Posix.ActiveCfg = Release|Any CPU
{C0EA1A40-91AD-4EEB-BD16-2DDDEBD20AE5}.Release|Posix.Build.0 = Release|Any CPU
{C0EA1A40-91AD-4EEB-BD16-2DDDEBD20AE5}.Release|Windows.ActiveCfg = Release|Any CPU
{C0EA1A40-91AD-4EEB-BD16-2DDDEBD20AE5}.Release|Windows.Build.0 = Release|Any CPU
{F3F63718-63C6-432F-BDDC-C960AD95EC82}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F3F63718-63C6-432F-BDDC-C960AD95EC82}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F3F63718-63C6-432F-BDDC-C960AD95EC82}.Debug|Posix.ActiveCfg = Debug|Any CPU
{F3F63718-63C6-432F-BDDC-C960AD95EC82}.Debug|Posix.Build.0 = Debug|Any CPU
{F3F63718-63C6-432F-BDDC-C960AD95EC82}.Debug|Windows.ActiveCfg = Debug|Any CPU
{F3F63718-63C6-432F-BDDC-C960AD95EC82}.Debug|Windows.Build.0 = Debug|Any CPU
{F3F63718-63C6-432F-BDDC-C960AD95EC82}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F3F63718-63C6-432F-BDDC-C960AD95EC82}.Release|Any CPU.Build.0 = Release|Any CPU
{F3F63718-63C6-432F-BDDC-C960AD95EC82}.Release|Posix.ActiveCfg = Release|Any CPU
{F3F63718-63C6-432F-BDDC-C960AD95EC82}.Release|Posix.Build.0 = Release|Any CPU
{F3F63718-63C6-432F-BDDC-C960AD95EC82}.Release|Windows.ActiveCfg = Release|Any CPU
{F3F63718-63C6-432F-BDDC-C960AD95EC82}.Release|Windows.Build.0 = Release|Any CPU
{22F71728-AB73-4774-8DC2-6D2D7734AE0C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{22F71728-AB73-4774-8DC2-6D2D7734AE0C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{22F71728-AB73-4774-8DC2-6D2D7734AE0C}.Debug|Posix.ActiveCfg = Debug|Any CPU
{22F71728-AB73-4774-8DC2-6D2D7734AE0C}.Debug|Posix.Build.0 = Debug|Any CPU
{22F71728-AB73-4774-8DC2-6D2D7734AE0C}.Debug|Windows.ActiveCfg = Debug|Any CPU
{22F71728-AB73-4774-8DC2-6D2D7734AE0C}.Debug|Windows.Build.0 = Debug|Any CPU
{22F71728-AB73-4774-8DC2-6D2D7734AE0C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{22F71728-AB73-4774-8DC2-6D2D7734AE0C}.Release|Any CPU.Build.0 = Release|Any CPU
{22F71728-AB73-4774-8DC2-6D2D7734AE0C}.Release|Posix.ActiveCfg = Release|Any CPU
{22F71728-AB73-4774-8DC2-6D2D7734AE0C}.Release|Posix.Build.0 = Release|Any CPU
{22F71728-AB73-4774-8DC2-6D2D7734AE0C}.Release|Windows.ActiveCfg = Release|Any CPU
{22F71728-AB73-4774-8DC2-6D2D7734AE0C}.Release|Windows.Build.0 = Release|Any CPU
{4AE3B731-442E-4AF0-88A5-9FABEB685A0D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4AE3B731-442E-4AF0-88A5-9FABEB685A0D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4AE3B731-442E-4AF0-88A5-9FABEB685A0D}.Debug|Posix.ActiveCfg = Debug|Any CPU
{4AE3B731-442E-4AF0-88A5-9FABEB685A0D}.Debug|Posix.Build.0 = Debug|Any CPU
{4AE3B731-442E-4AF0-88A5-9FABEB685A0D}.Debug|Windows.ActiveCfg = Debug|Any CPU
{4AE3B731-442E-4AF0-88A5-9FABEB685A0D}.Debug|Windows.Build.0 = Debug|Any CPU
{4AE3B731-442E-4AF0-88A5-9FABEB685A0D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4AE3B731-442E-4AF0-88A5-9FABEB685A0D}.Release|Any CPU.Build.0 = Release|Any CPU
{4AE3B731-442E-4AF0-88A5-9FABEB685A0D}.Release|Posix.ActiveCfg = Release|Any CPU
{4AE3B731-442E-4AF0-88A5-9FABEB685A0D}.Release|Posix.Build.0 = Release|Any CPU
{4AE3B731-442E-4AF0-88A5-9FABEB685A0D}.Release|Windows.ActiveCfg = Release|Any CPU
{4AE3B731-442E-4AF0-88A5-9FABEB685A0D}.Release|Windows.Build.0 = Release|Any CPU
{1A9DFC67-3712-47A5-8DCA-0BCAA95F9EDC}.Debug|Posix.ActiveCfg = Debug|Any CPU
{1A9DFC67-3712-47A5-8DCA-0BCAA95F9EDC}.Debug|Posix.Build.0 = Debug|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

Loading…
Cancel
Save