From 1f6887fcb071997f306b9dd44ee005c22f06be9f Mon Sep 17 00:00:00 2001 From: cuddlyogre Date: Thu, 31 Oct 2013 18:44:02 -0500 Subject: [PATCH] Now Visual Studio 2010 Compatible Removed a "using namepsace std;" to stop an ambiguous symbol error regarding the "hash" datatype when compiling with Visual Studio 2010. As a result, I had to add a "std::" to an ostringstream. Duplicated, upgraded, and reworked the existing Visual Studio 2008 project so that it now compiles successfully with Visual Studio 2010. Both debug and release work without a hitch on Windows 7. The original Visual Studio 2008 solution is still there if it is needed. --- Aquaria/Game.cpp | 2 +- Aquaria/PathFinding.h | 2 - VS2010/.gitignore | 33 + VS2010/AquariaVS2010.sln | 36 + VS2010/VS2010/Aquaria.vcproj | 573 ++++++++++++ VS2010/VS2010/Aquaria.vcxproj | 209 +++++ VS2010/VS2010/BBGE.vcproj | 543 +++++++++++ VS2010/VS2010/BBGE.vcxproj | 198 ++++ VS2010/VS2010/external.vcproj | 1540 ++++++++++++++++++++++++++++++++ VS2010/VS2010/external.vcxproj | 421 +++++++++ 10 files changed, 3554 insertions(+), 3 deletions(-) create mode 100644 VS2010/.gitignore create mode 100644 VS2010/AquariaVS2010.sln create mode 100644 VS2010/VS2010/Aquaria.vcproj create mode 100644 VS2010/VS2010/Aquaria.vcxproj create mode 100644 VS2010/VS2010/BBGE.vcproj create mode 100644 VS2010/VS2010/BBGE.vcxproj create mode 100644 VS2010/VS2010/external.vcproj create mode 100644 VS2010/VS2010/external.vcxproj diff --git a/Aquaria/Game.cpp b/Aquaria/Game.cpp index 00b18be..b024464 100644 --- a/Aquaria/Game.cpp +++ b/Aquaria/Game.cpp @@ -3327,7 +3327,7 @@ void Game::createInGameMenu() resBox->position = Vector(196, 285); for (i = 0; i < core->screenModes.size(); i++) { - ostringstream os; + std::ostringstream os; os << core->screenModes[i].x << "x" << core->screenModes[i].y; resBox->addItem(os.str()); if (core->screenModes[i].x == dsq->user.video.resx && core->screenModes[i].y == dsq->user.video.resy) diff --git a/Aquaria/PathFinding.h b/Aquaria/PathFinding.h index fb82b42..70456e3 100644 --- a/Aquaria/PathFinding.h +++ b/Aquaria/PathFinding.h @@ -26,8 +26,6 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #include "TileVector.h" #include -using namespace std; - /* class AStarNode { diff --git a/VS2010/.gitignore b/VS2010/.gitignore new file mode 100644 index 0000000..324698d --- /dev/null +++ b/VS2010/.gitignore @@ -0,0 +1,33 @@ +.* +*.o +*.o.* +*.so +*.so.dbg +*.bin +*.gz +*.obj +*.user +*.manifest +*.suo +*.ncb +*.pdb +*.ilk +*.exp +*.tmp +*.aps +*.opensdf +temp/* +build/* +bin/* +ipch/* +Debug/* +Release/* +New Folder/* +*.sdf +VS2010/*.vcxproj.user +VS2010/*.vcxproj.filters + +*.patch +*.diff + +!.gitignore diff --git a/VS2010/AquariaVS2010.sln b/VS2010/AquariaVS2010.sln new file mode 100644 index 0000000..0b5813d --- /dev/null +++ b/VS2010/AquariaVS2010.sln @@ -0,0 +1,36 @@ + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual C++ Express 2010 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Aquaria", "VS2010\Aquaria.vcxproj", "{4DB6D5AA-4EAD-4195-9B54-389B558036D8}" + ProjectSection(ProjectDependencies) = postProject + {4C2AD812-6776-4728-A4B0-ABA397224152} = {4C2AD812-6776-4728-A4B0-ABA397224152} + {6A2DACD7-DA30-49A1-9214-CCDEB48E6050} = {6A2DACD7-DA30-49A1-9214-CCDEB48E6050} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BBGE", "VS2010\BBGE.vcxproj", "{4C2AD812-6776-4728-A4B0-ABA397224152}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "external", "VS2010\external.vcxproj", "{6A2DACD7-DA30-49A1-9214-CCDEB48E6050}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + Release|Win32 = Release|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {4DB6D5AA-4EAD-4195-9B54-389B558036D8}.Debug|Win32.ActiveCfg = Debug|Win32 + {4DB6D5AA-4EAD-4195-9B54-389B558036D8}.Debug|Win32.Build.0 = Debug|Win32 + {4DB6D5AA-4EAD-4195-9B54-389B558036D8}.Release|Win32.ActiveCfg = Release|Win32 + {4DB6D5AA-4EAD-4195-9B54-389B558036D8}.Release|Win32.Build.0 = Release|Win32 + {4C2AD812-6776-4728-A4B0-ABA397224152}.Debug|Win32.ActiveCfg = Debug|Win32 + {4C2AD812-6776-4728-A4B0-ABA397224152}.Debug|Win32.Build.0 = Debug|Win32 + {4C2AD812-6776-4728-A4B0-ABA397224152}.Release|Win32.ActiveCfg = Release|Win32 + {4C2AD812-6776-4728-A4B0-ABA397224152}.Release|Win32.Build.0 = Release|Win32 + {6A2DACD7-DA30-49A1-9214-CCDEB48E6050}.Debug|Win32.ActiveCfg = Debug|Win32 + {6A2DACD7-DA30-49A1-9214-CCDEB48E6050}.Debug|Win32.Build.0 = Debug|Win32 + {6A2DACD7-DA30-49A1-9214-CCDEB48E6050}.Release|Win32.ActiveCfg = Release|Win32 + {6A2DACD7-DA30-49A1-9214-CCDEB48E6050}.Release|Win32.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/VS2010/VS2010/Aquaria.vcproj b/VS2010/VS2010/Aquaria.vcproj new file mode 100644 index 0000000..207d1da --- /dev/null +++ b/VS2010/VS2010/Aquaria.vcproj @@ -0,0 +1,573 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/VS2010/VS2010/Aquaria.vcxproj b/VS2010/VS2010/Aquaria.vcxproj new file mode 100644 index 0000000..0e338de --- /dev/null +++ b/VS2010/VS2010/Aquaria.vcxproj @@ -0,0 +1,209 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {4DB6D5AA-4EAD-4195-9B54-389B558036D8} + Aquaria_vc90 + Win32Proj + + + + Application + MultiByte + true + + + Application + MultiByte + + + + + + + + + + + + + <_ProjectFileVersion>10.0.30319.1 + $(SolutionDir)temp\$(Configuration)\$(ProjectName)\ + true + $(SolutionDir)temp\$(Configuration)\$(ProjectName)\ + false + + + + Disabled + $(SolutionDir)\..\ExternalLibs\freetype2\include\freetype\config;$(SolutionDir)\..\ExternalLibs\gl;$(SolutionDir)\..\ExternalLibs\glpng\zlib;$(SolutionDir)\..\ExternalLibs\glpng\png;$(SolutionDir)\..\ExternalLibs\libogg-1.3.0\include;$(SolutionDir)\..\ExternalLibs\libvorbis-1.3.3\include;$(SolutionDir)\..\ExternalLibs\freetype2\include;$(SolutionDir)\..\ExternalLibs\FTGL\include;$(SolutionDir)\..\ExternalLibs\SDL2\include;$(SolutionDir)\..\ExternalLibs\AL\include;$(SolutionDir)\..\BBGE;$(SolutionDir)\..\ExternalLibs\lua-5.1.4\src;$(SolutionDir)\..\ExternalLibs\lvpa\include;$(SolutionDir)\..\ExternalLibs\lvpa;$(SolutionDir)\..\ExternalLibs\ttvfs;$(SolutionDir)\..\ExternalLibs;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_CONSOLE;GL_GLEXT_LEGACY=1;TIXML_USE_STL=1;HAVE_PUTENV=1;_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;BBGE_BUILD_WINDOWS=1;%(PreprocessorDefinitions) + true + Default + MultiThreadedDebugDLL + true + + + Level3 + EditAndContinue + + + $(IntDir)/$(Configuration/%(RelativeDir)/ + + + $(SolutionDir)temp\$(Configuration)\external\;$(SolutionDir)temp\$(Configuration)\BBGE\;%(AdditionalLibraryDirectories) + msvcrt.lib;%(IgnoreSpecificDefaultLibraries) + true + Console + MachineX86 + external.lib;BBGE.lib;%(AdditionalDependencies) + + + + + Full + AnySuitable + true + Speed + true + true + $(SolutionDir)\..\ExternalLibs\freetype2\include\freetype\config;$(SolutionDir)\..\ExternalLibs\gl;$(SolutionDir)\..\ExternalLibs\glpng\zlib;$(SolutionDir)\..\ExternalLibs\glpng\png;$(SolutionDir)\..\ExternalLibs\libogg-1.3.0\include;$(SolutionDir)\..\ExternalLibs\libvorbis-1.3.3\include;$(SolutionDir)\..\ExternalLibs\freetype2\include;$(SolutionDir)\..\ExternalLibs\FTGL\include;$(SolutionDir)\..\ExternalLibs\SDL2\include;$(SolutionDir)\..\ExternalLibs\AL\include;$(SolutionDir)\..\BBGE;$(SolutionDir)\..\ExternalLibs\lua-5.1.4\src;$(SolutionDir)\..\ExternalLibs\lvpa\include;$(SolutionDir)\..\ExternalLibs\lvpa;$(SolutionDir)\..\ExternalLibs\ttvfs;$(SolutionDir)\..\ExternalLibs;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;GL_GLEXT_LEGACY=1;TIXML_USE_STL=1;HAVE_PUTENV=1;_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;BBGE_BUILD_WINDOWS=1;_HAS_EXCEPTIONS=0;%(PreprocessorDefinitions) + true + + + MultiThreaded + false + false + StreamingSIMDExtensions2 + Fast + + + Level3 + ProgramDatabase + + + $(IntDir)/$(Configuration/%(RelativeDir)/ + + + msvcrt.lib;%(IgnoreSpecificDefaultLibraries) + true + Windows + true + true + MachineX86 + $(SolutionDir)temp\$(Configuration)\external\;$(SolutionDir)temp\$(Configuration)\BBGE\;%(AdditionalLibraryDirectories) + external.lib;BBGE.lib;%(AdditionalDependencies) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/VS2010/VS2010/BBGE.vcproj b/VS2010/VS2010/BBGE.vcproj new file mode 100644 index 0000000..3b11171 --- /dev/null +++ b/VS2010/VS2010/BBGE.vcproj @@ -0,0 +1,543 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/VS2010/VS2010/BBGE.vcxproj b/VS2010/VS2010/BBGE.vcxproj new file mode 100644 index 0000000..e8bdb00 --- /dev/null +++ b/VS2010/VS2010/BBGE.vcxproj @@ -0,0 +1,198 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {4C2AD812-6776-4728-A4B0-ABA397224152} + Aquaria_vc90 + Win32Proj + + + + StaticLibrary + MultiByte + true + + + StaticLibrary + false + MultiByte + + + + + + + + + + + + + <_ProjectFileVersion>10.0.30319.1 + $(SolutionDir)temp\$(Configuration)\$(ProjectName)\ + $(SolutionDir)temp\$(Configuration)\$(ProjectName)\ + $(SolutionDir)temp\$(Configuration)\$(ProjectName)\ + $(SolutionDir)temp\$(Configuration)\$(ProjectName)\ + + + + Disabled + $(SolutionDir)\..\ExternalLibs\freetype2\include\freetype\config;$(SolutionDir)\..\ExternalLibs\gl;$(SolutionDir)\..\ExternalLibs\glpng\zlib;$(SolutionDir)\..\ExternalLibs\glpng\png;$(SolutionDir)\..\ExternalLibs\libogg-1.3.0\include;$(SolutionDir)\..\ExternalLibs\libvorbis-1.3.3\include;$(SolutionDir)\..\ExternalLibs\freetype2\include;$(SolutionDir)\..\ExternalLibs\FTGL\include;$(SolutionDir)\..\ExternalLibs\SDL2\include;$(SolutionDir)\..\ExternalLibs\AL\include;$(SolutionDir)\..\ExternalLibs\ttvfs;$(SolutionDir)\..\ExternalLibs\lvpa;$(SolutionDir)\..\ExternalLibs\lvpa\include;$(SolutionDir)\..\ExternalLibs;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_CONSOLE;GL_GLEXT_LEGACY=1;TIXML_USE_STL=1;HAVE_PUTENV=1;FTGL_LIBRARY_STATIC;_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;BBGE_BUILD_WINDOWS=1;%(PreprocessorDefinitions) + true + Default + MultiThreadedDebugDLL + true + + + Level3 + EditAndContinue + + + $(IntDir)/$(Configuration/%(RelativeDir)/ + + + SDL2.lib;SDL2main.lib;OpenAL32.lib;%(AdditionalDependencies) + $(SolutionDir)\..\ExternalLibs\AL\lib\win32;$(SolutionDir)\..\ExternalLibs\SDL2\lib\win32;%(AdditionalLibraryDirectories) + true + %(IgnoreSpecificDefaultLibraries) + + + + + Full + AnySuitable + true + Speed + true + true + $(SolutionDir)\..\ExternalLibs\freetype2\include\freetype\config;$(SolutionDir)\..\ExternalLibs\gl;$(SolutionDir)\..\ExternalLibs\glpng\zlib;$(SolutionDir)\..\ExternalLibs\glpng\png;$(SolutionDir)\..\ExternalLibs\libogg-1.3.0\include;$(SolutionDir)\..\ExternalLibs\libvorbis-1.3.3\include;$(SolutionDir)\..\ExternalLibs\freetype2\include;$(SolutionDir)\..\ExternalLibs\FTGL\include;$(SolutionDir)\..\ExternalLibs\SDL2\include;$(SolutionDir)\..\ExternalLibs\AL\include;$(SolutionDir)\..\ExternalLibs\ttvfs;$(SolutionDir)\..\ExternalLibs\lvpa;$(SolutionDir)\..\ExternalLibs\lvpa\include;$(SolutionDir)\..\ExternalLibs;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_CONSOLE;GL_GLEXT_LEGACY=1;TIXML_USE_STL=1;HAVE_PUTENV=1;FTGL_LIBRARY_STATIC;_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;BBGE_BUILD_WINDOWS=1;_HAS_EXCEPTIONS=0;%(PreprocessorDefinitions) + true + + + MultiThreaded + false + false + StreamingSIMDExtensions2 + Fast + + + Level3 + ProgramDatabase + + + $(IntDir)/$(Configuration/%(RelativeDir)/ + + + SDL2.lib;SDL2main.lib;OpenAL32.lib;%(AdditionalDependencies) + $(SolutionDir)\..\ExternalLibs\AL\lib\win32;$(SolutionDir)\..\ExternalLibs\SDL2\lib\win32;%(AdditionalLibraryDirectories) + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/VS2010/VS2010/external.vcproj b/VS2010/VS2010/external.vcproj new file mode 100644 index 0000000..d35abe9 --- /dev/null +++ b/VS2010/VS2010/external.vcproj @@ -0,0 +1,1540 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/VS2010/VS2010/external.vcxproj b/VS2010/VS2010/external.vcxproj new file mode 100644 index 0000000..c84757f --- /dev/null +++ b/VS2010/VS2010/external.vcxproj @@ -0,0 +1,421 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {6A2DACD7-DA30-49A1-9214-CCDEB48E6050} + Aquaria_vc90 + Win32Proj + + + + StaticLibrary + MultiByte + true + + + StaticLibrary + MultiByte + + + + + + + + + + + + + <_ProjectFileVersion>10.0.30319.1 + $(SolutionDir)temp\$(Configuration)\$(ProjectName)\ + $(SolutionDir)temp\$(Configuration)\$(ProjectName)\ + $(SolutionDir)temp\$(Configuration)\$(ProjectName)\ + $(SolutionDir)temp\$(Configuration)\$(ProjectName)\ + + + + Disabled + $(SolutionDir)\..\ExternalLibs\freetype2\include\freetype\config;$(SolutionDir)\..\ExternalLibs\gl;$(SolutionDir)\..\ExternalLibs\glpng\zlib;$(SolutionDir)\..\ExternalLibs\glpng\png;$(SolutionDir)\..\ExternalLibs\libogg-1.3.0\include;$(SolutionDir)\..\ExternalLibs\libvorbis-1.3.3\include;$(SolutionDir)\..\ExternalLibs\freetype2\include;$(SolutionDir)\..\ExternalLibs\FTGL\include;$(SolutionDir)\..\ExternalLibs\SDL2\include;$(SolutionDir)\..\ExternalLibs\ttvfs;$(SolutionDir)\..\ExternalLibs\;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;HAVE_FCNTL_H;FT_CONFIG_OPTION_SYSTEM_ZLIB;FTGL_LIBRARY_STATIC;FT2_BUILD_LIBRARY;GL_GLEXT_LEGACY=1;TIXML_USE_STL=1;HAVE_PUTENV=1;BBGE_BUILD_VFS=1;%(PreprocessorDefinitions) + true + Default + MultiThreadedDebugDLL + true + + + Level3 + EditAndContinue + 4244;4996;4305;4800;%(DisableSpecificWarnings) + $(IntDir)/$(Configuration/%(RelativeDir)/ + + + ws2_32.lib;%(AdditionalDependencies) + %(AdditionalLibraryDirectories) + true + %(IgnoreSpecificDefaultLibraries) + + + + + Full + AnySuitable + true + Speed + true + true + $(SolutionDir)\..\ExternalLibs\freetype2\include\freetype\config;$(SolutionDir)\..\ExternalLibs\gl;$(SolutionDir)\..\ExternalLibs\glpng\zlib;$(SolutionDir)\..\ExternalLibs\glpng\png;$(SolutionDir)\..\ExternalLibs\libogg-1.3.0\include;$(SolutionDir)\..\ExternalLibs\libvorbis-1.3.3\include;$(SolutionDir)\..\ExternalLibs\freetype2\include;$(SolutionDir)\..\ExternalLibs\FTGL\include;$(SolutionDir)\..\ExternalLibs\SDL12\include;$(SolutionDir)\..\ExternalLibs\ttvfs;$(SolutionDir)\..\ExternalLibs;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;HAVE_FCNTL_H;FT_CONFIG_OPTION_SYSTEM_ZLIB;FTGL_LIBRARY_STATIC;FT2_BUILD_LIBRARY;GL_GLEXT_LEGACY=1;TIXML_USE_STL=1;HAVE_PUTENV=1;_HAS_EXCEPTIONS=0;BBGE_BUILD_VFS=1;%(PreprocessorDefinitions) + true + + + MultiThreaded + false + false + StreamingSIMDExtensions2 + Fast + false + + + Level3 + ProgramDatabase + 4244;4996;4305;4800;%(DisableSpecificWarnings) + $(IntDir)/$(Configuration/%(RelativeDir)/ + + + ws2_32.lib;%(AdditionalDependencies) + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file