diff --git a/.github/workflows/ccpp.yml b/.github/workflows/ccpp.yml index 08292d55f..e542821e8 100644 --- a/.github/workflows/ccpp.yml +++ b/.github/workflows/ccpp.yml @@ -44,16 +44,46 @@ jobs: with: CXX: ${{ matrix.cxx }} CC: ${{ matrix.cc }} + + - name: Cache DX SDK + id: dxcache + if: matrix.name == 'windows-msvc' + uses: actions/cache@v2 + with: + path: '${{ github.workspace }}/DX_SDK' + key: ${{ runner.os }}-DX_SDK + restore-keys: | + ${{ runner.os }}-DX_SDK + + - name: Download DXSetup + if: matrix.name == 'windows-msvc' && steps.dxcache.outputs.cache-hit != 'true' + run: | + curl -s -o DXSDK_Jun10.exe --location https://download.microsoft.com/download/A/E/7/AE743F1F-632B-4809-87A9-AA1BB3458E31/DXSDK_Jun10.exe + cmd.exe /c start /wait .\DXSDK_Jun10.exe /U /O /F /S /P "${{ github.workspace }}\DX_SDK" + + - name: Set Windows specific CMake arguments + if: matrix.name == 'windows-msvc' + id: windows_extra_cmake_args + run: echo "::set-output name=args::'-DASSIMP_BUILD_ASSIMP_TOOLS=1 -DASSIMP_BUILD_ASSIMP_VIEW=1'" - name: configure and build uses: lukka/run-cmake@v2 + env: + DXSDK_DIR: '${{ github.workspace }}/DX_SDK' + with: cmakeListsOrSettingsJson: CMakeListsTxtAdvanced cmakeListsTxtPath: '${{ github.workspace }}/CMakeLists.txt' - cmakeAppendedArgs: '-GNinja -DCMAKE_BUILD_TYPE=Release' + cmakeAppendedArgs: '-GNinja -DCMAKE_BUILD_TYPE=Release ${{ steps.windows_extra_cmake_args.outputs.args }}' buildWithCMakeArgs: '-- -v' buildDirectory: '${{ github.workspace }}/build/' - name: test run: cd build/bin && ./unit shell: bash + + - uses: actions/upload-artifact@v2 + if: matrix.name == 'windows-msvc' + with: + name: 'assimp-bins-${{ matrix.name }}-${{ github.sha }}' + path: build/bin diff --git a/CMakeLists.txt b/CMakeLists.txt index 6b350f6e3..5bf20dee5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -35,6 +35,7 @@ # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #---------------------------------------------------------------------- SET(CMAKE_POLICY_DEFAULT_CMP0074 NEW) +SET(CMAKE_POLICY_DEFAULT_CMP0092 NEW) CMAKE_MINIMUM_REQUIRED( VERSION 3.0 ) @@ -44,8 +45,8 @@ option(ASSIMP_HUNTER_ENABLED "Enable Hunter package manager support" OFF) IF(ASSIMP_HUNTER_ENABLED) include("cmake/HunterGate.cmake") HunterGate( - URL "https://github.com/ruslo/hunter/archive/v0.23.176.tar.gz" - SHA1 "2e9ae973d028660b735ac4c6142725ca36a0048a" + URL "https://github.com/cpp-pm/hunter/archive/v0.23.261.tar.gz" + SHA1 "1540dad7b97c849784a09e8c452ba811c9f71ba2" ) add_definitions(-DASSIMP_USE_HUNTER) @@ -257,7 +258,11 @@ IF ((CMAKE_C_COMPILER_ID MATCHES "GNU") AND NOT CMAKE_COMPILER_IS_MINGW) SET(LIBSTDC++_LIBRARIES -lstdc++) ELSEIF(MSVC) # enable multi-core compilation with MSVC - ADD_COMPILE_OPTIONS(/MP /bigobj /W4 /WX ) + IF( "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" ) # clang-cl + ADD_COMPILE_OPTIONS(/bigobj /W4 /WX ) + ELSE() # msvc + ADD_COMPILE_OPTIONS(/MP /bigobj /W4 /WX) + ENDIF() # disable "elements of array '' will be default initialized" warning on MSVC2013 IF(MSVC12) ADD_COMPILE_OPTIONS(/wd4351) @@ -357,6 +362,34 @@ IF (NOT TARGET uninstall) ADD_CUSTOM_TARGET(uninstall "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake") ENDIF() +# cmake configuration files +if(${BUILD_SHARED_LIBS}) + set(BUILD_LIB_TYPE SHARED) +else() + set(BUILD_LIB_TYPE STATIC) +endif() + +IF( UNIX ) + # Use GNUInstallDirs for Unix predefined directories + INCLUDE(GNUInstallDirs) + + SET( ASSIMP_LIB_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR}) + SET( ASSIMP_INCLUDE_INSTALL_DIR ${CMAKE_INSTALL_INCLUDEDIR}) + SET( ASSIMP_BIN_INSTALL_DIR ${CMAKE_INSTALL_BINDIR}) +ELSE() + # Cache these to allow the user to override them on non-Unix platforms + SET( ASSIMP_LIB_INSTALL_DIR "lib" CACHE STRING + "Path the built library files are installed to." ) + SET( ASSIMP_INCLUDE_INSTALL_DIR "include" CACHE STRING + "Path the header files are installed to." ) + SET( ASSIMP_BIN_INSTALL_DIR "bin" CACHE STRING + "Path the tool executables are installed to." ) + + SET(CMAKE_INSTALL_FULL_INCLUDEDIR ${CMAKE_INSTALL_PREFIX}/${ASSIMP_INCLUDE_INSTALL_DIR}) + SET(CMAKE_INSTALL_FULL_LIBDIR ${CMAKE_INSTALL_PREFIX}/${ASSIMP_LIB_INSTALL_DIR}) + SET(CMAKE_INSTALL_FULL_BINDIR ${CMAKE_INSTALL_PREFIX}/${ASSIMP_BIN_INSTALL_DIR}) +ENDIF() + IF(ASSIMP_HUNTER_ENABLED) set(CONFIG_INSTALL_DIR "lib/cmake/${PROJECT_NAME}") set(INCLUDE_INSTALL_DIR "include") @@ -395,34 +428,6 @@ IF(ASSIMP_HUNTER_ENABLED) DESTINATION "${CONFIG_INSTALL_DIR}" ) ELSE() - # cmake configuration files - if(${BUILD_SHARED_LIBS}) - set(BUILD_LIB_TYPE SHARED) - else() - set(BUILD_LIB_TYPE STATIC) - endif() - - IF( UNIX ) - # Use GNUInstallDirs for Unix predefined directories - INCLUDE(GNUInstallDirs) - - SET( ASSIMP_LIB_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR}) - SET( ASSIMP_INCLUDE_INSTALL_DIR ${CMAKE_INSTALL_INCLUDEDIR}) - SET( ASSIMP_BIN_INSTALL_DIR ${CMAKE_INSTALL_BINDIR}) - ELSE() - # Cache these to allow the user to override them on non-Unix platforms - SET( ASSIMP_LIB_INSTALL_DIR "lib" CACHE STRING - "Path the built library files are installed to." ) - SET( ASSIMP_INCLUDE_INSTALL_DIR "include" CACHE STRING - "Path the header files are installed to." ) - SET( ASSIMP_BIN_INSTALL_DIR "bin" CACHE STRING - "Path the tool executables are installed to." ) - - SET(CMAKE_INSTALL_FULL_INCLUDEDIR ${CMAKE_INSTALL_PREFIX}/${ASSIMP_INCLUDE_INSTALL_DIR}) - SET(CMAKE_INSTALL_FULL_LIBDIR ${CMAKE_INSTALL_PREFIX}/${ASSIMP_LIB_INSTALL_DIR}) - SET(CMAKE_INSTALL_FULL_BINDIR ${CMAKE_INSTALL_PREFIX}/${ASSIMP_BIN_INSTALL_DIR}) - ENDIF() - CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/assimp-config.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/assimp-config.cmake" @ONLY IMMEDIATE) CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/assimpTargets.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/assimpTargets.cmake" @ONLY IMMEDIATE) IF (is_multi_config) diff --git a/Readme.md b/Readme.md index dc54870a0..3f2edd402 100644 --- a/Readme.md +++ b/Readme.md @@ -4,8 +4,6 @@ A library to import and export various 3d-model-formats including scene-post-pro ### Current project status ### [![Financial Contributors on Open Collective](https://opencollective.com/assimp/all/badge.svg?label=financial+contributors)](https://opencollective.com/assimp) ![C/C++ CI](https://github.com/assimp/assimp/workflows/C/C++%20CI/badge.svg) -[![Linux Build Status](https://travis-ci.org/assimp/assimp.svg)](https://travis-ci.org/assimp/assimp) -[![Windows Build Status](https://ci.appveyor.com/api/projects/status/tmo433wax6u6cjp4?svg=true)](https://ci.appveyor.com/project/kimkulling/assimp) Coverity Scan Build Status diff --git a/cmake/assimp-hunter-config.cmake.in b/cmake/assimp-hunter-config.cmake.in index 34762ac54..8707602e5 100644 --- a/cmake/assimp-hunter-config.cmake.in +++ b/cmake/assimp-hunter-config.cmake.in @@ -2,7 +2,7 @@ find_package(RapidJSON CONFIG REQUIRED) find_package(ZLIB CONFIG REQUIRED) -find_package(utf8 CONFIG REQUIRED) +find_package(utf8cpp CONFIG REQUIRED) find_package(irrXML CONFIG REQUIRED) find_package(minizip CONFIG REQUIRED) find_package(openddlparser CONFIG REQUIRED) diff --git a/code/AssetLib/3DS/3DSHelper.h b/code/AssetLib/3DS/3DSHelper.h index 89c15f5f2..a2be07874 100644 --- a/code/AssetLib/3DS/3DSHelper.h +++ b/code/AssetLib/3DS/3DSHelper.h @@ -321,9 +321,10 @@ public: struct Face : public FaceWithSmoothingGroup { }; -#ifdef _WIN32 +#ifdef _MSC_VER +#pragma warning(push) #pragma warning(disable : 4315) -#endif +#endif // _MSC_VER // --------------------------------------------------------------------------- /** Helper structure representing a texture */ @@ -412,6 +413,10 @@ struct Texture { #include +#ifdef _MSC_VER +#pragma warning(pop) +#endif // _MSC_VER + // --------------------------------------------------------------------------- /** Helper structure representing a 3ds material */ struct Material { diff --git a/code/AssetLib/AC/ACLoader.cpp b/code/AssetLib/AC/ACLoader.cpp index ac1631a9b..4291ce8d1 100644 --- a/code/AssetLib/AC/ACLoader.cpp +++ b/code/AssetLib/AC/ACLoader.cpp @@ -471,26 +471,33 @@ aiNode *AC3DImporter::ConvertObjectSection(Object &object, ++node->mNumMeshes; } - switch ((*it).flags & 0xf) { + switch ((*it).GetType()) { // closed line - case 0x1: + case Surface::ClosedLine: needMat[idx].first += (unsigned int)(*it).entries.size(); needMat[idx].second += (unsigned int)(*it).entries.size() << 1u; break; // unclosed line - case 0x2: + case Surface::OpenLine: needMat[idx].first += (unsigned int)(*it).entries.size() - 1; needMat[idx].second += ((unsigned int)(*it).entries.size() - 1) << 1u; break; - // 0 == polygon, else unknown - default: - if ((*it).flags & 0xf) { - ASSIMP_LOG_WARN("AC3D: The type flag of a surface is unknown"); - (*it).flags &= ~(0xf); - } + // triangle strip + case Surface::TriangleStrip: + needMat[idx].first += (unsigned int)(*it).entries.size() - 2; + needMat[idx].second += ((unsigned int)(*it).entries.size() - 2) * 3; + break; + default: + // Coerce unknowns to a polygon and warn + ASSIMP_LOG_WARN_F("AC3D: The type flag of a surface is unknown: ", (*it).flags); + (*it).flags &= ~(Surface::Mask); + // fallthrough + + // polygon + case Surface::Polygon: // the number of faces increments by one, the number // of vertices by surface.numref. needMat[idx].first++; @@ -546,8 +553,8 @@ aiNode *AC3DImporter::ConvertObjectSection(Object &object, const Surface &src = *it; // closed polygon - unsigned int type = (*it).flags & 0xf; - if (!type) { + uint8_t type = (*it).GetType(); + if (type == Surface::Polygon) { aiFace &face = *faces++; face.mNumIndices = (unsigned int)src.entries.size(); if (0 != face.mNumIndices) { @@ -570,13 +577,71 @@ aiNode *AC3DImporter::ConvertObjectSection(Object &object, } } } + } else if (type == Surface::TriangleStrip) { + for (unsigned int i = 0; i < (unsigned int)src.entries.size() - 2; ++i) { + const Surface::SurfaceEntry &entry1 = src.entries[i]; + const Surface::SurfaceEntry &entry2 = src.entries[i + 1]; + const Surface::SurfaceEntry &entry3 = src.entries[i + 2]; + + // skip degenerate triangles + if (object.vertices[entry1.first] == object.vertices[entry2.first] || + object.vertices[entry1.first] == object.vertices[entry3.first] || + object.vertices[entry2.first] == object.vertices[entry3.first]) { + mesh->mNumFaces--; + mesh->mNumVertices -= 3; + continue; + } + + aiFace &face = *faces++; + face.mNumIndices = 3; + face.mIndices = new unsigned int[face.mNumIndices]; + face.mIndices[0] = cur++; + face.mIndices[1] = cur++; + face.mIndices[2] = cur++; + if (!(i & 1)) { + *vertices++ = object.vertices[entry1.first] + object.translation; + if (uv) { + uv->x = entry1.second.x; + uv->y = entry1.second.y; + ++uv; + } + *vertices++ = object.vertices[entry2.first] + object.translation; + if (uv) { + uv->x = entry2.second.x; + uv->y = entry2.second.y; + ++uv; + } + } else { + *vertices++ = object.vertices[entry2.first] + object.translation; + if (uv) { + uv->x = entry2.second.x; + uv->y = entry2.second.y; + ++uv; + } + *vertices++ = object.vertices[entry1.first] + object.translation; + if (uv) { + uv->x = entry1.second.x; + uv->y = entry1.second.y; + ++uv; + } + } + if (static_cast(vertices - mesh->mVertices) >= mesh->mNumVertices) { + throw DeadlyImportError("AC3D: Invalid number of vertices"); + } + *vertices++ = object.vertices[entry3.first] + object.translation; + if (uv) { + uv->x = entry3.second.x; + uv->y = entry3.second.y; + ++uv; + } + } } else { it2 = (*it).entries.begin(); // either a closed or an unclosed line unsigned int tmp = (unsigned int)(*it).entries.size(); - if (0x2 == type) --tmp; + if (Surface::OpenLine == type) --tmp; for (unsigned int m = 0; m < tmp; ++m) { aiFace &face = *faces++; @@ -599,7 +664,7 @@ aiNode *AC3DImporter::ConvertObjectSection(Object &object, ++uv; } - if (0x1 == type && tmp - 1 == m) { + if (Surface::ClosedLine == type && tmp - 1 == m) { // if this is a closed line repeat its beginning now it2 = (*it).entries.begin(); } else diff --git a/code/AssetLib/AC/ACLoader.h b/code/AssetLib/AC/ACLoader.h index e330ddf1b..92a5114f1 100644 --- a/code/AssetLib/AC/ACLoader.h +++ b/code/AssetLib/AC/ACLoader.h @@ -69,7 +69,10 @@ public: // Represents an AC3D material struct Material { Material() : - rgb(0.6f, 0.6f, 0.6f), spec(1.f, 1.f, 1.f), shin(0.f), trans(0.f) {} + rgb(0.6f, 0.6f, 0.6f), + spec(1.f, 1.f, 1.f), + shin(0.f), + trans(0.f) {} // base color of the material aiColor3D rgb; @@ -96,18 +99,43 @@ public: // Represents an AC3D surface struct Surface { Surface() : - mat(0), flags(0) {} + mat(0), + flags(0) {} unsigned int mat, flags; typedef std::pair SurfaceEntry; std::vector entries; + + // Type is low nibble of flags + enum Type : uint8_t { + Polygon = 0x0, + ClosedLine = 0x1, + OpenLine = 0x2, + TriangleStrip = 0x4, // ACC extension (TORCS and Speed Dreams) + + Mask = 0xf, + }; + + inline constexpr uint8_t GetType() const { return (flags & Mask); } }; // Represents an AC3D object struct Object { Object() : - type(World), name(""), children(), texture(""), texRepeat(1.f, 1.f), texOffset(0.0f, 0.0f), rotation(), translation(), vertices(), surfaces(), numRefs(0), subDiv(0), crease() {} + type(World), + name(""), + children(), + texture(""), + texRepeat(1.f, 1.f), + texOffset(0.0f, 0.0f), + rotation(), + translation(), + vertices(), + surfaces(), + numRefs(0), + subDiv(0), + crease() {} // Type description enum Type { diff --git a/code/AssetLib/Assbin/AssbinFileWriter.cpp b/code/AssetLib/Assbin/AssbinFileWriter.cpp index a879e637c..83a647a0b 100644 --- a/code/AssetLib/Assbin/AssbinFileWriter.cpp +++ b/code/AssetLib/Assbin/AssbinFileWriter.cpp @@ -60,10 +60,10 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include -#ifdef _WIN32 +#if _MSC_VER #pragma warning(push) #pragma warning(disable : 4706) -#endif // _WIN32 +#endif // _MSC_VER namespace Assimp { @@ -825,8 +825,8 @@ void DumpSceneToAssbin( AssbinFileWriter fileWriter(shortened, compressed); fileWriter.WriteBinaryDump(pFile, cmd, pIOSystem, pScene); } -#ifdef _WIN32 +#if _MSC_VER #pragma warning(pop) -#endif // _WIN32 +#endif // _MSC_VER } // end of namespace Assimp diff --git a/code/AssetLib/Assjson/cencode.h b/code/AssetLib/Assjson/cencode.h index 6bf76724e..a7893c434 100644 --- a/code/AssetLib/Assjson/cencode.h +++ b/code/AssetLib/Assjson/cencode.h @@ -8,9 +8,9 @@ For details, see http://sourceforge.net/projects/libb64 #ifndef BASE64_CENCODE_H #define BASE64_CENCODE_H -#ifdef _WIN32 +#ifdef _MSC_VER #pragma warning(disable : 4127 ) -#endif // _WIN32 +#endif // _MSC_VER typedef enum { diff --git a/code/AssetLib/Blender/BlenderTessellator.cpp b/code/AssetLib/Blender/BlenderTessellator.cpp index 3c1cd6ea8..3366d56c5 100644 --- a/code/AssetLib/Blender/BlenderTessellator.cpp +++ b/code/AssetLib/Blender/BlenderTessellator.cpp @@ -386,7 +386,14 @@ void BlenderTessellatorP2T::ReferencePoints( std::vector< Blender::PointP2T >& p // ------------------------------------------------------------------------------------------------ inline PointP2T& BlenderTessellatorP2T::GetActualPointStructure( p2t::Point& point ) const { +#if defined __clang__ +# pragma clang diagnostic push +# pragma clang diagnostic ignored "-Winvalid-offsetof" +#endif // __clang__ unsigned int pointOffset = offsetof( PointP2T, point2D ); +#if defined __clang__ +# pragma clang diagnostic pop +#endif PointP2T& pointStruct = *reinterpret_cast< PointP2T* >( reinterpret_cast< char* >( &point ) - pointOffset ); if ( pointStruct.magic != static_cast( BLEND_TESS_MAGIC ) ) { @@ -394,7 +401,6 @@ inline PointP2T& BlenderTessellatorP2T::GetActualPointStructure( p2t::Point& poi } return pointStruct; } - // ------------------------------------------------------------------------------------------------ void BlenderTessellatorP2T::MakeFacesFromTriangles( std::vector< p2t::Triangle* >& triangles ) const { diff --git a/code/AssetLib/FBX/FBXConverter.cpp b/code/AssetLib/FBX/FBXConverter.cpp index 041153080..c7bc57d97 100644 --- a/code/AssetLib/FBX/FBXConverter.cpp +++ b/code/AssetLib/FBX/FBXConverter.cpp @@ -1988,6 +1988,7 @@ void FBXConverter::SetTextureProperties(aiMaterial *out_mat, const TextureMap &_ TrySetTextureProperties(out_mat, _textures, "ShininessExponent", aiTextureType_SHININESS, mesh); TrySetTextureProperties(out_mat, _textures, "TransparencyFactor", aiTextureType_OPACITY, mesh); TrySetTextureProperties(out_mat, _textures, "EmissiveFactor", aiTextureType_EMISSIVE, mesh); + TrySetTextureProperties(out_mat, _textures, "ReflectionFactor", aiTextureType_METALNESS, mesh); //Maya counterparts TrySetTextureProperties(out_mat, _textures, "Maya|DiffuseTexture", aiTextureType_DIFFUSE, mesh); TrySetTextureProperties(out_mat, _textures, "Maya|NormalTexture", aiTextureType_NORMALS, mesh); diff --git a/code/AssetLib/FBX/FBXExporter.cpp b/code/AssetLib/FBX/FBXExporter.cpp index 3fc7701f5..20d166179 100644 --- a/code/AssetLib/FBX/FBXExporter.cpp +++ b/code/AssetLib/FBX/FBXExporter.cpp @@ -400,6 +400,65 @@ void FBXExporter::WriteHeaderExtension () ); } +// WriteGlobalSettings helpers + +void WritePropInt(const aiScene* scene, FBX::Node& p, const std::string& key, int defaultValue) +{ + int value; + if (scene->mMetaData->Get(key, value)) { + p.AddP70int(key, value); + } else { + p.AddP70int(key, defaultValue); + } +} + +void WritePropDouble(const aiScene* scene, FBX::Node& p, const std::string& key, double defaultValue) +{ + double value; + if (scene->mMetaData->Get(key, value)) { + p.AddP70double(key, value); + } else { + // fallback lookup float instead + float floatValue; + if (scene->mMetaData->Get(key, floatValue)) { + p.AddP70double(key, (double)floatValue); + } else { + p.AddP70double(key, defaultValue); + } + } +} + +void WritePropEnum(const aiScene* scene, FBX::Node& p, const std::string& key, int defaultValue) +{ + int value; + if (scene->mMetaData->Get(key, value)) { + p.AddP70enum(key, value); + } else { + p.AddP70enum(key, defaultValue); + } +} + +void WritePropColor(const aiScene* scene, FBX::Node& p, const std::string& key, const aiVector3D& defaultValue) +{ + aiVector3D value; + if (scene->mMetaData->Get(key, value)) { + // ai_real can be float or double, cast to avoid warnings + p.AddP70color(key, (double)value.x, (double)value.y, (double)value.z); + } else { + p.AddP70color(key, (double)defaultValue.x, (double)defaultValue.y, (double)defaultValue.z); + } +} + +void WritePropString(const aiScene* scene, FBX::Node& p, const std::string& key, const std::string& defaultValue) +{ + aiString value; // MetaData doesn't hold std::string + if (scene->mMetaData->Get(key, value)) { + p.AddP70string(key, value.C_Str()); + } else { + p.AddP70string(key, defaultValue); + } +} + void FBXExporter::WriteGlobalSettings () { if (!binary) { @@ -409,26 +468,26 @@ void FBXExporter::WriteGlobalSettings () gs.AddChild("Version", int32_t(1000)); FBX::Node p("Properties70"); - p.AddP70int("UpAxis", 1); - p.AddP70int("UpAxisSign", 1); - p.AddP70int("FrontAxis", 2); - p.AddP70int("FrontAxisSign", 1); - p.AddP70int("CoordAxis", 0); - p.AddP70int("CoordAxisSign", 1); - p.AddP70int("OriginalUpAxis", 1); - p.AddP70int("OriginalUpAxisSign", 1); - p.AddP70double("UnitScaleFactor", 1.0); - p.AddP70double("OriginalUnitScaleFactor", 1.0); - p.AddP70color("AmbientColor", 0.0, 0.0, 0.0); - p.AddP70string("DefaultCamera", "Producer Perspective"); - p.AddP70enum("TimeMode", 11); - p.AddP70enum("TimeProtocol", 2); - p.AddP70enum("SnapOnFrameMode", 0); + WritePropInt(mScene, p, "UpAxis", 1); + WritePropInt(mScene, p, "UpAxisSign", 1); + WritePropInt(mScene, p, "FrontAxis", 2); + WritePropInt(mScene, p, "FrontAxisSign", 1); + WritePropInt(mScene, p, "CoordAxis", 0); + WritePropInt(mScene, p, "CoordAxisSign", 1); + WritePropInt(mScene, p, "OriginalUpAxis", 1); + WritePropInt(mScene, p, "OriginalUpAxisSign", 1); + WritePropDouble(mScene, p, "UnitScaleFactor", 1.0); + WritePropDouble(mScene, p, "OriginalUnitScaleFactor", 1.0); + WritePropColor(mScene, p, "AmbientColor", aiVector3D((ai_real)0.0, (ai_real)0.0, (ai_real)0.0)); + WritePropString(mScene, p,"DefaultCamera", "Producer Perspective"); + WritePropEnum(mScene, p, "TimeMode", 11); + WritePropEnum(mScene, p, "TimeProtocol", 2); + WritePropEnum(mScene, p, "SnapOnFrameMode", 0); p.AddP70time("TimeSpanStart", 0); // TODO: animation support p.AddP70time("TimeSpanStop", FBX::SECOND); // TODO: animation support - p.AddP70double("CustomFrameRate", -1.0); + WritePropDouble(mScene, p, "CustomFrameRate", -1.0); p.AddP70("TimeMarker", "Compound", "", ""); // not sure what this is - p.AddP70int("CurrentTimeMarker", -1); + WritePropInt(mScene, p, "CurrentTimeMarker", -1); gs.AddChild(p); gs.Dump(outfile, binary, 0); diff --git a/code/AssetLib/IFC/IFCReaderGen_2x3.h b/code/AssetLib/IFC/IFCReaderGen_2x3.h index 8ae623dd8..f87f121b9 100644 --- a/code/AssetLib/IFC/IFCReaderGen_2x3.h +++ b/code/AssetLib/IFC/IFCReaderGen_2x3.h @@ -45,9 +45,10 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include "AssetLib/Step/STEPFile.h" -#ifdef _WIN32 +#ifdef _MSC_VER +# pragma warning(push) # pragma warning( disable : 4512 ) -#endif // _WIN32 +#endif // _MSC_VER namespace Assimp { namespace IFC { @@ -4372,4 +4373,8 @@ namespace STEP { } //! STEP } //! Assimp +#ifdef _MSC_VER +# pragma warning(pop) +#endif // _MSC_VER + #endif // INCLUDED_IFC_READER_GEN_H diff --git a/code/AssetLib/M3D/m3d.h b/code/AssetLib/M3D/m3d.h index 3d7a2564c..fb980b9c4 100644 --- a/code/AssetLib/M3D/m3d.h +++ b/code/AssetLib/M3D/m3d.h @@ -84,8 +84,10 @@ typedef uint16_t M3D_INDEX; #ifndef M3D_BONEMAXLEVEL #define M3D_BONEMAXLEVEL 8 #endif -#ifndef _MSC_VER +#if !defined(_MSC_VER) || defined(__clang__) +#ifndef _inline #define _inline __inline__ +#endif #define _pack __attribute__((packed)) #define _unused __attribute__((unused)) #else @@ -99,13 +101,13 @@ typedef uint16_t M3D_INDEX; #define _register #endif -#ifdef _WIN32 +#if _MSC_VER > 1920 && !defined(__clang__) # pragma warning(push) # pragma warning(disable : 4100 4127 4189 4505 4244 4403 4701 4703) # if (_MSC_VER > 1800 ) # pragma warning(disable : 5573 5744) # endif -#endif // _WIN32 +#endif // _MSC_VER /*** File format structures ***/ @@ -819,7 +821,7 @@ static unsigned char *_m3dstbi__convert_format(unsigned char *data, int img_n, i break; STBI__CASE(4, 3) { dest[0] = src[0], dest[1] = src[1], dest[2] = src[2]; } break; - default: STBI_ASSERT(0); + default: STBI_ASSERT(0); } #undef STBI__CASE } @@ -879,7 +881,7 @@ static _m3dstbi__uint16 *_m3dstbi__convert_format16(_m3dstbi__uint16 *data, int break; STBI__CASE(4, 3) { dest[0] = src[0], dest[1] = src[1], dest[2] = src[2]; } break; - default: STBI_ASSERT(0); + default: STBI_ASSERT(0); } #undef STBI__CASE } @@ -1356,13 +1358,13 @@ static int _m3dstbi__create_png_image_raw(_m3dstbi__png *a, unsigned char *raw, for (k = 0; k < filter_bytes; ++k) { switch (filter) { - case STBI__F_none: cur[k] = raw[k]; break; - case STBI__F_sub: cur[k] = raw[k]; break; - case STBI__F_up: cur[k] = STBI__BYTECAST(raw[k] + prior[k]); break; - case STBI__F_avg: cur[k] = STBI__BYTECAST(raw[k] + (prior[k] >> 1)); break; - case STBI__F_paeth: cur[k] = STBI__BYTECAST(raw[k] + _m3dstbi__paeth(0, prior[k], 0)); break; - case STBI__F_avg_first: cur[k] = raw[k]; break; - case STBI__F_paeth_first: cur[k] = raw[k]; break; + case STBI__F_none: cur[k] = raw[k]; break; + case STBI__F_sub: cur[k] = raw[k]; break; + case STBI__F_up: cur[k] = STBI__BYTECAST(raw[k] + prior[k]); break; + case STBI__F_avg: cur[k] = STBI__BYTECAST(raw[k] + (prior[k] >> 1)); break; + case STBI__F_paeth: cur[k] = STBI__BYTECAST(raw[k] + _m3dstbi__paeth(0, prior[k], 0)); break; + case STBI__F_avg_first: cur[k] = raw[k]; break; + case STBI__F_paeth_first: cur[k] = raw[k]; break; } } @@ -1392,21 +1394,21 @@ static int _m3dstbi__create_png_image_raw(_m3dstbi__png *a, unsigned char *raw, case f: \ for (k = 0; k < nk; ++k) switch (filter) { - case STBI__F_none: - memcpy(cur, raw, nk); - break; - STBI__CASE(STBI__F_sub) { cur[k] = STBI__BYTECAST(raw[k] + cur[k - filter_bytes]); } - break; - STBI__CASE(STBI__F_up) { cur[k] = STBI__BYTECAST(raw[k] + prior[k]); } - break; - STBI__CASE(STBI__F_avg) { cur[k] = STBI__BYTECAST(raw[k] + ((prior[k] + cur[k - filter_bytes]) >> 1)); } - break; - STBI__CASE(STBI__F_paeth) { cur[k] = STBI__BYTECAST(raw[k] + _m3dstbi__paeth(cur[k - filter_bytes], prior[k], prior[k - filter_bytes])); } - break; - STBI__CASE(STBI__F_avg_first) { cur[k] = STBI__BYTECAST(raw[k] + (cur[k - filter_bytes] >> 1)); } - break; - STBI__CASE(STBI__F_paeth_first) { cur[k] = STBI__BYTECAST(raw[k] + _m3dstbi__paeth(cur[k - filter_bytes], 0, 0)); } - break; + case STBI__F_none: + memcpy(cur, raw, nk); + break; + STBI__CASE(STBI__F_sub) { cur[k] = STBI__BYTECAST(raw[k] + cur[k - filter_bytes]); } + break; + STBI__CASE(STBI__F_up) { cur[k] = STBI__BYTECAST(raw[k] + prior[k]); } + break; + STBI__CASE(STBI__F_avg) { cur[k] = STBI__BYTECAST(raw[k] + ((prior[k] + cur[k - filter_bytes]) >> 1)); } + break; + STBI__CASE(STBI__F_paeth) { cur[k] = STBI__BYTECAST(raw[k] + _m3dstbi__paeth(cur[k - filter_bytes], prior[k], prior[k - filter_bytes])); } + break; + STBI__CASE(STBI__F_avg_first) { cur[k] = STBI__BYTECAST(raw[k] + (cur[k - filter_bytes] >> 1)); } + break; + STBI__CASE(STBI__F_paeth_first) { cur[k] = STBI__BYTECAST(raw[k] + _m3dstbi__paeth(cur[k - filter_bytes], 0, 0)); } + break; } #undef STBI__CASE raw += nk; @@ -1656,155 +1658,155 @@ static int _m3dstbi__parse_png_file(_m3dstbi__png *z, int scan, int req_comp) { for (;;) { _m3dstbi__pngchunk c = _m3dstbi__get_chunk_header(s); switch (c.type) { - case STBI__PNG_TYPE('C', 'g', 'B', 'I'): - _m3dstbi__skip(s, c.length); - break; - case STBI__PNG_TYPE('I', 'H', 'D', 'R'): { - int comp, filter; - if (!first) return _m3dstbi__err("multiple IHDR", "Corrupt PNG"); - first = 0; - if (c.length != 13) return _m3dstbi__err("bad IHDR len", "Corrupt PNG"); - s->img_x = _m3dstbi__get32be(s); - if (s->img_x > (1 << 24)) return _m3dstbi__err("too large", "Very large image (corrupt?)"); - s->img_y = _m3dstbi__get32be(s); - if (s->img_y > (1 << 24)) return _m3dstbi__err("too large", "Very large image (corrupt?)"); - z->depth = _m3dstbi__get8(s); - if (z->depth != 1 && z->depth != 2 && z->depth != 4 && z->depth != 8 && z->depth != 16) return _m3dstbi__err("1/2/4/8/16-bit only", "PNG not supported: 1/2/4/8/16-bit only"); - color = _m3dstbi__get8(s); - if (color > 6) return _m3dstbi__err("bad ctype", "Corrupt PNG"); - if (color == 3 && z->depth == 16) return _m3dstbi__err("bad ctype", "Corrupt PNG"); - if (color == 3) - pal_img_n = 3; - else if (color & 1) - return _m3dstbi__err("bad ctype", "Corrupt PNG"); - comp = _m3dstbi__get8(s); - if (comp) return _m3dstbi__err("bad comp method", "Corrupt PNG"); - filter = _m3dstbi__get8(s); - if (filter) return _m3dstbi__err("bad filter method", "Corrupt PNG"); - interlace = _m3dstbi__get8(s); - if (interlace > 1) return _m3dstbi__err("bad interlace method", "Corrupt PNG"); - if (!s->img_x || !s->img_y) return _m3dstbi__err("0-pixel image", "Corrupt PNG"); - if (!pal_img_n) { - s->img_n = (color & 2 ? 3 : 1) + (color & 4 ? 1 : 0); - if ((1 << 30) / s->img_x / s->img_n < s->img_y) return _m3dstbi__err("too large", "Image too large to decode"); - if (scan == STBI__SCAN_header) return 1; - } else { - s->img_n = 1; - if ((1 << 30) / s->img_x / 4 < s->img_y) return _m3dstbi__err("too large", "Corrupt PNG"); - } - break; + case STBI__PNG_TYPE('C', 'g', 'B', 'I'): + _m3dstbi__skip(s, c.length); + break; + case STBI__PNG_TYPE('I', 'H', 'D', 'R'): { + int comp, filter; + if (!first) return _m3dstbi__err("multiple IHDR", "Corrupt PNG"); + first = 0; + if (c.length != 13) return _m3dstbi__err("bad IHDR len", "Corrupt PNG"); + s->img_x = _m3dstbi__get32be(s); + if (s->img_x > (1 << 24)) return _m3dstbi__err("too large", "Very large image (corrupt?)"); + s->img_y = _m3dstbi__get32be(s); + if (s->img_y > (1 << 24)) return _m3dstbi__err("too large", "Very large image (corrupt?)"); + z->depth = _m3dstbi__get8(s); + if (z->depth != 1 && z->depth != 2 && z->depth != 4 && z->depth != 8 && z->depth != 16) return _m3dstbi__err("1/2/4/8/16-bit only", "PNG not supported: 1/2/4/8/16-bit only"); + color = _m3dstbi__get8(s); + if (color > 6) return _m3dstbi__err("bad ctype", "Corrupt PNG"); + if (color == 3 && z->depth == 16) return _m3dstbi__err("bad ctype", "Corrupt PNG"); + if (color == 3) + pal_img_n = 3; + else if (color & 1) + return _m3dstbi__err("bad ctype", "Corrupt PNG"); + comp = _m3dstbi__get8(s); + if (comp) return _m3dstbi__err("bad comp method", "Corrupt PNG"); + filter = _m3dstbi__get8(s); + if (filter) return _m3dstbi__err("bad filter method", "Corrupt PNG"); + interlace = _m3dstbi__get8(s); + if (interlace > 1) return _m3dstbi__err("bad interlace method", "Corrupt PNG"); + if (!s->img_x || !s->img_y) return _m3dstbi__err("0-pixel image", "Corrupt PNG"); + if (!pal_img_n) { + s->img_n = (color & 2 ? 3 : 1) + (color & 4 ? 1 : 0); + if ((1 << 30) / s->img_x / s->img_n < s->img_y) return _m3dstbi__err("too large", "Image too large to decode"); + if (scan == STBI__SCAN_header) return 1; + } else { + s->img_n = 1; + if ((1 << 30) / s->img_x / 4 < s->img_y) return _m3dstbi__err("too large", "Corrupt PNG"); } + break; + } - case STBI__PNG_TYPE('P', 'L', 'T', 'E'): { - if (first) return _m3dstbi__err("first not IHDR", "Corrupt PNG"); - if (c.length > 256 * 3) return _m3dstbi__err("invalid PLTE", "Corrupt PNG"); - pal_len = c.length / 3; - if (pal_len * 3 != c.length) return _m3dstbi__err("invalid PLTE", "Corrupt PNG"); - for (i = 0; i < pal_len; ++i) { - palette[i * 4 + 0] = _m3dstbi__get8(s); - palette[i * 4 + 1] = _m3dstbi__get8(s); - palette[i * 4 + 2] = _m3dstbi__get8(s); - palette[i * 4 + 3] = 255; - } - break; + case STBI__PNG_TYPE('P', 'L', 'T', 'E'): { + if (first) return _m3dstbi__err("first not IHDR", "Corrupt PNG"); + if (c.length > 256 * 3) return _m3dstbi__err("invalid PLTE", "Corrupt PNG"); + pal_len = c.length / 3; + if (pal_len * 3 != c.length) return _m3dstbi__err("invalid PLTE", "Corrupt PNG"); + for (i = 0; i < pal_len; ++i) { + palette[i * 4 + 0] = _m3dstbi__get8(s); + palette[i * 4 + 1] = _m3dstbi__get8(s); + palette[i * 4 + 2] = _m3dstbi__get8(s); + palette[i * 4 + 3] = 255; } + break; + } - case STBI__PNG_TYPE('t', 'R', 'N', 'S'): { - if (first) return _m3dstbi__err("first not IHDR", "Corrupt PNG"); - if (z->idata) return _m3dstbi__err("tRNS after IDAT", "Corrupt PNG"); - if (pal_img_n) { - if (scan == STBI__SCAN_header) { - s->img_n = 4; - return 1; - } - if (pal_len == 0) return _m3dstbi__err("tRNS before PLTE", "Corrupt PNG"); - if (c.length > pal_len) return _m3dstbi__err("bad tRNS len", "Corrupt PNG"); - pal_img_n = 4; - for (i = 0; i < c.length; ++i) - palette[i * 4 + 3] = _m3dstbi__get8(s); - } else { - if (!(s->img_n & 1)) return _m3dstbi__err("tRNS with alpha", "Corrupt PNG"); - if (c.length != (_m3dstbi__uint32)s->img_n * 2) return _m3dstbi__err("bad tRNS len", "Corrupt PNG"); - has_trans = 1; - if (z->depth == 16) { - for (k = 0; k < s->img_n; ++k) - tc16[k] = (_m3dstbi__uint16)_m3dstbi__get16be(s); - } else { - for (k = 0; k < s->img_n; ++k) - tc[k] = (unsigned char)(_m3dstbi__get16be(s) & 255) * _m3dstbi__depth_scale_table[z->depth]; - } - } - break; - } - - case STBI__PNG_TYPE('I', 'D', 'A', 'T'): { - if (first) return _m3dstbi__err("first not IHDR", "Corrupt PNG"); - if (pal_img_n && !pal_len) return _m3dstbi__err("no PLTE", "Corrupt PNG"); + case STBI__PNG_TYPE('t', 'R', 'N', 'S'): { + if (first) return _m3dstbi__err("first not IHDR", "Corrupt PNG"); + if (z->idata) return _m3dstbi__err("tRNS after IDAT", "Corrupt PNG"); + if (pal_img_n) { if (scan == STBI__SCAN_header) { - s->img_n = pal_img_n; + s->img_n = 4; return 1; } - if ((int)(ioff + c.length) < (int)ioff) return 0; - if (ioff + c.length > idata_limit) { - _m3dstbi__uint32 idata_limit_old = idata_limit; - unsigned char *p; - if (idata_limit == 0) idata_limit = c.length > 4096 ? c.length : 4096; - while (ioff + c.length > idata_limit) - idata_limit *= 2; - STBI_NOTUSED(idata_limit_old); - p = (unsigned char *)STBI_REALLOC_SIZED(z->idata, idata_limit_old, idata_limit); - if (p == NULL) return _m3dstbi__err("outofmem", "Out of memory"); - z->idata = p; + if (pal_len == 0) return _m3dstbi__err("tRNS before PLTE", "Corrupt PNG"); + if (c.length > pal_len) return _m3dstbi__err("bad tRNS len", "Corrupt PNG"); + pal_img_n = 4; + for (i = 0; i < c.length; ++i) + palette[i * 4 + 3] = _m3dstbi__get8(s); + } else { + if (!(s->img_n & 1)) return _m3dstbi__err("tRNS with alpha", "Corrupt PNG"); + if (c.length != (_m3dstbi__uint32)s->img_n * 2) return _m3dstbi__err("bad tRNS len", "Corrupt PNG"); + has_trans = 1; + if (z->depth == 16) { + for (k = 0; k < s->img_n; ++k) + tc16[k] = (_m3dstbi__uint16)_m3dstbi__get16be(s); + } else { + for (k = 0; k < s->img_n; ++k) + tc[k] = (unsigned char)(_m3dstbi__get16be(s) & 255) * _m3dstbi__depth_scale_table[z->depth]; } - if (!_m3dstbi__getn(s, z->idata + ioff, c.length)) return _m3dstbi__err("outofdata", "Corrupt PNG"); - ioff += c.length; - break; } + break; + } - case STBI__PNG_TYPE('I', 'E', 'N', 'D'): { - _m3dstbi__uint32 raw_len, bpl; - if (first) return _m3dstbi__err("first not IHDR", "Corrupt PNG"); - if (scan != STBI__SCAN_load) return 1; - if (z->idata == NULL) return _m3dstbi__err("no IDAT", "Corrupt PNG"); - bpl = (s->img_x * z->depth + 7) / 8; - raw_len = bpl * s->img_y * s->img_n /* pixels */ + s->img_y /* filter mode per row */; - z->expanded = (unsigned char *)_m3dstbi_zlib_decode_malloc_guesssize_headerflag((char *)z->idata, ioff, raw_len, (int *)&raw_len, 1); - if (z->expanded == NULL) return 0; - STBI_FREE(z->idata); - z->idata = NULL; - if ((req_comp == s->img_n + 1 && req_comp != 3 && !pal_img_n) || has_trans) - s->img_out_n = s->img_n + 1; - else - s->img_out_n = s->img_n; - if (!_m3dstbi__create_png_image(z, z->expanded, raw_len, s->img_out_n, z->depth, color, interlace)) return 0; - if (has_trans) { - if (z->depth == 16) { - if (!_m3dstbi__compute_transparency16(z, tc16, s->img_out_n)) return 0; - } else { - if (!_m3dstbi__compute_transparency(z, tc, s->img_out_n)) return 0; - } - } - if (pal_img_n) { - s->img_n = pal_img_n; - s->img_out_n = pal_img_n; - if (req_comp >= 3) s->img_out_n = req_comp; - if (!_m3dstbi__expand_png_palette(z, palette, pal_len, s->img_out_n)) - return 0; - } else if (has_trans) { - ++s->img_n; - } - STBI_FREE(z->expanded); - z->expanded = NULL; + case STBI__PNG_TYPE('I', 'D', 'A', 'T'): { + if (first) return _m3dstbi__err("first not IHDR", "Corrupt PNG"); + if (pal_img_n && !pal_len) return _m3dstbi__err("no PLTE", "Corrupt PNG"); + if (scan == STBI__SCAN_header) { + s->img_n = pal_img_n; return 1; } + if ((int)(ioff + c.length) < (int)ioff) return 0; + if (ioff + c.length > idata_limit) { + _m3dstbi__uint32 idata_limit_old = idata_limit; + unsigned char *p; + if (idata_limit == 0) idata_limit = c.length > 4096 ? c.length : 4096; + while (ioff + c.length > idata_limit) + idata_limit *= 2; + STBI_NOTUSED(idata_limit_old); + p = (unsigned char *)STBI_REALLOC_SIZED(z->idata, idata_limit_old, idata_limit); + if (p == NULL) return _m3dstbi__err("outofmem", "Out of memory"); + z->idata = p; + } + if (!_m3dstbi__getn(s, z->idata + ioff, c.length)) return _m3dstbi__err("outofdata", "Corrupt PNG"); + ioff += c.length; + break; + } - default: - if (first) return _m3dstbi__err("first not IHDR", "Corrupt PNG"); - if ((c.type & (1 << 29)) == 0) { - return _m3dstbi__err("invalid_chunk", "PNG not supported: unknown PNG chunk type"); + case STBI__PNG_TYPE('I', 'E', 'N', 'D'): { + _m3dstbi__uint32 raw_len, bpl; + if (first) return _m3dstbi__err("first not IHDR", "Corrupt PNG"); + if (scan != STBI__SCAN_load) return 1; + if (z->idata == NULL) return _m3dstbi__err("no IDAT", "Corrupt PNG"); + bpl = (s->img_x * z->depth + 7) / 8; + raw_len = bpl * s->img_y * s->img_n /* pixels */ + s->img_y /* filter mode per row */; + z->expanded = (unsigned char *)_m3dstbi_zlib_decode_malloc_guesssize_headerflag((char *)z->idata, ioff, raw_len, (int *)&raw_len, 1); + if (z->expanded == NULL) return 0; + STBI_FREE(z->idata); + z->idata = NULL; + if ((req_comp == s->img_n + 1 && req_comp != 3 && !pal_img_n) || has_trans) + s->img_out_n = s->img_n + 1; + else + s->img_out_n = s->img_n; + if (!_m3dstbi__create_png_image(z, z->expanded, raw_len, s->img_out_n, z->depth, color, interlace)) return 0; + if (has_trans) { + if (z->depth == 16) { + if (!_m3dstbi__compute_transparency16(z, tc16, s->img_out_n)) return 0; + } else { + if (!_m3dstbi__compute_transparency(z, tc, s->img_out_n)) return 0; } - _m3dstbi__skip(s, c.length); - break; + } + if (pal_img_n) { + s->img_n = pal_img_n; + s->img_out_n = pal_img_n; + if (req_comp >= 3) s->img_out_n = req_comp; + if (!_m3dstbi__expand_png_palette(z, palette, pal_len, s->img_out_n)) + return 0; + } else if (has_trans) { + ++s->img_n; + } + STBI_FREE(z->expanded); + z->expanded = NULL; + return 1; + } + + default: + if (first) return _m3dstbi__err("first not IHDR", "Corrupt PNG"); + if ((c.type & (1 << 29)) == 0) { + return _m3dstbi__err("invalid_chunk", "PNG not supported: unknown PNG chunk type"); + } + _m3dstbi__skip(s, c.length); + break; } _m3dstbi__get32be(s); } @@ -2281,18 +2283,18 @@ void _m3d_getpr(m3d_t *model, _unused m3dread_t readfilecb, _unused m3dfree_t fr } while (0) _inline static unsigned char *_m3d_getidx(unsigned char *data, char type, M3D_INDEX *idx) { switch (type) { - case 1: - *idx = data[0] > 253 ? (int8_t)data[0] : data[0]; - data++; - break; - case 2: - *idx = *((uint16_t *)data) > 65533 ? *((int16_t *)data) : *((uint16_t *)data); - data += 2; - break; - case 4: - *idx = *((int32_t *)data); - data += 4; - break; + case 1: + *idx = data[0] > 253 ? (int8_t)data[0] : data[0]; + data++; + break; + case 2: + *idx = *((uint16_t *)data) > 65533 ? *((int16_t *)data) : *((uint16_t *)data); + data += 2; + break; + case 4: + *idx = *((int32_t *)data); + data += 4; + break; } return data; } @@ -2680,27 +2682,27 @@ m3d_t *m3d_load(unsigned char *data, m3dread_t readfilecb, m3dfree_t freecb, m3d if (!m->prop) goto memerr; m->prop[j].type = n + (k == m3dpf_map && n < 128 ? 128 : 0); switch (k) { - case m3dpf_color: ptr = _m3d_gethex(ptr, &m->prop[j].value.color); break; - case m3dpf_uint8: - case m3dpf_uint16: - case m3dpf_uint32: ptr = _m3d_getint(ptr, &m->prop[j].value.num); break; - case m3dpf_float: ptr = _m3d_getfloat(ptr, &m->prop[j].value.fnum); break; - case m3dpf_map: - pe = _m3d_safestr(ptr, 0); - if (!pe || !*pe) goto asciiend; - m->prop[j].value.textureid = _m3d_gettx(model, readfilecb, freecb, pe); - if (model->errcode == M3D_ERR_ALLOC) { - M3D_FREE(pe); - goto memerr; - } - /* this error code only returned if readfilecb was specified */ - if (m->prop[j].value.textureid == M3D_UNDEF) { - M3D_LOG("Texture not found"); - M3D_LOG(pe); - m->numprop--; - } + case m3dpf_color: ptr = _m3d_gethex(ptr, &m->prop[j].value.color); break; + case m3dpf_uint8: + case m3dpf_uint16: + case m3dpf_uint32: ptr = _m3d_getint(ptr, &m->prop[j].value.num); break; + case m3dpf_float: ptr = _m3d_getfloat(ptr, &m->prop[j].value.fnum); break; + case m3dpf_map: + pe = _m3d_safestr(ptr, 0); + if (!pe || !*pe) goto asciiend; + m->prop[j].value.textureid = _m3d_gettx(model, readfilecb, freecb, pe); + if (model->errcode == M3D_ERR_ALLOC) { M3D_FREE(pe); - break; + goto memerr; + } + /* this error code only returned if readfilecb was specified */ + if (m->prop[j].value.textureid == M3D_UNDEF) { + M3D_LOG("Texture not found"); + M3D_LOG(pe); + m->numprop--; + } + M3D_FREE(pe); + break; } } else { M3D_LOG("Unknown material property in"); @@ -2833,48 +2835,48 @@ m3d_t *m3d_load(unsigned char *data, m3dread_t readfilecb, m3dfree_t freecb, m3d } if (*ptr == ']' || *ptr == '\r' || *ptr == '\n') break; switch (cd->a[((k - n) % (cd->p - n)) + n]) { - case m3dcp_mi_t: - mi = M3D_UNDEF; - if (*ptr != '\r' && *ptr != '\n') { - pe = _m3d_safestr(ptr, 0); - if (!pe || !*pe) goto asciiend; - for (n = 0; n < model->nummaterial; n++) - if (!strcmp(pe, model->material[n].name)) { - mi = (M3D_INDEX)n; - break; - } - if (mi == M3D_UNDEF && !(model->flags & M3D_FLG_MTLLIB)) { - mi = model->nummaterial++; - model->material = (m3dm_t *)M3D_REALLOC(model->material, - model->nummaterial * sizeof(m3dm_t)); - if (!model->material) goto memerr; - model->material[mi].name = pe; - model->material[mi].numprop = 1; - model->material[mi].prop = NULL; - } else - M3D_FREE(pe); - } - h->cmd[j].arg[k] = mi; - break; - case m3dcp_vc_t: - _m3d_getfloat(ptr, &w); - h->cmd[j].arg[k] = *((uint32_t *)&w); - break; - case m3dcp_va_t: - ptr = _m3d_getint(ptr, &h->cmd[j].arg[k]); - n = k + 1; - l += (h->cmd[j].arg[k] - 1) * (cd->p - k - 1); - h->cmd[j].arg = (uint32_t *)M3D_REALLOC(h->cmd[j].arg, l * sizeof(uint32_t)); - if (!h->cmd[j].arg) goto memerr; - memset(&h->cmd[j].arg[k + 1], 0, (l - k - 1) * sizeof(uint32_t)); - break; - case m3dcp_qi_t: - ptr = _m3d_getint(ptr, &h->cmd[j].arg[k]); - model->vertex[h->cmd[i].arg[k]].skinid = M3D_INDEXMAX; - break; - default: - ptr = _m3d_getint(ptr, &h->cmd[j].arg[k]); - break; + case m3dcp_mi_t: + mi = M3D_UNDEF; + if (*ptr != '\r' && *ptr != '\n') { + pe = _m3d_safestr(ptr, 0); + if (!pe || !*pe) goto asciiend; + for (n = 0; n < model->nummaterial; n++) + if (!strcmp(pe, model->material[n].name)) { + mi = (M3D_INDEX)n; + break; + } + if (mi == M3D_UNDEF && !(model->flags & M3D_FLG_MTLLIB)) { + mi = model->nummaterial++; + model->material = (m3dm_t *)M3D_REALLOC(model->material, + model->nummaterial * sizeof(m3dm_t)); + if (!model->material) goto memerr; + model->material[mi].name = pe; + model->material[mi].numprop = 1; + model->material[mi].prop = NULL; + } else + M3D_FREE(pe); + } + h->cmd[j].arg[k] = mi; + break; + case m3dcp_vc_t: + _m3d_getfloat(ptr, &w); + h->cmd[j].arg[k] = *((uint32_t *)&w); + break; + case m3dcp_va_t: + ptr = _m3d_getint(ptr, &h->cmd[j].arg[k]); + n = k + 1; + l += (h->cmd[j].arg[k] - 1) * (cd->p - k - 1); + h->cmd[j].arg = (uint32_t *)M3D_REALLOC(h->cmd[j].arg, l * sizeof(uint32_t)); + if (!h->cmd[j].arg) goto memerr; + memset(&h->cmd[j].arg[k + 1], 0, (l - k - 1) * sizeof(uint32_t)); + break; + case m3dcp_qi_t: + ptr = _m3d_getint(ptr, &h->cmd[j].arg[k]); + model->vertex[h->cmd[i].arg[k]].skinid = M3D_INDEXMAX; + break; + default: + ptr = _m3d_getint(ptr, &h->cmd[j].arg[k]); + break; } } } else { @@ -3205,22 +3207,22 @@ m3d_t *m3d_load(unsigned char *data, m3dread_t readfilecb, m3dfree_t freecb, m3d if (!model->tmap) goto memerr; for (i = 0, data += sizeof(m3dchunk_t); data < chunk; i++) { switch (model->vc_s) { - case 1: - model->tmap[i].u = (M3D_FLOAT)(data[0]) / (M3D_FLOAT)255.0; - model->tmap[i].v = (M3D_FLOAT)(data[1]) / (M3D_FLOAT)255.0; - break; - case 2: - model->tmap[i].u = (M3D_FLOAT)(*((int16_t *)(data + 0))) / (M3D_FLOAT)65535.0; - model->tmap[i].v = (M3D_FLOAT)(*((int16_t *)(data + 2))) / (M3D_FLOAT)65535.0; - break; - case 4: - model->tmap[i].u = (M3D_FLOAT)(*((float *)(data + 0))); - model->tmap[i].v = (M3D_FLOAT)(*((float *)(data + 4))); - break; - case 8: - model->tmap[i].u = (M3D_FLOAT)(*((double *)(data + 0))); - model->tmap[i].v = (M3D_FLOAT)(*((double *)(data + 8))); - break; + case 1: + model->tmap[i].u = (M3D_FLOAT)(data[0]) / (M3D_FLOAT)255.0; + model->tmap[i].v = (M3D_FLOAT)(data[1]) / (M3D_FLOAT)255.0; + break; + case 2: + model->tmap[i].u = (M3D_FLOAT)(*((int16_t *)(data + 0))) / (M3D_FLOAT)65535.0; + model->tmap[i].v = (M3D_FLOAT)(*((int16_t *)(data + 2))) / (M3D_FLOAT)65535.0; + break; + case 4: + model->tmap[i].u = (M3D_FLOAT)(*((float *)(data + 0))); + model->tmap[i].v = (M3D_FLOAT)(*((float *)(data + 4))); + break; + case 8: + model->tmap[i].u = (M3D_FLOAT)(*((double *)(data + 0))); + model->tmap[i].v = (M3D_FLOAT)(*((double *)(data + 8))); + break; } data += reclen; } @@ -3241,49 +3243,49 @@ m3d_t *m3d_load(unsigned char *data, m3dread_t readfilecb, m3dfree_t freecb, m3d memset(model->vertex, 0, model->numvertex * sizeof(m3dv_t)); for (i = 0, data += sizeof(m3dchunk_t); data < chunk && i < model->numvertex; i++) { switch (model->vc_s) { - case 1: - model->vertex[i].x = (M3D_FLOAT)((int8_t)data[0]) / (M3D_FLOAT)127.0; - model->vertex[i].y = (M3D_FLOAT)((int8_t)data[1]) / (M3D_FLOAT)127.0; - model->vertex[i].z = (M3D_FLOAT)((int8_t)data[2]) / (M3D_FLOAT)127.0; - model->vertex[i].w = (M3D_FLOAT)((int8_t)data[3]) / (M3D_FLOAT)127.0; - data += 4; - break; - case 2: - model->vertex[i].x = (M3D_FLOAT)(*((int16_t *)(data + 0))) / (M3D_FLOAT)32767.0; - model->vertex[i].y = (M3D_FLOAT)(*((int16_t *)(data + 2))) / (M3D_FLOAT)32767.0; - model->vertex[i].z = (M3D_FLOAT)(*((int16_t *)(data + 4))) / (M3D_FLOAT)32767.0; - model->vertex[i].w = (M3D_FLOAT)(*((int16_t *)(data + 6))) / (M3D_FLOAT)32767.0; - data += 8; - break; - case 4: - model->vertex[i].x = (M3D_FLOAT)(*((float *)(data + 0))); - model->vertex[i].y = (M3D_FLOAT)(*((float *)(data + 4))); - model->vertex[i].z = (M3D_FLOAT)(*((float *)(data + 8))); - model->vertex[i].w = (M3D_FLOAT)(*((float *)(data + 12))); - data += 16; - break; - case 8: - model->vertex[i].x = (M3D_FLOAT)(*((double *)(data + 0))); - model->vertex[i].y = (M3D_FLOAT)(*((double *)(data + 8))); - model->vertex[i].z = (M3D_FLOAT)(*((double *)(data + 16))); - model->vertex[i].w = (M3D_FLOAT)(*((double *)(data + 24))); - data += 32; - break; + case 1: + model->vertex[i].x = (M3D_FLOAT)((int8_t)data[0]) / (M3D_FLOAT)127.0; + model->vertex[i].y = (M3D_FLOAT)((int8_t)data[1]) / (M3D_FLOAT)127.0; + model->vertex[i].z = (M3D_FLOAT)((int8_t)data[2]) / (M3D_FLOAT)127.0; + model->vertex[i].w = (M3D_FLOAT)((int8_t)data[3]) / (M3D_FLOAT)127.0; + data += 4; + break; + case 2: + model->vertex[i].x = (M3D_FLOAT)(*((int16_t *)(data + 0))) / (M3D_FLOAT)32767.0; + model->vertex[i].y = (M3D_FLOAT)(*((int16_t *)(data + 2))) / (M3D_FLOAT)32767.0; + model->vertex[i].z = (M3D_FLOAT)(*((int16_t *)(data + 4))) / (M3D_FLOAT)32767.0; + model->vertex[i].w = (M3D_FLOAT)(*((int16_t *)(data + 6))) / (M3D_FLOAT)32767.0; + data += 8; + break; + case 4: + model->vertex[i].x = (M3D_FLOAT)(*((float *)(data + 0))); + model->vertex[i].y = (M3D_FLOAT)(*((float *)(data + 4))); + model->vertex[i].z = (M3D_FLOAT)(*((float *)(data + 8))); + model->vertex[i].w = (M3D_FLOAT)(*((float *)(data + 12))); + data += 16; + break; + case 8: + model->vertex[i].x = (M3D_FLOAT)(*((double *)(data + 0))); + model->vertex[i].y = (M3D_FLOAT)(*((double *)(data + 8))); + model->vertex[i].z = (M3D_FLOAT)(*((double *)(data + 16))); + model->vertex[i].w = (M3D_FLOAT)(*((double *)(data + 24))); + data += 32; + break; } switch (model->ci_s) { - case 1: - model->vertex[i].color = model->cmap ? model->cmap[data[0]] : 0; - data++; - break; - case 2: - model->vertex[i].color = model->cmap ? model->cmap[*((uint16_t *)data)] : 0; - data += 2; - break; - case 4: - model->vertex[i].color = *((uint32_t *)data); - data += 4; - break; - /* case 8: break; */ + case 1: + model->vertex[i].color = model->cmap ? model->cmap[data[0]] : 0; + data++; + break; + case 2: + model->vertex[i].color = model->cmap ? model->cmap[*((uint16_t *)data)] : 0; + data += 2; + break; + case 4: + model->vertex[i].color = *((uint32_t *)data); + data += 4; + break; + /* case 8: break; */ } model->vertex[i].skinid = M3D_UNDEF; data = _m3d_getidx(data, model->sk_s, &model->vertex[i].skinid); @@ -3412,55 +3414,55 @@ m3d_t *m3d_load(unsigned char *data, m3dread_t readfilecb, m3dfree_t freecb, m3d } } switch (k) { - case m3dpf_color: - switch (model->ci_s) { - case 1: - m->prop[i].value.color = model->cmap ? model->cmap[data[0]] : 0; - data++; - break; - case 2: - m->prop[i].value.color = model->cmap ? model->cmap[*((uint16_t *)data)] : 0; - data += 2; - break; - case 4: - m->prop[i].value.color = *((uint32_t *)data); - data += 4; - break; - } + case m3dpf_color: + switch (model->ci_s) { + case 1: + m->prop[i].value.color = model->cmap ? model->cmap[data[0]] : 0; + data++; break; - - case m3dpf_uint8: m->prop[i].value.num = *data++; break; - case m3dpf_uint16: - m->prop[i].value.num = *((uint16_t *)data); + case 2: + m->prop[i].value.color = model->cmap ? model->cmap[*((uint16_t *)data)] : 0; data += 2; break; - case m3dpf_uint32: - m->prop[i].value.num = *((uint32_t *)data); - data += 4; - break; - case m3dpf_float: - m->prop[i].value.fnum = *((float *)data); + case 4: + m->prop[i].value.color = *((uint32_t *)data); data += 4; break; + } + break; - case m3dpf_map: - M3D_GETSTR(name); - m->prop[i].value.textureid = _m3d_gettx(model, readfilecb, freecb, name); - if (model->errcode == M3D_ERR_ALLOC) goto memerr; - /* this error code only returned if readfilecb was specified */ - if (m->prop[i].value.textureid == M3D_UNDEF) { - M3D_LOG("Texture not found"); - M3D_LOG(m->name); - m->numprop--; - } - break; + case m3dpf_uint8: m->prop[i].value.num = *data++; break; + case m3dpf_uint16: + m->prop[i].value.num = *((uint16_t *)data); + data += 2; + break; + case m3dpf_uint32: + m->prop[i].value.num = *((uint32_t *)data); + data += 4; + break; + case m3dpf_float: + m->prop[i].value.fnum = *((float *)data); + data += 4; + break; - default: - M3D_LOG("Unknown material property in"); + case m3dpf_map: + M3D_GETSTR(name); + m->prop[i].value.textureid = _m3d_gettx(model, readfilecb, freecb, name); + if (model->errcode == M3D_ERR_ALLOC) goto memerr; + /* this error code only returned if readfilecb was specified */ + if (m->prop[i].value.textureid == M3D_UNDEF) { + M3D_LOG("Texture not found"); M3D_LOG(m->name); - model->errcode = M3D_ERR_UNKPROP; - data = chunk; - break; + m->numprop--; + } + break; + + default: + M3D_LOG("Unknown material property in"); + M3D_LOG(m->name); + model->errcode = M3D_ERR_UNKPROP; + data = chunk; + break; } } m->prop = (m3dp_t *)M3D_REALLOC(m->prop, m->numprop * sizeof(m3dp_t)); @@ -3568,45 +3570,45 @@ m3d_t *m3d_load(unsigned char *data, m3dread_t readfilecb, m3dfree_t freecb, m3d memset(h->cmd[i].arg, 0, cd->p * sizeof(uint32_t)); for (k = n = 0, l = cd->p; k < l; k++) switch (cd->a[((k - n) % (cd->p - n)) + n]) { - case m3dcp_mi_t: - h->cmd[i].arg[k] = M3D_NOTDEFINED; - M3D_GETSTR(name); - if (name) { - for (n = 0; n < model->nummaterial; n++) - if (!strcmp(name, model->material[n].name)) { - h->cmd[i].arg[k] = n; - break; - } - if (h->cmd[i].arg[k] == M3D_NOTDEFINED) model->errcode = M3D_ERR_MTRL; - } - break; - case m3dcp_vc_t: - f = 0.0f; - switch (model->vc_s) { - case 1: f = (float)((int8_t)data[0]) / 127; break; - case 2: f = (float)(*((int16_t *)(data + 0))) / 32767; break; - case 4: f = (float)(*((float *)(data + 0))); break; - case 8: f = (float)(*((double *)(data + 0))); break; - } - h->cmd[i].arg[k] = *((uint32_t *)&f); - data += model->vc_s; - break; - case m3dcp_hi_t: data = _m3d_getidx(data, model->hi_s, &h->cmd[i].arg[k]); break; - case m3dcp_fi_t: data = _m3d_getidx(data, model->fi_s, &h->cmd[i].arg[k]); break; - case m3dcp_ti_t: data = _m3d_getidx(data, model->ti_s, &h->cmd[i].arg[k]); break; - case m3dcp_qi_t: - case m3dcp_vi_t: data = _m3d_getidx(data, model->vi_s, &h->cmd[i].arg[k]); break; - case m3dcp_i1_t: data = _m3d_getidx(data, 1, &h->cmd[i].arg[k]); break; - case m3dcp_i2_t: data = _m3d_getidx(data, 2, &h->cmd[i].arg[k]); break; - case m3dcp_i4_t: data = _m3d_getidx(data, 4, &h->cmd[i].arg[k]); break; - case m3dcp_va_t: - data = _m3d_getidx(data, 4, &h->cmd[i].arg[k]); - n = k + 1; - l += (h->cmd[i].arg[k] - 1) * (cd->p - k - 1); - h->cmd[i].arg = (uint32_t *)M3D_REALLOC(h->cmd[i].arg, l * sizeof(uint32_t)); - if (!h->cmd[i].arg) goto memerr; - memset(&h->cmd[i].arg[k + 1], 0, (l - k - 1) * sizeof(uint32_t)); - break; + case m3dcp_mi_t: + h->cmd[i].arg[k] = M3D_NOTDEFINED; + M3D_GETSTR(name); + if (name) { + for (n = 0; n < model->nummaterial; n++) + if (!strcmp(name, model->material[n].name)) { + h->cmd[i].arg[k] = n; + break; + } + if (h->cmd[i].arg[k] == M3D_NOTDEFINED) model->errcode = M3D_ERR_MTRL; + } + break; + case m3dcp_vc_t: + f = 0.0f; + switch (model->vc_s) { + case 1: f = (float)((int8_t)data[0]) / 127; break; + case 2: f = (float)(*((int16_t *)(data + 0))) / 32767; break; + case 4: f = (float)(*((float *)(data + 0))); break; + case 8: f = (float)(*((double *)(data + 0))); break; + } + h->cmd[i].arg[k] = *((uint32_t *)&f); + data += model->vc_s; + break; + case m3dcp_hi_t: data = _m3d_getidx(data, model->hi_s, &h->cmd[i].arg[k]); break; + case m3dcp_fi_t: data = _m3d_getidx(data, model->fi_s, &h->cmd[i].arg[k]); break; + case m3dcp_ti_t: data = _m3d_getidx(data, model->ti_s, &h->cmd[i].arg[k]); break; + case m3dcp_qi_t: + case m3dcp_vi_t: data = _m3d_getidx(data, model->vi_s, &h->cmd[i].arg[k]); break; + case m3dcp_i1_t: data = _m3d_getidx(data, 1, &h->cmd[i].arg[k]); break; + case m3dcp_i2_t: data = _m3d_getidx(data, 2, &h->cmd[i].arg[k]); break; + case m3dcp_i4_t: data = _m3d_getidx(data, 4, &h->cmd[i].arg[k]); break; + case m3dcp_va_t: + data = _m3d_getidx(data, 4, &h->cmd[i].arg[k]); + n = k + 1; + l += (h->cmd[i].arg[k] - 1) * (cd->p - k - 1); + h->cmd[i].arg = (uint32_t *)M3D_REALLOC(h->cmd[i].arg, l * sizeof(uint32_t)); + if (!h->cmd[i].arg) goto memerr; + memset(&h->cmd[i].arg[k + 1], 0, (l - k - 1) * sizeof(uint32_t)); + break; } } } else @@ -3625,19 +3627,19 @@ m3d_t *m3d_load(unsigned char *data, m3dread_t readfilecb, m3dfree_t freecb, m3d if (model->ci_s && model->ci_s < 4 && !model->cmap) model->errcode = M3D_ERR_CMAP; k = 0; switch (model->ci_s) { - case 1: - k = model->cmap ? model->cmap[data[0]] : 0; - data++; - break; - case 2: - k = model->cmap ? model->cmap[*((uint16_t *)data)] : 0; - data += 2; - break; - case 4: - k = *((uint32_t *)data); - data += 4; - break; - /* case 8: break; */ + case 1: + k = model->cmap ? model->cmap[data[0]] : 0; + data++; + break; + case 2: + k = model->cmap ? model->cmap[*((uint16_t *)data)] : 0; + data += 2; + break; + case 4: + k = *((uint32_t *)data); + data += 4; + break; + /* case 8: break; */ } reclen = model->vi_s + model->si_s; i = model->numlabel; @@ -4265,16 +4267,16 @@ static uint32_t _m3d_cmapidx(uint32_t *cmap, uint32_t numcmap, uint32_t color) { /* add index to output */ static unsigned char *_m3d_addidx(unsigned char *out, char type, uint32_t idx) { switch (type) { - case 1: *out++ = (uint8_t)(idx); break; - case 2: - *((uint16_t *)out) = (uint16_t)(idx); - out += 2; - break; - case 4: - *((uint32_t *)out) = (uint32_t)(idx); - out += 4; - break; - /* case 0: case 8: break; */ + case 1: *out++ = (uint8_t)(idx); break; + case 2: + *((uint16_t *)out) = (uint16_t)(idx); + out += 2; + break; + case 4: + *((uint32_t *)out) = (uint32_t)(idx); + out += 4; + break; + /* case 0: case 8: break; */ } return out; } @@ -4286,26 +4288,26 @@ static void _m3d_round(int quality, m3dv_t *src, m3dv_t *dst) { if (src != dst) memcpy(dst, src, sizeof(m3dv_t)); /* round according to quality */ switch (quality) { - case M3D_EXP_INT8: - t = (int)(src->x * 127 + (src->x >= 0 ? (M3D_FLOAT)0.5 : (M3D_FLOAT)-0.5)); - dst->x = (M3D_FLOAT)t / (M3D_FLOAT)127.0; - t = (int)(src->y * 127 + (src->y >= 0 ? (M3D_FLOAT)0.5 : (M3D_FLOAT)-0.5)); - dst->y = (M3D_FLOAT)t / (M3D_FLOAT)127.0; - t = (int)(src->z * 127 + (src->z >= 0 ? (M3D_FLOAT)0.5 : (M3D_FLOAT)-0.5)); - dst->z = (M3D_FLOAT)t / (M3D_FLOAT)127.0; - t = (int)(src->w * 127 + (src->w >= 0 ? (M3D_FLOAT)0.5 : (M3D_FLOAT)-0.5)); - dst->w = (M3D_FLOAT)t / (M3D_FLOAT)127.0; - break; - case M3D_EXP_INT16: - t = (int)(src->x * 32767 + (src->x >= 0 ? (M3D_FLOAT)0.5 : (M3D_FLOAT)-0.5)); - dst->x = (M3D_FLOAT)t / (M3D_FLOAT)32767.0; - t = (int)(src->y * 32767 + (src->y >= 0 ? (M3D_FLOAT)0.5 : (M3D_FLOAT)-0.5)); - dst->y = (M3D_FLOAT)t / (M3D_FLOAT)32767.0; - t = (int)(src->z * 32767 + (src->z >= 0 ? (M3D_FLOAT)0.5 : (M3D_FLOAT)-0.5)); - dst->z = (M3D_FLOAT)t / (M3D_FLOAT)32767.0; - t = (int)(src->w * 32767 + (src->w >= 0 ? (M3D_FLOAT)0.5 : (M3D_FLOAT)-0.5)); - dst->w = (M3D_FLOAT)t / (M3D_FLOAT)32767.0; - break; + case M3D_EXP_INT8: + t = (int)(src->x * 127 + (src->x >= 0 ? (M3D_FLOAT)0.5 : (M3D_FLOAT)-0.5)); + dst->x = (M3D_FLOAT)t / (M3D_FLOAT)127.0; + t = (int)(src->y * 127 + (src->y >= 0 ? (M3D_FLOAT)0.5 : (M3D_FLOAT)-0.5)); + dst->y = (M3D_FLOAT)t / (M3D_FLOAT)127.0; + t = (int)(src->z * 127 + (src->z >= 0 ? (M3D_FLOAT)0.5 : (M3D_FLOAT)-0.5)); + dst->z = (M3D_FLOAT)t / (M3D_FLOAT)127.0; + t = (int)(src->w * 127 + (src->w >= 0 ? (M3D_FLOAT)0.5 : (M3D_FLOAT)-0.5)); + dst->w = (M3D_FLOAT)t / (M3D_FLOAT)127.0; + break; + case M3D_EXP_INT16: + t = (int)(src->x * 32767 + (src->x >= 0 ? (M3D_FLOAT)0.5 : (M3D_FLOAT)-0.5)); + dst->x = (M3D_FLOAT)t / (M3D_FLOAT)32767.0; + t = (int)(src->y * 32767 + (src->y >= 0 ? (M3D_FLOAT)0.5 : (M3D_FLOAT)-0.5)); + dst->y = (M3D_FLOAT)t / (M3D_FLOAT)32767.0; + t = (int)(src->z * 32767 + (src->z >= 0 ? (M3D_FLOAT)0.5 : (M3D_FLOAT)-0.5)); + dst->z = (M3D_FLOAT)t / (M3D_FLOAT)32767.0; + t = (int)(src->w * 32767 + (src->w >= 0 ? (M3D_FLOAT)0.5 : (M3D_FLOAT)-0.5)); + dst->w = (M3D_FLOAT)t / (M3D_FLOAT)32767.0; + break; } if (dst->x == (M3D_FLOAT)-0.0) dst->x = (M3D_FLOAT)0.0; if (dst->y == (M3D_FLOAT)-0.0) dst->y = (M3D_FLOAT)0.0; @@ -4482,23 +4484,23 @@ unsigned char *m3d_save(m3d_t *model, int quality, int flags, unsigned int *size cd = &m3d_commandtypes[cmd->type]; for (k = n = 0, l = cd->p; k < l; k++) switch (cd->a[((k - n) % (cd->p - n)) + n]) { - case m3dcp_mi_t: - if (!(flags & M3D_EXP_NOMATERIAL) && cmd->arg[k] < model->nummaterial) - mtrlidx[cmd->arg[k]] = 0; - break; - case m3dcp_ti_t: - if (!(flags & M3D_EXP_NOTXTCRD) && cmd->arg[k] < model->numtmap) - tmapidx[cmd->arg[k]] = 0; - break; - case m3dcp_qi_t: - case m3dcp_vi_t: - if (cmd->arg[k] < model->numvertex) - vrtxidx[cmd->arg[k]] = 0; - break; - case m3dcp_va_t: - n = k + 1; - l += (cmd->arg[k] - 1) * (cd->p - k - 1); - break; + case m3dcp_mi_t: + if (!(flags & M3D_EXP_NOMATERIAL) && cmd->arg[k] < model->nummaterial) + mtrlidx[cmd->arg[k]] = 0; + break; + case m3dcp_ti_t: + if (!(flags & M3D_EXP_NOTXTCRD) && cmd->arg[k] < model->numtmap) + tmapidx[cmd->arg[k]] = 0; + break; + case m3dcp_qi_t: + case m3dcp_vi_t: + if (cmd->arg[k] < model->numvertex) + vrtxidx[cmd->arg[k]] = 0; + break; + case m3dcp_va_t: + n = k + 1; + l += (cmd->arg[k] - 1) * (cd->p - k - 1); + break; } } } @@ -4613,22 +4615,22 @@ unsigned char *m3d_save(m3d_t *model, int quality, int flags, unsigned int *size for (i = 0; i < model->numtmap; i++) { if (tmapidx[i] == M3D_UNDEF) continue; switch (quality) { - case M3D_EXP_INT8: - l = (unsigned int)(model->tmap[i].u * 255); - tcoord.data.u = (M3D_FLOAT)l / (M3D_FLOAT)255.0; - l = (unsigned int)(model->tmap[i].v * 255); - tcoord.data.v = (M3D_FLOAT)l / (M3D_FLOAT)255.0; - break; - case M3D_EXP_INT16: - l = (unsigned int)(model->tmap[i].u * 65535); - tcoord.data.u = (M3D_FLOAT)l / (M3D_FLOAT)65535.0; - l = (unsigned int)(model->tmap[i].v * 65535); - tcoord.data.v = (M3D_FLOAT)l / (M3D_FLOAT)65535.0; - break; - default: - tcoord.data.u = model->tmap[i].u; - tcoord.data.v = model->tmap[i].v; - break; + case M3D_EXP_INT8: + l = (unsigned int)(model->tmap[i].u * 255); + tcoord.data.u = (M3D_FLOAT)l / (M3D_FLOAT)255.0; + l = (unsigned int)(model->tmap[i].v * 255); + tcoord.data.v = (M3D_FLOAT)l / (M3D_FLOAT)255.0; + break; + case M3D_EXP_INT16: + l = (unsigned int)(model->tmap[i].u * 65535); + tcoord.data.u = (M3D_FLOAT)l / (M3D_FLOAT)65535.0; + l = (unsigned int)(model->tmap[i].v * 65535); + tcoord.data.v = (M3D_FLOAT)l / (M3D_FLOAT)65535.0; + break; + default: + tcoord.data.u = model->tmap[i].u; + tcoord.data.v = model->tmap[i].v; + break; } if (flags & M3D_EXP_FLIPTXTCRD) tcoord.data.v = (M3D_FLOAT)1.0 - tcoord.data.v; @@ -4957,26 +4959,26 @@ unsigned char *m3d_save(m3d_t *model, int quality, int flags, unsigned int *size } } switch (k) { - case m3dpf_color: ptr += sprintf(ptr, "%s #%08x\r\n", sn, m->prop[i].value.color); break; - case m3dpf_uint8: - case m3dpf_uint16: - case m3dpf_uint32: ptr += sprintf(ptr, "%s %d\r\n", sn, m->prop[i].value.num); break; - case m3dpf_float: ptr += sprintf(ptr, "%s %g\r\n", sn, m->prop[i].value.fnum); break; - case m3dpf_map: - if (m->prop[i].value.textureid < model->numtexture && - model->texture[m->prop[i].value.textureid].name) { - sl = _m3d_safestr(model->texture[m->prop[i].value.textureid].name, 0); - if (!sl) { - setlocale(LC_NUMERIC, ol); - goto memerr; - } - if (*sl) - ptr += sprintf(ptr, "map_%s %s\r\n", sn, sl); - M3D_FREE(sn); - M3D_FREE(sl); - sl = NULL; + case m3dpf_color: ptr += sprintf(ptr, "%s #%08x\r\n", sn, m->prop[i].value.color); break; + case m3dpf_uint8: + case m3dpf_uint16: + case m3dpf_uint32: ptr += sprintf(ptr, "%s %d\r\n", sn, m->prop[i].value.num); break; + case m3dpf_float: ptr += sprintf(ptr, "%s %g\r\n", sn, m->prop[i].value.fnum); break; + case m3dpf_map: + if (m->prop[i].value.textureid < model->numtexture && + model->texture[m->prop[i].value.textureid].name) { + sl = _m3d_safestr(model->texture[m->prop[i].value.textureid].name, 0); + if (!sl) { + setlocale(LC_NUMERIC, ol); + goto memerr; } - break; + if (*sl) + ptr += sprintf(ptr, "map_%s %s\r\n", sn, sl); + M3D_FREE(sn); + M3D_FREE(sl); + sl = NULL; + } + break; } sn = NULL; } @@ -5100,16 +5102,16 @@ unsigned char *m3d_save(m3d_t *model, int quality, int flags, unsigned int *size len = (unsigned int)((uintptr_t)ptr + (uintptr_t)strlen(cd->key) + (uintptr_t)3); for (k = 0; k < cd->p; k++) switch (cd->a[k]) { - case m3dcp_mi_t: - if (cmd->arg[k] != M3D_NOTDEFINED) { - len += (unsigned int)strlen(model->material[cmd->arg[k]].name) + 1; - } - break; - case m3dcp_va_t: - len += cmd->arg[k] * (cd->p - k - 1) * 16; - k = cd->p; - break; - default: len += 16; break; + case m3dcp_mi_t: + if (cmd->arg[k] != M3D_NOTDEFINED) { + len += (unsigned int)strlen(model->material[cmd->arg[k]].name) + 1; + } + break; + case m3dcp_va_t: + len += cmd->arg[k] * (cd->p - k - 1) * 16; + k = cd->p; + break; + default: len += 16; break; } out = (unsigned char *)M3D_REALLOC(out, len); ptr += (uintptr_t)out; @@ -5120,25 +5122,25 @@ unsigned char *m3d_save(m3d_t *model, int quality, int flags, unsigned int *size ptr += sprintf(ptr, "%s", cd->key); for (k = n = 0, l = cd->p; k < l; k++) { switch (cd->a[((k - n) % (cd->p - n)) + n]) { - case m3dcp_mi_t: - if (cmd->arg[k] != M3D_NOTDEFINED) { - sn = _m3d_safestr(model->material[cmd->arg[k]].name, 0); - if (!sn) { - setlocale(LC_NUMERIC, ol); - goto memerr; - } - ptr += sprintf(ptr, " %s", sn); - M3D_FREE(sn); - sn = NULL; + case m3dcp_mi_t: + if (cmd->arg[k] != M3D_NOTDEFINED) { + sn = _m3d_safestr(model->material[cmd->arg[k]].name, 0); + if (!sn) { + setlocale(LC_NUMERIC, ol); + goto memerr; } - break; - case m3dcp_vc_t: ptr += sprintf(ptr, " %g", *((float *)&cmd->arg[k])); break; - case m3dcp_va_t: - ptr += sprintf(ptr, " %d[", cmd->arg[k]); - n = k + 1; - l += (cmd->arg[k] - 1) * (cd->p - k - 1); - break; - default: ptr += sprintf(ptr, " %d", cmd->arg[k]); break; + ptr += sprintf(ptr, " %s", sn); + M3D_FREE(sn); + sn = NULL; + } + break; + case m3dcp_vc_t: ptr += sprintf(ptr, " %g", *((float *)&cmd->arg[k])); break; + case m3dcp_va_t: + ptr += sprintf(ptr, " %d[", cmd->arg[k]); + n = k + 1; + l += (cmd->arg[k] - 1) * (cd->p - k - 1); + break; + default: ptr += sprintf(ptr, " %d", cmd->arg[k]); break; } } ptr += sprintf(ptr, "%s\r\n", l > cd->p ? " ]" : ""); @@ -5382,28 +5384,28 @@ unsigned char *m3d_save(m3d_t *model, int quality, int flags, unsigned int *size if (tmap[i].newidx == last) continue; last = tmap[i].newidx; switch (vc_s) { - case 1: - *out++ = (uint8_t)(tmap[i].data.u * 255); - *out++ = (uint8_t)(tmap[i].data.v * 255); - break; - case 2: - *((uint16_t *)out) = (uint16_t)(tmap[i].data.u * 65535); - out += 2; - *((uint16_t *)out) = (uint16_t)(tmap[i].data.v * 65535); - out += 2; - break; - case 4: - *((float *)out) = tmap[i].data.u; - out += 4; - *((float *)out) = tmap[i].data.v; - out += 4; - break; - case 8: - *((double *)out) = tmap[i].data.u; - out += 8; - *((double *)out) = tmap[i].data.v; - out += 8; - break; + case 1: + *out++ = (uint8_t)(tmap[i].data.u * 255); + *out++ = (uint8_t)(tmap[i].data.v * 255); + break; + case 2: + *((uint16_t *)out) = (uint16_t)(tmap[i].data.u * 65535); + out += 2; + *((uint16_t *)out) = (uint16_t)(tmap[i].data.v * 65535); + out += 2; + break; + case 4: + *((float *)out) = tmap[i].data.u; + out += 4; + *((float *)out) = tmap[i].data.v; + out += 4; + break; + case 8: + *((double *)out) = tmap[i].data.u; + out += 8; + *((double *)out) = tmap[i].data.v; + out += 8; + break; } } *length = (uint32_t)((uintptr_t)out - (uintptr_t)((uint8_t *)h + len)); @@ -5423,54 +5425,54 @@ unsigned char *m3d_save(m3d_t *model, int quality, int flags, unsigned int *size if (vrtx[i].newidx == last) continue; last = vrtx[i].newidx; switch (vc_s) { - case 1: - *out++ = (int8_t)(vrtx[i].data.x * 127); - *out++ = (int8_t)(vrtx[i].data.y * 127); - *out++ = (int8_t)(vrtx[i].data.z * 127); - *out++ = (int8_t)(vrtx[i].data.w * 127); - break; - case 2: - *((int16_t *)out) = (int16_t)(vrtx[i].data.x * 32767); - out += 2; - *((int16_t *)out) = (int16_t)(vrtx[i].data.y * 32767); - out += 2; - *((int16_t *)out) = (int16_t)(vrtx[i].data.z * 32767); - out += 2; - *((int16_t *)out) = (int16_t)(vrtx[i].data.w * 32767); - out += 2; - break; - case 4: - memcpy(out, &vrtx[i].data.x, sizeof(float)); - out += 4; - memcpy(out, &vrtx[i].data.y, sizeof(float)); - out += 4; - memcpy(out, &vrtx[i].data.z, sizeof(float)); - out += 4; - memcpy(out, &vrtx[i].data.w, sizeof(float)); - out += 4; - break; - case 8: - *((double *)out) = vrtx[i].data.x; - out += 8; - *((double *)out) = vrtx[i].data.y; - out += 8; - *((double *)out) = vrtx[i].data.z; - out += 8; - *((double *)out) = vrtx[i].data.w; - out += 8; - break; + case 1: + *out++ = (int8_t)(vrtx[i].data.x * 127); + *out++ = (int8_t)(vrtx[i].data.y * 127); + *out++ = (int8_t)(vrtx[i].data.z * 127); + *out++ = (int8_t)(vrtx[i].data.w * 127); + break; + case 2: + *((int16_t *)out) = (int16_t)(vrtx[i].data.x * 32767); + out += 2; + *((int16_t *)out) = (int16_t)(vrtx[i].data.y * 32767); + out += 2; + *((int16_t *)out) = (int16_t)(vrtx[i].data.z * 32767); + out += 2; + *((int16_t *)out) = (int16_t)(vrtx[i].data.w * 32767); + out += 2; + break; + case 4: + memcpy(out, &vrtx[i].data.x, sizeof(float)); + out += 4; + memcpy(out, &vrtx[i].data.y, sizeof(float)); + out += 4; + memcpy(out, &vrtx[i].data.z, sizeof(float)); + out += 4; + memcpy(out, &vrtx[i].data.w, sizeof(float)); + out += 4; + break; + case 8: + *((double *)out) = vrtx[i].data.x; + out += 8; + *((double *)out) = vrtx[i].data.y; + out += 8; + *((double *)out) = vrtx[i].data.z; + out += 8; + *((double *)out) = vrtx[i].data.w; + out += 8; + break; } idx = _m3d_cmapidx(cmap, numcmap, vrtx[i].data.color); switch (ci_s) { - case 1: *out++ = (uint8_t)(idx); break; - case 2: - *((uint16_t *)out) = (uint16_t)(idx); - out += 2; - break; - case 4: - *((uint32_t *)out) = vrtx[i].data.color; - out += 4; - break; + case 1: *out++ = (uint8_t)(idx); break; + case 2: + *((uint16_t *)out) = (uint16_t)(idx); + out += 2; + break; + case 4: + *((uint32_t *)out) = vrtx[i].data.color; + out += 4; + break; } out = _m3d_addidx(out, sk_s, vrtx[i].data.skinid); } @@ -5508,19 +5510,19 @@ unsigned char *m3d_save(m3d_t *model, int quality, int flags, unsigned int *size j++) weights[j] = (uint8_t)(skin[i].data.weight[j] * 255); switch (nb_s) { - case 1: weights[0] = 255; break; - case 2: - *((uint16_t *)out) = *((uint16_t *)&weights[0]); - out += 2; - break; - case 4: - *((uint32_t *)out) = *((uint32_t *)&weights[0]); - out += 4; - break; - case 8: - *((uint64_t *)out) = *((uint64_t *)&weights[0]); - out += 8; - break; + case 1: weights[0] = 255; break; + case 2: + *((uint16_t *)out) = *((uint16_t *)&weights[0]); + out += 2; + break; + case 4: + *((uint32_t *)out) = *((uint32_t *)&weights[0]); + out += 4; + break; + case 8: + *((uint64_t *)out) = *((uint64_t *)&weights[0]); + out += 8; + break; } for (j = 0; j < (uint32_t)nb_s && skin[i].data.boneid[j] != M3D_UNDEF && weights[j]; j++) { out = _m3d_addidx(out, bi_s, skin[i].data.boneid[j]); @@ -5559,41 +5561,41 @@ unsigned char *m3d_save(m3d_t *model, int quality, int flags, unsigned int *size if (k == 256) continue; *out++ = m->prop[i].type; switch (k) { - case m3dpf_color: - if (!(flags & M3D_EXP_NOCMAP)) { - idx = _m3d_cmapidx(cmap, numcmap, m->prop[i].value.color); - switch (ci_s) { - case 1: *out++ = (uint8_t)(idx); break; - case 2: - *((uint16_t *)out) = (uint16_t)(idx); - out += 2; - break; - case 4: - *((uint32_t *)out) = (uint32_t)(m->prop[i].value.color); - out += 4; - break; - } - } else - out--; - break; - case m3dpf_uint8: *out++ = m->prop[i].value.num; break; - case m3dpf_uint16: - *((uint16_t *)out) = m->prop[i].value.num; - out += 2; - break; - case m3dpf_uint32: - *((uint32_t *)out) = m->prop[i].value.num; - out += 4; - break; - case m3dpf_float: - *((float *)out) = m->prop[i].value.fnum; - out += 4; - break; + case m3dpf_color: + if (!(flags & M3D_EXP_NOCMAP)) { + idx = _m3d_cmapidx(cmap, numcmap, m->prop[i].value.color); + switch (ci_s) { + case 1: *out++ = (uint8_t)(idx); break; + case 2: + *((uint16_t *)out) = (uint16_t)(idx); + out += 2; + break; + case 4: + *((uint32_t *)out) = (uint32_t)(m->prop[i].value.color); + out += 4; + break; + } + } else + out--; + break; + case m3dpf_uint8: *out++ = m->prop[i].value.num; break; + case m3dpf_uint16: + *((uint16_t *)out) = m->prop[i].value.num; + out += 2; + break; + case m3dpf_uint32: + *((uint32_t *)out) = m->prop[i].value.num; + out += 4; + break; + case m3dpf_float: + *((float *)out) = m->prop[i].value.fnum; + out += 4; + break; - case m3dpf_map: - idx = _m3d_stridx(str, numstr, model->texture[m->prop[i].value.textureid].name); - out = _m3d_addidx(out, si_s, idx); - break; + case m3dpf_map: + idx = _m3d_stridx(str, numstr, model->texture[m->prop[i].value.textureid].name); + out = _m3d_addidx(out, si_s, idx); + break; } } *length = (uint32_t)((uintptr_t)out - (uintptr_t)((uint8_t *)h + len)); @@ -5687,40 +5689,40 @@ unsigned char *m3d_save(m3d_t *model, int quality, int flags, unsigned int *size if (cmd->type > 127) *out++ = (cmd->type >> 7) & 0xff; for (k = n = 0, l = cd->p; k < l; k++) { switch (cd->a[((k - n) % (cd->p - n)) + n]) { - case m3dcp_mi_t: - out = _m3d_addidx(out, si_s, cmd->arg[k] < model->nummaterial ? _m3d_stridx(str, numstr, model->material[cmd->arg[k]].name) : 0); + case m3dcp_mi_t: + out = _m3d_addidx(out, si_s, cmd->arg[k] < model->nummaterial ? _m3d_stridx(str, numstr, model->material[cmd->arg[k]].name) : 0); + break; + case m3dcp_vc_t: + min_x = *((float *)&cmd->arg[k]); + switch (vc_s) { + case 1: *out++ = (int8_t)(min_x * 127); break; + case 2: + *((int16_t *)out) = (int16_t)(min_x * 32767); + out += 2; break; - case m3dcp_vc_t: - min_x = *((float *)&cmd->arg[k]); - switch (vc_s) { - case 1: *out++ = (int8_t)(min_x * 127); break; - case 2: - *((int16_t *)out) = (int16_t)(min_x * 32767); - out += 2; - break; - case 4: - *((float *)out) = min_x; - out += 4; - break; - case 8: - *((double *)out) = min_x; - out += 8; - break; - } + case 4: + *((float *)out) = min_x; + out += 4; break; - case m3dcp_hi_t: out = _m3d_addidx(out, hi_s, cmd->arg[k]); break; - case m3dcp_fi_t: out = _m3d_addidx(out, fi_s, cmd->arg[k]); break; - case m3dcp_ti_t: out = _m3d_addidx(out, ti_s, cmd->arg[k]); break; - case m3dcp_qi_t: - case m3dcp_vi_t: out = _m3d_addidx(out, vi_s, cmd->arg[k]); break; - case m3dcp_i1_t: out = _m3d_addidx(out, 1, cmd->arg[k]); break; - case m3dcp_i2_t: out = _m3d_addidx(out, 2, cmd->arg[k]); break; - case m3dcp_i4_t: out = _m3d_addidx(out, 4, cmd->arg[k]); break; - case m3dcp_va_t: - out = _m3d_addidx(out, 4, cmd->arg[k]); - n = k + 1; - l += (cmd->arg[k] - 1) * (cd->p - k - 1); + case 8: + *((double *)out) = min_x; + out += 8; break; + } + break; + case m3dcp_hi_t: out = _m3d_addidx(out, hi_s, cmd->arg[k]); break; + case m3dcp_fi_t: out = _m3d_addidx(out, fi_s, cmd->arg[k]); break; + case m3dcp_ti_t: out = _m3d_addidx(out, ti_s, cmd->arg[k]); break; + case m3dcp_qi_t: + case m3dcp_vi_t: out = _m3d_addidx(out, vi_s, cmd->arg[k]); break; + case m3dcp_i1_t: out = _m3d_addidx(out, 1, cmd->arg[k]); break; + case m3dcp_i2_t: out = _m3d_addidx(out, 2, cmd->arg[k]); break; + case m3dcp_i4_t: out = _m3d_addidx(out, 4, cmd->arg[k]); break; + case m3dcp_va_t: + out = _m3d_addidx(out, 4, cmd->arg[k]); + n = k + 1; + l += (cmd->arg[k] - 1) * (cd->p - k - 1); + break; } } } @@ -5754,15 +5756,15 @@ unsigned char *m3d_save(m3d_t *model, int quality, int flags, unsigned int *size out = _m3d_addidx(out, si_s, _m3d_stridx(str, numstr, model->label[l].lang)); idx = _m3d_cmapidx(cmap, numcmap, model->label[i].color); switch (ci_s) { - case 1: *out++ = (uint8_t)(idx); break; - case 2: - *((uint16_t *)out) = (uint16_t)(idx); - out += 2; - break; - case 4: - *((uint32_t *)out) = model->label[i].color; - out += 4; - break; + case 1: *out++ = (uint8_t)(idx); break; + case 2: + *((uint16_t *)out) = (uint16_t)(idx); + out += 2; + break; + case 4: + *((uint32_t *)out) = model->label[i].color; + out += 4; + break; } } out = _m3d_addidx(out, vi_s, vrtxidx[model->label[i].vertexid]); @@ -5887,7 +5889,7 @@ unsigned char *m3d_save(m3d_t *model, int quality, int flags, unsigned int *size } #endif -#endif +#endif /* M3D_IMPLEMENTATION */ #ifdef __cplusplus } @@ -6145,11 +6147,11 @@ public: #endif /* impl */ } // namespace M3D -#ifdef _WIN32 -# pragma warning(pop) -#endif // _WIN32 +#endif /* M3D_CPPWRAPPER */ -#endif +#ifdef _MSC_VER +# pragma warning(pop) +#endif /* _MSC_VER */ #endif /* __cplusplus */ diff --git a/code/AssetLib/MDL/HalfLife/HL1MDLLoader.cpp b/code/AssetLib/MDL/HalfLife/HL1MDLLoader.cpp index 2bb7b42ee..c57b43c11 100644 --- a/code/AssetLib/MDL/HalfLife/HL1MDLLoader.cpp +++ b/code/AssetLib/MDL/HalfLife/HL1MDLLoader.cpp @@ -68,9 +68,9 @@ namespace Assimp { namespace MDL { namespace HalfLife { -#ifdef _WIN32 -# pragma warning(disable : 4706) -#endif // _WIN32 +#ifdef _MSC_VER +# pragma warning(disable : 4706) +#endif // _MSC_VER // ------------------------------------------------------------------------------------------------ HL1MDLLoader::HL1MDLLoader( diff --git a/code/AssetLib/MMD/MMDPmxParser.cpp b/code/AssetLib/MMD/MMDPmxParser.cpp index 6421f38cb..7ac5ac399 100644 --- a/code/AssetLib/MMD/MMDPmxParser.cpp +++ b/code/AssetLib/MMD/MMDPmxParser.cpp @@ -43,7 +43,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include "MMDPmxParser.h" #include #ifdef ASSIMP_USE_HUNTER -# include +# include #else # include "../contrib/utf8cpp/source/utf8.h" #endif diff --git a/code/AssetLib/SIB/SIBImporter.cpp b/code/AssetLib/SIB/SIBImporter.cpp index b36c6d9b1..33beb0087 100644 --- a/code/AssetLib/SIB/SIBImporter.cpp +++ b/code/AssetLib/SIB/SIBImporter.cpp @@ -59,7 +59,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include #include #ifdef ASSIMP_USE_HUNTER -#include +#include #else //# include "../contrib/ConvertUTF/ConvertUTF.h" #include "../contrib/utf8cpp/source/utf8.h" diff --git a/code/AssetLib/STEPParser/STEPFileEncoding.cpp b/code/AssetLib/STEPParser/STEPFileEncoding.cpp index d917c28f3..1d1150c08 100644 --- a/code/AssetLib/STEPParser/STEPFileEncoding.cpp +++ b/code/AssetLib/STEPParser/STEPFileEncoding.cpp @@ -46,7 +46,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include "STEPFileEncoding.h" #include #ifdef ASSIMP_USE_HUNTER -# include +# include #else # include #endif diff --git a/code/AssetLib/Step/STEPFile.h b/code/AssetLib/Step/STEPFile.h index 1448c107f..3f4fe942b 100644 --- a/code/AssetLib/Step/STEPFile.h +++ b/code/AssetLib/Step/STEPFile.h @@ -54,10 +54,10 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include -#ifdef _WIN32 +#ifdef _MSC_VER # pragma warning(push) # pragma warning(disable : 4127 4456 4245 4512 ) -#endif // _WIN32 +#endif // _MSC_VER // #if _MSC_VER > 1500 || (defined __GNUC___) @@ -130,8 +130,8 @@ namespace STEP { * coupled with a line number. */ // ------------------------------------------------------------------------------- struct SyntaxError : DeadlyImportError { - enum { - LINE_NOT_SPECIFIED = 0xffffffffffffffffLL + enum : uint64_t { + LINE_NOT_SPECIFIED = 0xfffffffffffffffLL }; SyntaxError(const std::string &s, uint64_t line = LINE_NOT_SPECIFIED); @@ -143,8 +143,8 @@ struct SyntaxError : DeadlyImportError { * It is typically coupled with both an entity id and a line number.*/ // ------------------------------------------------------------------------------- struct TypeError : DeadlyImportError { - enum { - ENTITY_NOT_SPECIFIED = 0xffffffffffffffffLL, + enum : uint64_t { + ENTITY_NOT_SPECIFIED = 0xffffffffffffffffUL, ENTITY_NOT_SPECIFIED_32 = 0x00000000ffffffff }; @@ -727,7 +727,7 @@ struct InternGenericConvert> { } }; -#ifdef _WIN32 +#if _MSC_VER > 1920 #pragma warning(push) #pragma warning(disable : 4127) #endif // _WIN32 @@ -960,9 +960,9 @@ private: const EXPRESS::ConversionSchema *schema; }; -#ifdef _WIN32 +#ifdef _MSC_VER #pragma warning(pop) -#endif // _WIN32 +#endif // _MSC_VER } // namespace STEP diff --git a/code/AssetLib/X3D/FIReader.cpp b/code/AssetLib/X3D/FIReader.cpp index de9f035f2..c1b439bda 100644 --- a/code/AssetLib/X3D/FIReader.cpp +++ b/code/AssetLib/X3D/FIReader.cpp @@ -61,7 +61,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include #include #ifdef ASSIMP_USE_HUNTER -# include +# include #else # include "../contrib/utf8cpp/source/utf8.h" #endif diff --git a/code/AssetLib/glTF/glTFAsset.h b/code/AssetLib/glTF/glTFAsset.h index d6d1dd372..15947c8c6 100644 --- a/code/AssetLib/glTF/glTFAsset.h +++ b/code/AssetLib/glTF/glTFAsset.h @@ -1,4 +1,4 @@ -/* +/* Open Asset Import Library (assimp) ---------------------------------------------------------------------- @@ -49,7 +49,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #ifndef GLTFASSET_H_INC #define GLTFASSET_H_INC -#ifndef ASSIMP_BUILD_NO_GLTF_IMPORTER +#if !defined(ASSIMP_BUILD_NO_GLTF_IMPORTER) && !defined(ASSIMP_BUILD_NO_GLTF1_IMPORTER) #include diff --git a/code/AssetLib/glTF/glTFAsset.inl b/code/AssetLib/glTF/glTFAsset.inl index 116f76535..472be41cf 100644 --- a/code/AssetLib/glTF/glTFAsset.inl +++ b/code/AssetLib/glTF/glTFAsset.inl @@ -57,10 +57,10 @@ namespace glTF { namespace { -#ifdef _WIN32 +#if _MSC_VER # pragma warning(push) # pragma warning(disable : 4706) -#endif // _WIN32 +#endif // _MSC_VER // // JSON Value reading helpers @@ -372,7 +372,7 @@ inline void Buffer::EncodedRegion_Mark(const size_t pOffset, const size_t pEncod char val[val_size]; - ai_snprintf(val, val_size, "%llu", (long long)pOffset); + ai_snprintf(val, val_size, AI_SIZEFMT, pOffset); throw DeadlyImportError(std::string("GLTF: incorrect offset value (") + val + ") for marking encoded region."); } @@ -382,7 +382,7 @@ inline void Buffer::EncodedRegion_Mark(const size_t pOffset, const size_t pEncod char val[val_size]; - ai_snprintf(val, val_size, "%llu, %llu", (long long)pOffset, (long long)pEncodedData_Length); + ai_snprintf(val, val_size, AI_SIZEFMT "/" AI_SIZEFMT, pOffset, pEncodedData_Length); throw DeadlyImportError(std::string("GLTF: encoded region with offset/length (") + val + ") is out of range."); } @@ -836,8 +836,8 @@ inline void Mesh::Read(Value &pJSON_Object, Asset &pAsset_Root) { if (json_extensions == nullptr) goto mr_skip_extensions; - for (Value::MemberIterator it_memb = json_extensions->MemberBegin(); it_memb != json_extensions->MemberEnd(); it_memb++) { #ifdef ASSIMP_IMPORTER_GLTF_USE_OPEN3DGC + for (Value::MemberIterator it_memb = json_extensions->MemberBegin(); it_memb != json_extensions->MemberEnd(); it_memb++) { if (it_memb->name.GetString() == std::string("Open3DGC-compression")) { // Search for compressed data. // Compressed data contain description of part of "buffer" which is encoded. This part must be decoded and @@ -887,11 +887,11 @@ inline void Mesh::Read(Value &pJSON_Object, Asset &pAsset_Root) { Extension.push_back(ext_o3dgc); // store info in mesh extensions list. } // if(it_memb->name.GetString() == "Open3DGC-compression") else -#endif { throw DeadlyImportError(std::string("GLTF: Unknown mesh extension: \"") + it_memb->name.GetString() + "\"."); } } // for(Value::MemberIterator it_memb = json_extensions->MemberBegin(); it_memb != json_extensions->MemberEnd(); json_extensions++) +#endif mr_skip_extensions: @@ -1412,8 +1412,8 @@ inline std::string Asset::FindUniqueID(const std::string &str, const char *suffi return id; } -#ifdef _WIN32 +#if _MSC_VER # pragma warning(pop) -#endif // WIN32 +#endif // _MSC_VER } // namespace glTF diff --git a/code/AssetLib/glTF/glTFAssetWriter.h b/code/AssetLib/glTF/glTFAssetWriter.h index f166ee532..ed81d12cd 100644 --- a/code/AssetLib/glTF/glTFAssetWriter.h +++ b/code/AssetLib/glTF/glTFAssetWriter.h @@ -50,7 +50,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #ifndef GLTFASSETWRITER_H_INC #define GLTFASSETWRITER_H_INC -#ifndef ASSIMP_BUILD_NO_GLTF_IMPORTER +#if !defined(ASSIMP_BUILD_NO_GLTF_IMPORTER) && !defined(ASSIMP_BUILD_NO_GLTF1_IMPORTER) #include "glTFAsset.h" diff --git a/code/AssetLib/glTF/glTFAssetWriter.inl b/code/AssetLib/glTF/glTFAssetWriter.inl index d8d2556fa..8db507c7e 100644 --- a/code/AssetLib/glTF/glTFAssetWriter.inl +++ b/code/AssetLib/glTF/glTFAssetWriter.inl @@ -43,10 +43,10 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include #include -#ifdef _WIN32 +#if _MSC_VER # pragma warning(push) # pragma warning( disable : 4706) -#endif // _WIN32 +#endif // _MSC_VER namespace glTF { @@ -305,11 +305,11 @@ namespace glTF { Value json_extensions; json_extensions.SetObject(); +#ifdef ASSIMP_IMPORTER_GLTF_USE_OPEN3DGC for(Mesh::SExtension* ptr_ext : m.Extension) { switch(ptr_ext->Type) { -#ifdef ASSIMP_IMPORTER_GLTF_USE_OPEN3DGC case Mesh::SExtension::EType::Compression_Open3DGC: { Value json_comp_data; @@ -339,11 +339,11 @@ namespace glTF { } break; -#endif default: throw DeadlyImportError("GLTF: Can not write mesh: unknown mesh extension, only Open3DGC is supported."); }// switch(ptr_ext->Type) }// for(Mesh::SExtension* ptr_ext : m.Extension) +#endif // Add extensions to mesh obj.AddMember("extensions", json_extensions, w.mAl); @@ -707,7 +707,7 @@ namespace glTF { w.WriteObjects(d); } -#ifdef _WIN32 +#if _MSC_VER # pragma warning(pop) #endif // _WIN32 diff --git a/code/AssetLib/glTF/glTFCommon.h b/code/AssetLib/glTF/glTFCommon.h index b151918b6..f70780ed4 100644 --- a/code/AssetLib/glTF/glTFCommon.h +++ b/code/AssetLib/glTF/glTFCommon.h @@ -190,10 +190,10 @@ inline void CopyValue(const glTFCommon::mat4 &v, aiMatrix4x4 &o) { o.d4 = v[15]; } -#ifdef _WIN32 +#if _MSC_VER # pragma warning(push) # pragma warning(disable : 4310) -#endif // _WIN32 +#endif // _MSC_VER inline std::string getCurrentAssetDir(const std::string &pFile) { std::string path = pFile; @@ -204,9 +204,9 @@ inline std::string getCurrentAssetDir(const std::string &pFile) { return path; } -#ifdef _WIN32 +#if _MSC_VER # pragma warning(pop) -#endif // _WIN32 +#endif // _MSC_VER namespace Util { diff --git a/code/AssetLib/glTF/glTFExporter.cpp b/code/AssetLib/glTF/glTFExporter.cpp index b85affc08..be9dddef7 100644 --- a/code/AssetLib/glTF/glTFExporter.cpp +++ b/code/AssetLib/glTF/glTFExporter.cpp @@ -525,6 +525,12 @@ void ExportSkin(Asset& mAsset, const aiMesh* aimesh, Ref& meshRef, Ref encoder; o3dgc::IndexedFaceSet comp_o3dgc_ifs; @@ -793,6 +799,12 @@ void glTFExporter::ExportMeshes() } } +#if defined(__has_warning) +#if __has_warning("-Wunused-but-set-variable") +#pragma GCC diagnostic pop +#endif +#endif + /* * Export the root node of the node hierarchy. * Calls ExportNode for all children. diff --git a/code/AssetLib/glTF/glTFExporter.h b/code/AssetLib/glTF/glTFExporter.h index 415992314..fe7592566 100644 --- a/code/AssetLib/glTF/glTFExporter.h +++ b/code/AssetLib/glTF/glTFExporter.h @@ -46,7 +46,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #ifndef AI_GLTFEXPORTER_H_INC #define AI_GLTFEXPORTER_H_INC -#ifndef ASSIMP_BUILD_NO_GLTF_EXPORTER +#if !defined(ASSIMP_BUILD_NO_GLTF_EXPORTER) && !defined(ASSIMP_BUILD_NO_GLTF1_EXPORTER) #include #include diff --git a/code/AssetLib/glTF/glTFImporter.cpp b/code/AssetLib/glTF/glTFImporter.cpp index b4ef9b06f..c106acf21 100644 --- a/code/AssetLib/glTF/glTFImporter.cpp +++ b/code/AssetLib/glTF/glTFImporter.cpp @@ -1,4 +1,4 @@ -/* +/* Open Asset Import Library (assimp) ---------------------------------------------------------------------- @@ -39,7 +39,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ---------------------------------------------------------------------- */ -#ifndef ASSIMP_BUILD_NO_GLTF_IMPORTER +#if !defined(ASSIMP_BUILD_NO_GLTF_IMPORTER) && !defined(ASSIMP_BUILD_NO_GLTF1_IMPORTER) #include "AssetLib/glTF/glTFImporter.h" #include "AssetLib/glTF/glTFAsset.h" @@ -215,8 +215,8 @@ void glTFImporter::ImportMeshes(glTF::Asset &r) { // Check if mesh extensions is used if (mesh.Extension.size() > 0) { - for (Mesh::SExtension *cur_ext : mesh.Extension) { #ifdef ASSIMP_IMPORTER_GLTF_USE_OPEN3DGC + for (Mesh::SExtension *cur_ext : mesh.Extension) { if (cur_ext->Type == Mesh::SExtension::EType::Compression_Open3DGC) { // Limitations for meshes when using Open3DGC-compression. // It's a current limitation of sp... Specification have not this part still - about mesh compression. Why only one primitive? @@ -233,12 +233,12 @@ void glTFImporter::ImportMeshes(glTF::Asset &r) { buf->EncodedRegion_SetCurrent(mesh.id); } else -#endif { throw DeadlyImportError("GLTF: Can not import mesh: unknown mesh extension (code: \"" + to_string(cur_ext->Type) + "\"), only Open3DGC is supported."); } } +#endif } // if(mesh.Extension.size() > 0) meshOffsets.push_back(k); diff --git a/code/AssetLib/glTF2/glTF2Asset.h b/code/AssetLib/glTF2/glTF2Asset.h index f79ddee87..e45b53006 100644 --- a/code/AssetLib/glTF2/glTF2Asset.h +++ b/code/AssetLib/glTF2/glTF2Asset.h @@ -1,4 +1,4 @@ -/* +/* Open Asset Import Library (assimp) ---------------------------------------------------------------------- @@ -50,7 +50,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #ifndef GLTF2ASSET_H_INC #define GLTF2ASSET_H_INC -#ifndef ASSIMP_BUILD_NO_GLTF_IMPORTER +#if !defined(ASSIMP_BUILD_NO_GLTF_IMPORTER) && !defined(ASSIMP_BUILD_NO_GLTF2_IMPORTER) #include @@ -406,6 +406,8 @@ struct Accessor : public Object { void ExtractData(T *&outData); void WriteData(size_t count, const void *src_buffer, size_t src_stride); + void WriteSparseValues(size_t count, const void *src_data, size_t src_dataStride); + void WriteSparseIndices(size_t count, const void *src_idx, size_t src_idxStride); //! Helper class to iterate the data class Indexer { @@ -1066,6 +1068,7 @@ public: } extensionsRequired; AssetMetadata asset; + Value* extras = nullptr; // Dictionaries for each type of object diff --git a/code/AssetLib/glTF2/glTF2Asset.inl b/code/AssetLib/glTF2/glTF2Asset.inl index 94f8d9ffa..2dfe2f41e 100644 --- a/code/AssetLib/glTF2/glTF2Asset.inl +++ b/code/AssetLib/glTF2/glTF2Asset.inl @@ -436,7 +436,7 @@ inline void Buffer::EncodedRegion_Mark(const size_t pOffset, const size_t pEncod char val[val_size]; - ai_snprintf(val, val_size, "%llu", (long long)pOffset); + ai_snprintf(val, val_size, AI_SIZEFMT, pOffset); throw DeadlyImportError(std::string("GLTF: incorrect offset value (") + val + ") for marking encoded region."); } @@ -446,7 +446,7 @@ inline void Buffer::EncodedRegion_Mark(const size_t pOffset, const size_t pEncod char val[val_size]; - ai_snprintf(val, val_size, "%llu, %llu", (long long)pOffset, (long long)pEncodedData_Length); + ai_snprintf(val, val_size, AI_SIZEFMT "/" AI_SIZEFMT, pOffset, pEncodedData_Length); throw DeadlyImportError(std::string("GLTF: encoded region with offset/length (") + val + ") is out of range."); } @@ -757,6 +757,33 @@ inline void Accessor::WriteData(size_t _count, const void *src_buffer, size_t sr CopyData(_count, src, src_stride, dst, dst_stride); } +inline void Accessor::WriteSparseValues(size_t _count, const void *src_data, size_t src_dataStride) { + if (!sparse) + return; + + // values + uint8_t *value_buffer_ptr = sparse->values->buffer->GetPointer(); + size_t value_offset = sparse->valuesByteOffset + sparse->values->byteOffset; + size_t value_dst_stride = GetNumComponents() * GetBytesPerComponent(); + const uint8_t *value_src = reinterpret_cast(src_data); + uint8_t *value_dst = reinterpret_cast(value_buffer_ptr + value_offset); + ai_assert(value_dst + _count * value_dst_stride <= value_buffer_ptr + sparse->values->buffer->byteLength); + CopyData(_count, value_src, src_dataStride, value_dst, value_dst_stride); +} + +inline void Accessor::WriteSparseIndices(size_t _count, const void *src_idx, size_t src_idxStride) { + if (!sparse) + return; + + // indices + uint8_t *indices_buffer_ptr = sparse->indices->buffer->GetPointer(); + size_t indices_offset = sparse->indicesByteOffset + sparse->indices->byteOffset; + size_t indices_dst_stride = 1 * sizeof(unsigned short); + const uint8_t *indices_src = reinterpret_cast(src_idx); + uint8_t *indices_dst = reinterpret_cast(indices_buffer_ptr + indices_offset); + ai_assert(indices_dst + _count * indices_dst_stride <= indices_buffer_ptr + sparse->indices->buffer->byteLength); + CopyData(_count, indices_src, src_idxStride, indices_dst, indices_dst_stride); +} inline Accessor::Indexer::Indexer(Accessor &acc) : accessor(acc), data(acc.GetPointer()), @@ -1015,10 +1042,10 @@ inline int Compare(const char *attr, const char (&str)[N]) { return (strncmp(attr, str, N - 1) == 0) ? N - 1 : 0; } -#ifdef _WIN32 +#if _MSC_VER #pragma warning(push) #pragma warning(disable : 4706) -#endif // _WIN32 +#endif // _MSC_VER inline bool GetAttribVector(Mesh::Primitive &p, const char *attr, Mesh::AccessorList *&v, int &pos) { if ((pos = Compare(attr, "POSITION"))) { @@ -1287,6 +1314,8 @@ inline void Node::Read(Value &obj, Asset &r) { } } + // Do not retrieve a skin here, just take a reference, to avoid infinite recursion + // Skins will be properly loaded later Value *curSkin = FindUInt(obj, "skin"); if (nullptr != curSkin) { this->skin = r.skins.Get(curSkin->GetUint()); @@ -1584,7 +1613,6 @@ inline void Asset::Load(const std::string &pFile, bool isBinary) { } } - // Read skins after nodes have been loaded to avoid infinite recursion if (Value *skinsArray = FindArray(doc, "skins")) { for (unsigned int i = 0; i < skinsArray->Size(); ++i) { skins.Retrieve(i); @@ -1695,8 +1723,8 @@ inline std::string Asset::FindUniqueID(const std::string &str, const char *suffi return id; } -#ifdef _WIN32 -#pragma warning(pop) -#endif // _WIN32 +#if _MSC_VER +# pragma warning(pop) +#endif // _MSC_VER } // namespace glTF2 diff --git a/code/AssetLib/glTF2/glTF2AssetWriter.h b/code/AssetLib/glTF2/glTF2AssetWriter.h index 784ab2ea5..ce58717f3 100644 --- a/code/AssetLib/glTF2/glTF2AssetWriter.h +++ b/code/AssetLib/glTF2/glTF2AssetWriter.h @@ -50,7 +50,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #ifndef GLTF2ASSETWRITER_H_INC #define GLTF2ASSETWRITER_H_INC -#ifndef ASSIMP_BUILD_NO_GLTF_IMPORTER +#if !defined(ASSIMP_BUILD_NO_GLTF_IMPORTER) && !defined(ASSIMP_BUILD_NO_GLTF2_IMPORTER) #include "glTF2Asset.h" diff --git a/code/AssetLib/glTF2/glTF2AssetWriter.inl b/code/AssetLib/glTF2/glTF2AssetWriter.inl index d5b478e35..786a1e7b8 100644 --- a/code/AssetLib/glTF2/glTF2AssetWriter.inl +++ b/code/AssetLib/glTF2/glTF2AssetWriter.inl @@ -1,4 +1,4 @@ -/* +/* Open Asset Import Library (assimp) ---------------------------------------------------------------------- @@ -107,21 +107,47 @@ namespace glTF2 { inline void Write(Value& obj, Accessor& a, AssetWriter& w) { - obj.AddMember("bufferView", a.bufferView->index, w.mAl); - obj.AddMember("byteOffset", (unsigned int)a.byteOffset, w.mAl); + if (a.bufferView) { + obj.AddMember("bufferView", a.bufferView->index, w.mAl); + obj.AddMember("byteOffset", (unsigned int)a.byteOffset, w.mAl); + Value vTmpMax, vTmpMin; + if (a.componentType == ComponentType_FLOAT) { + obj.AddMember("max", MakeValue(vTmpMax, a.max, w.mAl), w.mAl); + obj.AddMember("min", MakeValue(vTmpMin, a.min, w.mAl), w.mAl); + } else { + obj.AddMember("max", MakeValueCast(vTmpMax, a.max, w.mAl), w.mAl); + obj.AddMember("min", MakeValueCast(vTmpMin, a.min, w.mAl), w.mAl); + } + } obj.AddMember("componentType", int(a.componentType), w.mAl); obj.AddMember("count", (unsigned int)a.count, w.mAl); obj.AddMember("type", StringRef(AttribType::ToString(a.type)), w.mAl); - Value vTmpMax, vTmpMin; - if (a.componentType == ComponentType_FLOAT) { - obj.AddMember("max", MakeValue(vTmpMax, a.max, w.mAl), w.mAl); - obj.AddMember("min", MakeValue(vTmpMin, a.min, w.mAl), w.mAl); - } else { - obj.AddMember("max", MakeValueCast(vTmpMax, a.max, w.mAl), w.mAl); - obj.AddMember("min", MakeValueCast(vTmpMin, a.min, w.mAl), w.mAl); - } + if (a.sparse) { + Value sparseValue; + sparseValue.SetObject(); + + //count + sparseValue.AddMember("count", (unsigned int)a.sparse->count, w.mAl); + + //indices + Value indices; + indices.SetObject(); + indices.AddMember("bufferView", a.sparse->indices->index, w.mAl); + indices.AddMember("byteOffset", (unsigned int)a.sparse->indicesByteOffset, w.mAl); + indices.AddMember("componentType", int(a.sparse->indicesType), w.mAl); + sparseValue.AddMember("indices", indices, w.mAl); + + //values + Value values; + values.SetObject(); + values.AddMember("bufferView", a.sparse->values->index, w.mAl); + values.AddMember("byteOffset", (unsigned int)a.sparse->valuesByteOffset, w.mAl); + sparseValue.AddMember("values", values, w.mAl); + + obj.AddMember("sparse", sparseValue, w.mAl); + } } inline void Write(Value& obj, Animation& a, AssetWriter& w) @@ -616,6 +642,10 @@ namespace glTF2 { if (mAsset.scene) { mDoc.AddMember("scene", mAsset.scene->index, mAl); } + + if(mAsset.extras) { + mDoc.AddMember("extras", *mAsset.extras, mAl); + } } inline void AssetWriter::WriteFile(const char* path) @@ -709,10 +739,13 @@ namespace glTF2 { // Binary chunk // + int GLB_Chunk_count = 1; uint32_t binaryChunkLength = 0; if (bodyBuffer->byteLength > 0) { binaryChunkLength = (bodyBuffer->byteLength + 3) & ~3; // Round up to next multiple of 4 - //auto curPaddingLength = binaryChunkLength - bodyBuffer->byteLength; + + auto curPaddingLength = binaryChunkLength - bodyBuffer->byteLength; + ++GLB_Chunk_count; GLB_Chunk binaryChunk; binaryChunk.chunkLength = binaryChunkLength; @@ -727,7 +760,7 @@ namespace glTF2 { if (outfile->Write(bodyBuffer->GetPointer(), 1, bodyBuffer->byteLength) != bodyBuffer->byteLength) { throw DeadlyExportError("Failed to write body data!"); } - if (paddingLength && outfile->Write(&padding, 1, paddingLength) != paddingLength) { + if (curPaddingLength && outfile->Write(&padding, 1, paddingLength) != paddingLength) { throw DeadlyExportError("Failed to write body data padding!"); } } @@ -742,7 +775,7 @@ namespace glTF2 { header.version = 2; AI_SWAP4(header.version); - header.length = uint32_t(sizeof(GLB_Header) + 2 * sizeof(GLB_Chunk) + jsonChunkLength + binaryChunkLength); + header.length = uint32_t(sizeof(GLB_Header) + GLB_Chunk_count * sizeof(GLB_Chunk) + jsonChunkLength + binaryChunkLength); AI_SWAP4(header.length); outfile->Seek(0, aiOrigin_SET); diff --git a/code/AssetLib/glTF2/glTF2Exporter.cpp b/code/AssetLib/glTF2/glTF2Exporter.cpp index 2359851f1..872543ef2 100644 --- a/code/AssetLib/glTF2/glTF2Exporter.cpp +++ b/code/AssetLib/glTF2/glTF2Exporter.cpp @@ -1,4 +1,4 @@ -/* +/* Open Asset Import Library (assimp) ---------------------------------------------------------------------- @@ -115,7 +115,14 @@ glTF2Exporter::glTF2Exporter(const char* filename, IOSystem* pIOSystem, const ai ExportScene(); ExportAnimations(); - + + // export extras + if(mProperties->HasPropertyCallback("extras")) + { + std::function ExportExtras = mProperties->GetPropertyCallback("extras"); + mAsset->extras = (rapidjson::Value*)ExportExtras(0); + } + AssetWriter writer(*mAsset); if (isBinary) { @@ -214,6 +221,158 @@ inline void SetAccessorRange(ComponentType compType, Ref acc, void* da } } +// compute the (data-dataBase), store the non-zero data items +template +size_t NZDiff(void *data, void *dataBase, size_t count, unsigned int numCompsIn, unsigned int numCompsOut, void *&outputNZDiff, void *&outputNZIdx) { + std::vector vNZDiff; + std::vector vNZIdx; + size_t totalComps = count * numCompsIn; + T *bufferData_ptr = static_cast(data); + T *bufferData_end = bufferData_ptr + totalComps; + T *bufferBase_ptr = static_cast(dataBase); + + // Search and set extreme values. + for (short idx = 0; bufferData_ptr < bufferData_end; idx += 1, bufferData_ptr += numCompsIn) { + bool bNonZero = false; + + //for the data, check any component Non Zero + for (unsigned int j = 0; j < numCompsOut; j++) { + double valueData = bufferData_ptr[j]; + double valueBase = bufferBase_ptr ? bufferBase_ptr[j] : 0; + if ((valueData - valueBase) != 0) { + bNonZero = true; + break; + } + } + + //all zeros, continue + if (!bNonZero) + continue; + + //non zero, store the data + for (unsigned int j = 0; j < numCompsOut; j++) { + T valueData = bufferData_ptr[j]; + T valueBase = bufferBase_ptr ? bufferBase_ptr[j] : 0; + vNZDiff.push_back(valueData - valueBase); + } + vNZIdx.push_back(idx); + } + + //avoid all-0, put 1 item + if (vNZDiff.size() == 0) { + for (unsigned int j = 0; j < numCompsOut; j++) + vNZDiff.push_back(0); + vNZIdx.push_back(0); + } + + //process data + outputNZDiff = new T[vNZDiff.size()]; + memcpy(outputNZDiff, vNZDiff.data(), vNZDiff.size() * sizeof(T)); + + outputNZIdx = new unsigned short[vNZIdx.size()]; + memcpy(outputNZIdx, vNZIdx.data(), vNZIdx.size() * sizeof(unsigned short)); + return vNZIdx.size(); +} + +inline size_t NZDiff(ComponentType compType, void *data, void *dataBase, size_t count, unsigned int numCompsIn, unsigned int numCompsOut, void *&nzDiff, void *&nzIdx) { + switch (compType) { + case ComponentType_SHORT: + return NZDiff(data, dataBase, count, numCompsIn, numCompsOut, nzDiff, nzIdx); + case ComponentType_UNSIGNED_SHORT: + return NZDiff(data, dataBase, count, numCompsIn, numCompsOut, nzDiff, nzIdx); + case ComponentType_UNSIGNED_INT: + return NZDiff(data, dataBase, count, numCompsIn, numCompsOut, nzDiff, nzIdx); + case ComponentType_FLOAT: + return NZDiff(data, dataBase, count, numCompsIn, numCompsOut, nzDiff, nzIdx); + case ComponentType_BYTE: + return NZDiff(data, dataBase, count, numCompsIn, numCompsOut, nzDiff, nzIdx); + case ComponentType_UNSIGNED_BYTE: + return NZDiff(data, dataBase, count, numCompsIn, numCompsOut, nzDiff, nzIdx); + } + return 0; +} + +inline Ref ExportDataSparse(Asset &a, std::string &meshName, Ref &buffer, + size_t count, void *data, AttribType::Value typeIn, AttribType::Value typeOut, ComponentType compType, BufferViewTarget target = BufferViewTarget_NONE, void *dataBase = 0) { + if (!count || !data) { + return Ref(); + } + + unsigned int numCompsIn = AttribType::GetNumComponents(typeIn); + unsigned int numCompsOut = AttribType::GetNumComponents(typeOut); + unsigned int bytesPerComp = ComponentTypeSize(compType); + + // accessor + Ref acc = a.accessors.Create(a.FindUniqueID(meshName, "accessor")); + + // if there is a basic data vector + if (dataBase) { + size_t base_offset = buffer->byteLength; + size_t base_padding = base_offset % bytesPerComp; + base_offset += base_padding; + size_t base_length = count * numCompsOut * bytesPerComp; + buffer->Grow(base_length + base_padding); + + Ref bv = a.bufferViews.Create(a.FindUniqueID(meshName, "view")); + bv->buffer = buffer; + bv->byteOffset = base_offset; + bv->byteLength = base_length; //! The target that the WebGL buffer should be bound to. + bv->byteStride = 0; + bv->target = target; + acc->bufferView = bv; + acc->WriteData(count, dataBase, numCompsIn * bytesPerComp); + } + acc->byteOffset = 0; + acc->componentType = compType; + acc->count = count; + acc->type = typeOut; + + if (data) { + void *nzDiff = 0, *nzIdx = 0; + size_t nzCount = NZDiff(compType, data, dataBase, count, numCompsIn, numCompsOut, nzDiff, nzIdx); + acc->sparse.reset(new Accessor::Sparse); + acc->sparse->count = nzCount; + + //indices + unsigned int bytesPerIdx = sizeof(unsigned short); + size_t indices_offset = buffer->byteLength; + size_t indices_padding = indices_offset % bytesPerIdx; + indices_offset += indices_padding; + size_t indices_length = nzCount * 1 * bytesPerIdx; + buffer->Grow(indices_length + indices_padding); + + Ref indicesBV = a.bufferViews.Create(a.FindUniqueID(meshName, "view")); + indicesBV->buffer = buffer; + indicesBV->byteOffset = indices_offset; + indicesBV->byteLength = indices_length; + indicesBV->byteStride = 0; + acc->sparse->indices = indicesBV; + acc->sparse->indicesType = ComponentType_UNSIGNED_SHORT; + acc->sparse->indicesByteOffset = 0; + acc->WriteSparseIndices(nzCount, nzIdx, 1 * bytesPerIdx); + + //values + size_t values_offset = buffer->byteLength; + size_t values_padding = values_offset % bytesPerComp; + values_offset += values_padding; + size_t values_length = nzCount * numCompsOut * bytesPerComp; + buffer->Grow(values_length + values_padding); + + Ref valuesBV = a.bufferViews.Create(a.FindUniqueID(meshName, "view")); + valuesBV->buffer = buffer; + valuesBV->byteOffset = values_offset; + valuesBV->byteLength = values_length; + valuesBV->byteStride = 0; + acc->sparse->values = valuesBV; + acc->sparse->valuesByteOffset = 0; + acc->WriteSparseValues(nzCount, nzDiff, numCompsIn * bytesPerComp); + + //clear + delete[] (char*)nzDiff; + delete[] (char*)nzIdx; + } + return acc; +} inline Ref ExportData(Asset& a, std::string& meshName, Ref& buffer, size_t count, void* data, AttribType::Value typeIn, AttribType::Value typeOut, ComponentType compType, BufferViewTarget target = BufferViewTarget_NONE) { @@ -824,6 +983,10 @@ void glTF2Exporter::ExportMeshes() /*************** Targets for blendshapes ****************/ if (aim->mNumAnimMeshes > 0) { + bool bUseSparse = this->mProperties->HasPropertyBool("GLTF2_SPARSE_ACCESSOR_EXP") && + this->mProperties->GetPropertyBool("GLTF2_SPARSE_ACCESSOR_EXP"); + bool bIncludeNormal = this->mProperties->HasPropertyBool("GLTF2_TARGET_NORMAL_EXP") && + this->mProperties->GetPropertyBool("GLTF2_TARGET_NORMAL_EXP"); bool bExportTargetNames = this->mProperties->HasPropertyBool("GLTF2_TARGETNAMES_EXP") && this->mProperties->GetPropertyBool("GLTF2_TARGETNAMES_EXP"); @@ -832,7 +995,6 @@ void glTF2Exporter::ExportMeshes() aiAnimMesh *pAnimMesh = aim->mAnimMeshes[am]; if (bExportTargetNames) m->targetNames.push_back(pAnimMesh->mName.data); - // position if (pAnimMesh->HasPositions()) { // NOTE: in gltf it is the diff stored @@ -840,9 +1002,16 @@ void glTF2Exporter::ExportMeshes() for (unsigned int vt = 0; vt < pAnimMesh->mNumVertices; ++vt) { pPositionDiff[vt] = pAnimMesh->mVertices[vt] - aim->mVertices[vt]; } - Ref vec = ExportData(*mAsset, meshId, b, - pAnimMesh->mNumVertices, pPositionDiff, - AttribType::VEC3, AttribType::VEC3, ComponentType_FLOAT); + Ref vec; + if (bUseSparse) { + vec = ExportDataSparse(*mAsset, meshId, b, + pAnimMesh->mNumVertices, pPositionDiff, + AttribType::VEC3, AttribType::VEC3, ComponentType_FLOAT); + } else { + vec = ExportData(*mAsset, meshId, b, + pAnimMesh->mNumVertices, pPositionDiff, + AttribType::VEC3, AttribType::VEC3, ComponentType_FLOAT); + } if (vec) { p.targets[am].position.push_back(vec); } @@ -850,14 +1019,21 @@ void glTF2Exporter::ExportMeshes() } // normal - if (pAnimMesh->HasNormals()) { + if (pAnimMesh->HasNormals() && bIncludeNormal) { aiVector3D *pNormalDiff = new aiVector3D[pAnimMesh->mNumVertices]; for (unsigned int vt = 0; vt < pAnimMesh->mNumVertices; ++vt) { pNormalDiff[vt] = pAnimMesh->mNormals[vt] - aim->mNormals[vt]; } - Ref vec = ExportData(*mAsset, meshId, b, - pAnimMesh->mNumVertices, pNormalDiff, - AttribType::VEC3, AttribType::VEC3, ComponentType_FLOAT); + Ref vec; + if (bUseSparse) { + vec = ExportDataSparse(*mAsset, meshId, b, + pAnimMesh->mNumVertices, pNormalDiff, + AttribType::VEC3, AttribType::VEC3, ComponentType_FLOAT); + } else { + vec = ExportData(*mAsset, meshId, b, + pAnimMesh->mNumVertices, pNormalDiff, + AttribType::VEC3, AttribType::VEC3, ComponentType_FLOAT); + } if (vec) { p.targets[am].normal.push_back(vec); } diff --git a/code/AssetLib/glTF2/glTF2Exporter.h b/code/AssetLib/glTF2/glTF2Exporter.h index 421a4806e..1d28ed459 100644 --- a/code/AssetLib/glTF2/glTF2Exporter.h +++ b/code/AssetLib/glTF2/glTF2Exporter.h @@ -46,7 +46,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #ifndef AI_GLTF2EXPORTER_H_INC #define AI_GLTF2EXPORTER_H_INC -#ifndef ASSIMP_BUILD_NO_GLTF_IMPORTER +#if !defined(ASSIMP_BUILD_NO_GLTF_IMPORTER) && !defined(ASSIMP_BUILD_NO_GLTF2_IMPORTER) #include #include diff --git a/code/AssetLib/glTF2/glTF2Importer.cpp b/code/AssetLib/glTF2/glTF2Importer.cpp index 4d740d8c1..00c647ed2 100644 --- a/code/AssetLib/glTF2/glTF2Importer.cpp +++ b/code/AssetLib/glTF2/glTF2Importer.cpp @@ -39,7 +39,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ---------------------------------------------------------------------- */ -#ifndef ASSIMP_BUILD_NO_GLTF_IMPORTER +#if !defined(ASSIMP_BUILD_NO_GLTF_IMPORTER) && !defined(ASSIMP_BUILD_NO_GLTF2_IMPORTER) #include "AssetLib/glTF2/glTF2Importer.h" #include "PostProcessing/MakeVerboseFormat.h" @@ -298,25 +298,37 @@ void glTF2Importer::ImportMaterials(glTF2::Asset &r) { } } -static inline void SetFace(aiFace &face, int a) { - face.mNumIndices = 1; - face.mIndices = new unsigned int[1]; - face.mIndices[0] = a; +static inline void SetFaceAndAdvance1(aiFace*& face, unsigned int numVertices, unsigned int a) { + if (a >= numVertices) { + return; + } + face->mNumIndices = 1; + face->mIndices = new unsigned int[1]; + face->mIndices[0] = a; + ++face; } -static inline void SetFace(aiFace &face, int a, int b) { - face.mNumIndices = 2; - face.mIndices = new unsigned int[2]; - face.mIndices[0] = a; - face.mIndices[1] = b; +static inline void SetFaceAndAdvance2(aiFace*& face, unsigned int numVertices, unsigned int a, unsigned int b) { + if ((a >= numVertices) || (b >= numVertices)) { + return; + } + face->mNumIndices = 2; + face->mIndices = new unsigned int[2]; + face->mIndices[0] = a; + face->mIndices[1] = b; + ++face; } -static inline void SetFace(aiFace &face, int a, int b, int c) { - face.mNumIndices = 3; - face.mIndices = new unsigned int[3]; - face.mIndices[0] = a; - face.mIndices[1] = b; - face.mIndices[2] = c; +static inline void SetFaceAndAdvance3(aiFace*& face, unsigned int numVertices, unsigned int a, unsigned int b, unsigned int c) { + if ((a >= numVertices) || (b >= numVertices) || (c >= numVertices)) { + return; + } + face->mNumIndices = 3; + face->mIndices = new unsigned int[3]; + face->mIndices[0] = a; + face->mIndices[1] = b; + face->mIndices[2] = c; + ++face; } #ifdef ASSIMP_BUILD_DEBUG @@ -335,7 +347,7 @@ static inline bool CheckValidFacesIndices(aiFace *faces, unsigned nFaces, unsign void glTF2Importer::ImportMeshes(glTF2::Asset &r) { ASSIMP_LOG_DEBUG_F("Importing ", r.meshes.Size(), " meshes"); - std::vector meshes; + std::vector> meshes; unsigned int k = 0; meshOffsets.clear(); @@ -350,7 +362,7 @@ void glTF2Importer::ImportMeshes(glTF2::Asset &r) { Mesh::Primitive &prim = mesh.primitives[p]; aiMesh *aim = new aiMesh(); - meshes.push_back(aim); + meshes.push_back(std::unique_ptr(aim)); aim->mName = mesh.name.empty() ? mesh.id : mesh.name; @@ -486,6 +498,7 @@ void glTF2Importer::ImportMeshes(glTF2::Asset &r) { } aiFace *faces = nullptr; + aiFace *facePtr = nullptr; size_t nFaces = 0; if (prim.indices) { @@ -497,9 +510,9 @@ void glTF2Importer::ImportMeshes(glTF2::Asset &r) { switch (prim.mode) { case PrimitiveMode_POINTS: { nFaces = count; - faces = new aiFace[nFaces]; + facePtr = faces = new aiFace[nFaces]; for (unsigned int i = 0; i < count; ++i) { - SetFace(faces[i], data.GetUInt(i)); + SetFaceAndAdvance1(facePtr, aim->mNumVertices, data.GetUInt(i)); } break; } @@ -510,9 +523,9 @@ void glTF2Importer::ImportMeshes(glTF2::Asset &r) { ASSIMP_LOG_WARN("The number of vertices was not compatible with the LINES mode. Some vertices were dropped."); count = nFaces * 2; } - faces = new aiFace[nFaces]; + facePtr = faces = new aiFace[nFaces]; for (unsigned int i = 0; i < count; i += 2) { - SetFace(faces[i / 2], data.GetUInt(i), data.GetUInt(i + 1)); + SetFaceAndAdvance2(facePtr, aim->mNumVertices, data.GetUInt(i), data.GetUInt(i + 1)); } break; } @@ -520,13 +533,13 @@ void glTF2Importer::ImportMeshes(glTF2::Asset &r) { case PrimitiveMode_LINE_LOOP: case PrimitiveMode_LINE_STRIP: { nFaces = count - ((prim.mode == PrimitiveMode_LINE_STRIP) ? 1 : 0); - faces = new aiFace[nFaces]; - SetFace(faces[0], data.GetUInt(0), data.GetUInt(1)); + facePtr = faces = new aiFace[nFaces]; + SetFaceAndAdvance2(facePtr, aim->mNumVertices, data.GetUInt(0), data.GetUInt(1)); for (unsigned int i = 2; i < count; ++i) { - SetFace(faces[i - 1], faces[i - 2].mIndices[1], data.GetUInt(i)); + SetFaceAndAdvance2(facePtr, aim->mNumVertices, data.GetUInt(i - 1), data.GetUInt(i)); } if (prim.mode == PrimitiveMode_LINE_LOOP) { // close the loop - SetFace(faces[count - 1], faces[count - 2].mIndices[1], faces[0].mIndices[0]); + SetFaceAndAdvance2(facePtr, aim->mNumVertices, data.GetUInt(static_cast(count) - 1), faces[0].mIndices[0]); } break; } @@ -537,33 +550,33 @@ void glTF2Importer::ImportMeshes(glTF2::Asset &r) { ASSIMP_LOG_WARN("The number of vertices was not compatible with the TRIANGLES mode. Some vertices were dropped."); count = nFaces * 3; } - faces = new aiFace[nFaces]; + facePtr = faces = new aiFace[nFaces]; for (unsigned int i = 0; i < count; i += 3) { - SetFace(faces[i / 3], data.GetUInt(i), data.GetUInt(i + 1), data.GetUInt(i + 2)); + SetFaceAndAdvance3(facePtr, aim->mNumVertices, data.GetUInt(i), data.GetUInt(i + 1), data.GetUInt(i + 2)); } break; } case PrimitiveMode_TRIANGLE_STRIP: { nFaces = count - 2; - faces = new aiFace[nFaces]; + facePtr = faces = new aiFace[nFaces]; for (unsigned int i = 0; i < nFaces; ++i) { //The ordering is to ensure that the triangles are all drawn with the same orientation if ((i + 1) % 2 == 0) { //For even n, vertices n + 1, n, and n + 2 define triangle n - SetFace(faces[i], data.GetUInt(i + 1), data.GetUInt(i), data.GetUInt(i + 2)); + SetFaceAndAdvance3(facePtr, aim->mNumVertices, data.GetUInt(i + 1), data.GetUInt(i), data.GetUInt(i + 2)); } else { //For odd n, vertices n, n+1, and n+2 define triangle n - SetFace(faces[i], data.GetUInt(i), data.GetUInt(i + 1), data.GetUInt(i + 2)); + SetFaceAndAdvance3(facePtr, aim->mNumVertices, data.GetUInt(i), data.GetUInt(i + 1), data.GetUInt(i + 2)); } } break; } case PrimitiveMode_TRIANGLE_FAN: nFaces = count - 2; - faces = new aiFace[nFaces]; - SetFace(faces[0], data.GetUInt(0), data.GetUInt(1), data.GetUInt(2)); + facePtr = faces = new aiFace[nFaces]; + SetFaceAndAdvance3(facePtr, aim->mNumVertices, data.GetUInt(0), data.GetUInt(1), data.GetUInt(2)); for (unsigned int i = 1; i < nFaces; ++i) { - SetFace(faces[i], faces[0].mIndices[0], faces[i - 1].mIndices[2], data.GetUInt(i + 2)); + SetFaceAndAdvance3(facePtr, aim->mNumVertices, data.GetUInt(0), data.GetUInt(i + 1), data.GetUInt(i + 2)); } break; } @@ -575,9 +588,9 @@ void glTF2Importer::ImportMeshes(glTF2::Asset &r) { switch (prim.mode) { case PrimitiveMode_POINTS: { nFaces = count; - faces = new aiFace[nFaces]; + facePtr = faces = new aiFace[nFaces]; for (unsigned int i = 0; i < count; ++i) { - SetFace(faces[i], i); + SetFaceAndAdvance1(facePtr, aim->mNumVertices, i); } break; } @@ -588,9 +601,9 @@ void glTF2Importer::ImportMeshes(glTF2::Asset &r) { ASSIMP_LOG_WARN("The number of vertices was not compatible with the LINES mode. Some vertices were dropped."); count = (unsigned int)nFaces * 2; } - faces = new aiFace[nFaces]; + facePtr = faces = new aiFace[nFaces]; for (unsigned int i = 0; i < count; i += 2) { - SetFace(faces[i / 2], i, i + 1); + SetFaceAndAdvance2(facePtr, aim->mNumVertices, i, i + 1); } break; } @@ -598,13 +611,13 @@ void glTF2Importer::ImportMeshes(glTF2::Asset &r) { case PrimitiveMode_LINE_LOOP: case PrimitiveMode_LINE_STRIP: { nFaces = count - ((prim.mode == PrimitiveMode_LINE_STRIP) ? 1 : 0); - faces = new aiFace[nFaces]; - SetFace(faces[0], 0, 1); + facePtr = faces = new aiFace[nFaces]; + SetFaceAndAdvance2(facePtr, aim->mNumVertices, 0, 1); for (unsigned int i = 2; i < count; ++i) { - SetFace(faces[i - 1], faces[i - 2].mIndices[1], i); + SetFaceAndAdvance2(facePtr, aim->mNumVertices, i - 1, i); } if (prim.mode == PrimitiveMode_LINE_LOOP) { // close the loop - SetFace(faces[count - 1], faces[count - 2].mIndices[1], faces[0].mIndices[0]); + SetFaceAndAdvance2(facePtr, aim->mNumVertices, count - 1, 0); } break; } @@ -615,42 +628,50 @@ void glTF2Importer::ImportMeshes(glTF2::Asset &r) { ASSIMP_LOG_WARN("The number of vertices was not compatible with the TRIANGLES mode. Some vertices were dropped."); count = (unsigned int)nFaces * 3; } - faces = new aiFace[nFaces]; + facePtr = faces = new aiFace[nFaces]; for (unsigned int i = 0; i < count; i += 3) { - SetFace(faces[i / 3], i, i + 1, i + 2); + SetFaceAndAdvance3(facePtr, aim->mNumVertices, i, i + 1, i + 2); } break; } case PrimitiveMode_TRIANGLE_STRIP: { nFaces = count - 2; - faces = new aiFace[nFaces]; + facePtr = faces = new aiFace[nFaces]; for (unsigned int i = 0; i < nFaces; ++i) { //The ordering is to ensure that the triangles are all drawn with the same orientation if ((i + 1) % 2 == 0) { //For even n, vertices n + 1, n, and n + 2 define triangle n - SetFace(faces[i], i + 1, i, i + 2); + SetFaceAndAdvance3(facePtr, aim->mNumVertices, i + 1, i, i + 2); } else { //For odd n, vertices n, n+1, and n+2 define triangle n - SetFace(faces[i], i, i + 1, i + 2); + SetFaceAndAdvance3(facePtr, aim->mNumVertices, i, i + 1, i + 2); } } break; } case PrimitiveMode_TRIANGLE_FAN: nFaces = count - 2; - faces = new aiFace[nFaces]; - SetFace(faces[0], 0, 1, 2); + facePtr = faces = new aiFace[nFaces]; + SetFaceAndAdvance3(facePtr, aim->mNumVertices, 0, 1, 2); for (unsigned int i = 1; i < nFaces; ++i) { - SetFace(faces[i], faces[0].mIndices[0], faces[i - 1].mIndices[2], i + 2); + SetFaceAndAdvance3(facePtr, aim->mNumVertices, 0, i + 1, i + 2); } break; } } - if (nullptr != faces) { + if (faces) { aim->mFaces = faces; - aim->mNumFaces = static_cast(nFaces); - ai_assert(CheckValidFacesIndices(faces, static_cast(nFaces), aim->mNumVertices)); + const unsigned int actualNumFaces = static_cast(facePtr - faces); + if (actualNumFaces < nFaces) { + ASSIMP_LOG_WARN("Some faces had out-of-range indices. Those faces were dropped."); + } + if (actualNumFaces == 0) + { + throw DeadlyImportError(std::string("Mesh \"") + aim->mName.C_Str() + "\" has no faces"); + } + aim->mNumFaces = actualNumFaces; + ai_assert(CheckValidFacesIndices(faces, actualNumFaces, aim->mNumVertices)); } if (prim.material) { diff --git a/code/CMakeLists.txt b/code/CMakeLists.txt index 9f8f519d9..7ccc6439f 100644 --- a/code/CMakeLists.txt +++ b/code/CMakeLists.txt @@ -899,7 +899,7 @@ ENDIF() # utf8 IF(ASSIMP_HUNTER_ENABLED) hunter_add_package(utf8) - find_package(utf8 CONFIG REQUIRED) + find_package(utf8cpp CONFIG REQUIRED) ELSE() # utf8 is header-only, so Assimp doesn't need to do anything. ENDIF() @@ -1066,7 +1066,7 @@ endif() ADD_DEFINITIONS( -DASSIMP_BUILD_DLL_EXPORT ) -if ( MSVC ) +IF( MSVC OR "${CMAKE_CXX_SIMULATE_ID}" MATCHES "MSVC") # clang with MSVC ABI ADD_DEFINITIONS( -D_SCL_SECURE_NO_WARNINGS ) ADD_DEFINITIONS( -D_CRT_SECURE_NO_WARNINGS ) endif () @@ -1159,7 +1159,7 @@ IF(ASSIMP_HUNTER_ENABLED) minizip::minizip ZLIB::zlib RapidJSON::rapidjson - utf8::utf8 + utf8cpp zip::zip ) ELSE() diff --git a/code/Common/BaseImporter.cpp b/code/Common/BaseImporter.cpp index 4243f0b78..f9798d4fe 100644 --- a/code/Common/BaseImporter.cpp +++ b/code/Common/BaseImporter.cpp @@ -345,7 +345,7 @@ std::string BaseImporter::GetExtension(const std::string &file) { } #ifdef ASSIMP_USE_HUNTER -#include +#include #else #include "../contrib/utf8cpp/source/utf8.h" #endif diff --git a/code/Common/DefaultIOStream.cpp b/code/Common/DefaultIOStream.cpp index 65edd1bdd..32f47ab07 100644 --- a/code/Common/DefaultIOStream.cpp +++ b/code/Common/DefaultIOStream.cpp @@ -100,7 +100,6 @@ size_t DefaultIOStream::Write(const void *pvBuffer, size_t pCount) { ai_assert(nullptr != pvBuffer); ai_assert(0 != pSize); - ai_assert(0 != pCount); return (mFile ? ::fwrite(pvBuffer, pSize, pCount, mFile) : 0); } diff --git a/code/Common/Exporter.cpp b/code/Common/Exporter.cpp index 58fc01d91..6b3a50346 100644 --- a/code/Common/Exporter.cpp +++ b/code/Common/Exporter.cpp @@ -74,9 +74,9 @@ Here we implement only the C++ interface (Assimp::Exporter). namespace Assimp { -#ifdef _WIN32 -# pragma warning( disable : 4800 ) -#endif // _WIN32 +#ifdef _MSC_VER +# pragma warning( disable : 4800 ) +#endif // _MSC_VER // PostStepRegistry.cpp @@ -179,11 +179,14 @@ static void setupExporterArray(std::vector &exporte aiProcess_Triangulate | aiProcess_SortByPType | aiProcess_JoinIdenticalVertices)); #endif -#ifndef ASSIMP_BUILD_NO_GLTF_EXPORTER +#if !defined(ASSIMP_BUILD_NO_GLTF_EXPORTER) && !defined(ASSIMP_BUILD_NO_GLTF2_EXPORTER) exporters.push_back(Exporter::ExportFormatEntry("gltf2", "GL Transmission Format v. 2", "gltf", &ExportSceneGLTF2, aiProcess_JoinIdenticalVertices | aiProcess_Triangulate | aiProcess_SortByPType)); exporters.push_back(Exporter::ExportFormatEntry("glb2", "GL Transmission Format v. 2 (binary)", "glb", &ExportSceneGLB2, aiProcess_JoinIdenticalVertices | aiProcess_Triangulate | aiProcess_SortByPType)); +#endif + +#if !defined(ASSIMP_BUILD_NO_GLTF_EXPORTER) && !defined(ASSIMP_BUILD_NO_GLTF1_EXPORTER) exporters.push_back(Exporter::ExportFormatEntry("gltf", "GL Transmission Format", "gltf", &ExportSceneGLTF, aiProcess_JoinIdenticalVertices | aiProcess_Triangulate | aiProcess_SortByPType)); exporters.push_back(Exporter::ExportFormatEntry("glb", "GL Transmission Format (binary)", "glb", &ExportSceneGLB, @@ -580,10 +583,23 @@ ExportProperties::ExportProperties(const ExportProperties &other) : mIntProperties(other.mIntProperties) , mFloatProperties(other.mFloatProperties) , mStringProperties(other.mStringProperties) -, mMatrixProperties(other.mMatrixProperties) { +, mMatrixProperties(other.mMatrixProperties) +, mCallbackProperties(other.mCallbackProperties){ // empty } +bool ExportProperties::SetPropertyCallback(const char *szName, const std::function &f) { + return SetGenericProperty>(mCallbackProperties, szName, f); +} + +std::function ExportProperties::GetPropertyCallback(const char *szName) const { + return GetGenericProperty>(mCallbackProperties, szName, 0); +} + +bool ExportProperties::HasPropertyCallback(const char *szName) const { + return HasGenericProperty>(mCallbackProperties, szName); +} + // ------------------------------------------------------------------------------------------------ // Set a configuration property bool ExportProperties::SetPropertyInteger(const char* szName, int iValue) { diff --git a/code/Common/Importer.cpp b/code/Common/Importer.cpp index a46d39b48..77eb8ef8c 100644 --- a/code/Common/Importer.cpp +++ b/code/Common/Importer.cpp @@ -1174,7 +1174,7 @@ void Importer::GetMemoryRequirements(aiMemoryInfo& in) const { // add all bone anims for (unsigned int a = 0; a < pc->mNumChannels; ++a) { - const aiNodeAnim* pc2 = pc->mChannels[i]; + const aiNodeAnim* pc2 = pc->mChannels[a]; in.animations += sizeof(aiNodeAnim); in.animations += pc2->mNumPositionKeys * sizeof(aiVectorKey); in.animations += pc2->mNumScalingKeys * sizeof(aiVectorKey); diff --git a/code/Common/ImporterRegistry.cpp b/code/Common/ImporterRegistry.cpp index da51696bc..c24f39a31 100644 --- a/code/Common/ImporterRegistry.cpp +++ b/code/Common/ImporterRegistry.cpp @@ -1,4 +1,4 @@ -/* +/* --------------------------------------------------------------------------- Open Asset Import Library (assimp) --------------------------------------------------------------------------- @@ -179,8 +179,10 @@ corresponding preprocessor flag to selectively disable formats. #ifndef ASSIMP_BUILD_NO_ASSBIN_IMPORTER #include "AssetLib/Assbin/AssbinLoader.h" #endif -#ifndef ASSIMP_BUILD_NO_GLTF_IMPORTER +#if !defined(ASSIMP_BUILD_NO_GLTF_IMPORTER) && !defined(ASSIMP_BUILD_NO_GLTF1_IMPORTER) #include "AssetLib/glTF/glTFImporter.h" +#endif +#if !defined(ASSIMP_BUILD_NO_GLTF_IMPORTER) && !defined(ASSIMP_BUILD_NO_GLTF2_IMPORTER) #include "AssetLib/glTF2/glTF2Importer.h" #endif #ifndef ASSIMP_BUILD_NO_C4D_IMPORTER @@ -339,8 +341,10 @@ void GetImporterInstanceList(std::vector &out) { #if (!defined ASSIMP_BUILD_NO_ASSBIN_IMPORTER) out.push_back(new AssbinImporter()); #endif -#if (!defined ASSIMP_BUILD_NO_GLTF_IMPORTER) +#if (!defined ASSIMP_BUILD_NO_GLTF_IMPORTER && !defined ASSIMP_BUILD_NO_GLTF1_IMPORTER) out.push_back(new glTFImporter()); +#endif +#if (!defined ASSIMP_BUILD_NO_GLTF_IMPORTER && !defined ASSIMP_BUILD_NO_GLTF2_IMPORTER) out.push_back(new glTF2Importer()); #endif #if (!defined ASSIMP_BUILD_NO_C4D_IMPORTER) diff --git a/code/Common/Subdivision.cpp b/code/Common/Subdivision.cpp index b1f07c9f5..c60d2f0d3 100644 --- a/code/Common/Subdivision.cpp +++ b/code/Common/Subdivision.cpp @@ -53,9 +53,9 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. using namespace Assimp; void mydummy() {} -#ifdef _WIN32 +#ifdef _MSC_VER #pragma warning(disable : 4709) -#endif // _WIN32 +#endif // _MSC_VER // ------------------------------------------------------------------------------------------------ /** Subdivider stub class to implement the Catmull-Clarke subdivision algorithm. The * implementation is basing on recursive refinement. Directly evaluating the result is also diff --git a/contrib/gtest/include/gtest/internal/gtest-port.h b/contrib/gtest/include/gtest/internal/gtest-port.h index 0094ed507..f66d9cd32 100644 --- a/contrib/gtest/include/gtest/internal/gtest-port.h +++ b/contrib/gtest/include/gtest/internal/gtest-port.h @@ -312,10 +312,22 @@ __pragma(warning(disable: warnings)) # define GTEST_DISABLE_MSC_WARNINGS_POP_() \ __pragma(warning(pop)) +# if defined(__clang__) +# define GTEST_DISABLE_CLANG_DEPRECATED_WARNINGS_PUSH_() \ + _Pragma("clang diagnostic push") \ + _Pragma("clang diagnostic ignored \"-Wdeprecated-declarations\"") +# define GTEST_DISABLE_CLANG_WARNINGS_POP_() \ + _Pragma("clang diagnostic pop") +# else +# define GTEST_DISABLE_CLANG_DEPRECATED_WARNINGS_PUSH_() +# define GTEST_DISABLE_CLANG_WARNINGS_POP_() +# endif #else // Older versions of MSVC don't have __pragma. # define GTEST_DISABLE_MSC_WARNINGS_PUSH_(warnings) # define GTEST_DISABLE_MSC_WARNINGS_POP_() +# define GTEST_DISABLE_CLANG_DEPRECATED_WARNINGS_PUSH_() +# define GTEST_DISABLE_CLANG_WARNINGS_POP_() #endif #ifndef GTEST_LANG_CXX11 @@ -2352,6 +2364,7 @@ inline bool IsDir(const StatStruct& st) { return S_ISDIR(st.st_mode); } // Functions deprecated by MSVC 8.0. GTEST_DISABLE_MSC_WARNINGS_PUSH_(4996 /* deprecated function */) +GTEST_DISABLE_CLANG_DEPRECATED_WARNINGS_PUSH_() inline const char* StrNCpy(char* dest, const char* src, size_t n) { return strncpy(dest, src, n); @@ -2399,6 +2412,7 @@ inline const char* GetEnv(const char* name) { #endif } +GTEST_DISABLE_CLANG_WARNINGS_POP_() GTEST_DISABLE_MSC_WARNINGS_POP_() #if GTEST_OS_WINDOWS_MOBILE diff --git a/contrib/gtest/src/gtest-port.cc b/contrib/gtest/src/gtest-port.cc index e5bf3dd2b..e04aa9a57 100644 --- a/contrib/gtest/src/gtest-port.cc +++ b/contrib/gtest/src/gtest-port.cc @@ -926,7 +926,7 @@ GTestLog::~GTestLog() { // Disable Microsoft deprecation warnings for POSIX functions called from // this class (creat, dup, dup2, and close) GTEST_DISABLE_MSC_WARNINGS_PUSH_(4996) - +GTEST_DISABLE_CLANG_DEPRECATED_WARNINGS_PUSH_() #if GTEST_HAS_STREAM_REDIRECTION // Object that captures an output stream (stdout/stderr). @@ -1010,6 +1010,7 @@ class CapturedStream { }; GTEST_DISABLE_MSC_WARNINGS_POP_() +GTEST_DISABLE_CLANG_WARNINGS_POP_() static CapturedStream* g_captured_stderr = NULL; static CapturedStream* g_captured_stdout = NULL; diff --git a/contrib/poly2tri/poly2tri/sweep/sweep.cc b/contrib/poly2tri/poly2tri/sweep/sweep.cc index 9e3666001..23aeb6b57 100644 --- a/contrib/poly2tri/poly2tri/sweep/sweep.cc +++ b/contrib/poly2tri/poly2tri/sweep/sweep.cc @@ -36,10 +36,10 @@ namespace p2t { -#ifdef _WIN32 +#ifdef _MSC_VER # pragma warning(push) # pragma warning( disable : 4702 ) -#endif // _WIN32 +#endif // _MSC_VER // Triangulate simple polygon with holes void Sweep::Triangulate(SweepContext& tcx) @@ -800,8 +800,8 @@ Sweep::~Sweep() { } -#ifdef _WIN32 +#ifdef _MSC_VER # pragma warning( pop ) -#endif // _WIN32 +#endif // _MSC_VER } diff --git a/contrib/rapidjson/include/rapidjson/document.h b/contrib/rapidjson/include/rapidjson/document.h index 473d846e3..17df30725 100644 --- a/contrib/rapidjson/include/rapidjson/document.h +++ b/contrib/rapidjson/include/rapidjson/document.h @@ -31,7 +31,7 @@ #include RAPIDJSON_DIAG_PUSH -#ifdef _MSC_VER +#if defined(_MSC_VER) && !(__clang__) RAPIDJSON_DIAG_OFF(4127) // conditional expression is constant RAPIDJSON_DIAG_OFF(4244) // conversion from kXxxFlags to 'uint16_t', possible loss of data #endif diff --git a/contrib/rapidjson/include/rapidjson/encodings.h b/contrib/rapidjson/include/rapidjson/encodings.h index 0df1c3435..de4d9d216 100644 --- a/contrib/rapidjson/include/rapidjson/encodings.h +++ b/contrib/rapidjson/include/rapidjson/encodings.h @@ -17,7 +17,7 @@ #include "rapidjson.h" -#ifdef _MSC_VER +#if defined(_MSC_VER) && !defined(__clang__) RAPIDJSON_DIAG_PUSH RAPIDJSON_DIAG_OFF(4244) // conversion from 'type1' to 'type2', possible loss of data RAPIDJSON_DIAG_OFF(4702) // unreachable code @@ -709,7 +709,7 @@ struct Transcoder { RAPIDJSON_NAMESPACE_END -#if defined(__GNUC__) || defined(_MSC_VER) +#if defined(__GNUC__) || (defined(_MSC_VER) && !defined(__clang__)) RAPIDJSON_DIAG_POP #endif diff --git a/contrib/rapidjson/include/rapidjson/internal/meta.h b/contrib/rapidjson/include/rapidjson/internal/meta.h index 5a9aaa428..bcbfc7709 100644 --- a/contrib/rapidjson/include/rapidjson/internal/meta.h +++ b/contrib/rapidjson/include/rapidjson/internal/meta.h @@ -21,7 +21,7 @@ RAPIDJSON_DIAG_PUSH RAPIDJSON_DIAG_OFF(effc++) #endif -#if defined(_MSC_VER) +#if defined(_MSC_VER) && !defined(__clang__) RAPIDJSON_DIAG_PUSH RAPIDJSON_DIAG_OFF(6334) #endif @@ -174,7 +174,7 @@ template struct RemoveSfinaeTag { typedef T Type; RAPIDJSON_NAMESPACE_END //@endcond -#if defined(__GNUC__) || defined(_MSC_VER) +#if defined(__GNUC__) || (defined(_MSC_VER) && !defined(__clang__)) RAPIDJSON_DIAG_POP #endif diff --git a/contrib/rapidjson/include/rapidjson/reader.h b/contrib/rapidjson/include/rapidjson/reader.h index 120c31115..4b172e953 100644 --- a/contrib/rapidjson/include/rapidjson/reader.h +++ b/contrib/rapidjson/include/rapidjson/reader.h @@ -37,7 +37,7 @@ #include #endif -#ifdef _MSC_VER +#if defined(_MSC_VER) && !defined(__clang__) RAPIDJSON_DIAG_PUSH RAPIDJSON_DIAG_OFF(4127) // conditional expression is constant RAPIDJSON_DIAG_OFF(4702) // unreachable code @@ -2214,7 +2214,7 @@ RAPIDJSON_DIAG_POP RAPIDJSON_DIAG_POP #endif -#ifdef _MSC_VER +#if defined(_MSC_VER) && !defined(__clang__) RAPIDJSON_DIAG_POP #endif diff --git a/contrib/rapidjson/include/rapidjson/writer.h b/contrib/rapidjson/include/rapidjson/writer.h index e610ebb60..53d1a5d7f 100644 --- a/contrib/rapidjson/include/rapidjson/writer.h +++ b/contrib/rapidjson/include/rapidjson/writer.h @@ -36,7 +36,7 @@ #include #endif -#ifdef _MSC_VER +#if defined (_MSC_VER) && !defined(__clang__) RAPIDJSON_DIAG_PUSH RAPIDJSON_DIAG_OFF(4127) // conditional expression is constant #endif @@ -700,11 +700,11 @@ inline bool Writer::ScanWriteUnescapedString(StringStream& is, siz RAPIDJSON_NAMESPACE_END -#ifdef _MSC_VER +#if defined(_MSC_VER) && !defined(__clang__) RAPIDJSON_DIAG_POP #endif -#ifdef __clang__ +#if defined(__clang__) RAPIDJSON_DIAG_POP #endif diff --git a/contrib/unzip/ioapi.c b/contrib/unzip/ioapi.c index e1ef46088..5e0497f9e 100644 --- a/contrib/unzip/ioapi.c +++ b/contrib/unzip/ioapi.c @@ -16,6 +16,10 @@ #ifdef _WIN32 # pragma warning(push) # pragma warning(disable : 4131 4100) +# ifdef __clang__ +# pragma clang diagnostic push +# pragma clang diagnostic ignored "-Wunused-parameter" +# endif #endif // _WIN32 /* I've found an old Unix (a SunOS 4.1.3_U1) without all SEEK_* defined.... */ @@ -181,4 +185,7 @@ void fill_fopen_filefunc (pzlib_filefunc_def) #ifdef _WIN32 # pragma warning(pop) +# ifdef __clang__ +# pragma clang diagnostic pop +# endif #endif // _WIN32 diff --git a/contrib/unzip/ioapi.h b/contrib/unzip/ioapi.h index 7d457baab..63ec641bf 100644 --- a/contrib/unzip/ioapi.h +++ b/contrib/unzip/ioapi.h @@ -24,7 +24,7 @@ #ifndef ZCALLBACK -#if (defined(WIN32) || defined (WINDOWS) || defined (_WINDOWS)) && defined(CALLBACK) && defined (USEWINDOWS_CALLBACK) +#if (defined(_WIN32) || defined (WINDOWS) || defined (_WINDOWS)) && defined(CALLBACK) && defined (USEWINDOWS_CALLBACK) #define ZCALLBACK CALLBACK #else #define ZCALLBACK diff --git a/contrib/unzip/unzip.c b/contrib/unzip/unzip.c index 3937f821e..7bac01df0 100644 --- a/contrib/unzip/unzip.c +++ b/contrib/unzip/unzip.c @@ -1554,7 +1554,6 @@ extern int ZEXPORT unzGetGlobalComment (file, szComment, uSizeBuf) char *szComment; uLong uSizeBuf; { - int err=UNZ_OK; unz_s* s; uLong uReadThis ; if (file==NULL) diff --git a/contrib/zip/src/miniz.h b/contrib/zip/src/miniz.h index 07f7b2de2..7570ae929 100644 --- a/contrib/zip/src/miniz.h +++ b/contrib/zip/src/miniz.h @@ -5361,7 +5361,7 @@ mz_bool mz_zip_reader_extract_to_mem_no_alloc(mz_zip_archive *pZip, } else { // Temporarily allocate a read buffer. read_buf_size = MZ_MIN(file_stat.m_comp_size, MZ_ZIP_MAX_IO_BUF_SIZE); -#ifdef _MSC_VER +#if defined(_MSC_VER) && !defined(__clang__) if (((0, sizeof(size_t) == sizeof(mz_uint32))) && (read_buf_size > 0x7FFFFFFF)) #else @@ -5454,7 +5454,7 @@ void *mz_zip_reader_extract_to_heap(mz_zip_archive *pZip, mz_uint file_index, uncomp_size = MZ_READ_LE32(p + MZ_ZIP_CDH_DECOMPRESSED_SIZE_OFS); alloc_size = (flags & MZ_ZIP_FLAG_COMPRESSED_DATA) ? comp_size : uncomp_size; -#ifdef _MSC_VER +#if defined(_MSC_VER) && !defined(__clang__) if (((0, sizeof(size_t) == sizeof(mz_uint32))) && (alloc_size > 0x7FFFFFFF)) #else if (((sizeof(size_t) == sizeof(mz_uint32))) && (alloc_size > 0x7FFFFFFF)) @@ -5560,7 +5560,7 @@ mz_bool mz_zip_reader_extract_to_callback(mz_zip_archive *pZip, if ((flags & MZ_ZIP_FLAG_COMPRESSED_DATA) || (!file_stat.m_method)) { // The file is stored or the caller has requested the compressed data. if (pZip->m_pState->m_pMem) { -#ifdef _MSC_VER +#if defined (_MSC_VER) && !defined(__clang__) if (((0, sizeof(size_t) == sizeof(mz_uint32))) && (file_stat.m_comp_size > 0xFFFFFFFF)) #else diff --git a/contrib/zip/src/zip.h b/contrib/zip/src/zip.h index 807e328a8..87f3654f4 100644 --- a/contrib/zip/src/zip.h +++ b/contrib/zip/src/zip.h @@ -15,9 +15,10 @@ #include #include -#ifdef _WIN32 +#ifdef _MSC_VER +#pragma warning(push) #pragma warning(disable : 4127 ) -#endif //_WIN32 +#endif //_MSC_VER #ifdef __cplusplus extern "C" { @@ -319,6 +320,10 @@ extern int zip_extract(const char *zipname, const char *dir, /** @} */ +#ifdef _MSC_VER +#pragma warning(pop) +#endif //_MSC_VER + #ifdef __cplusplus } #endif diff --git a/fuzz/assimp_fuzzer.cc b/fuzz/assimp_fuzzer.cc index 86ffe18ed..b65ee0236 100644 --- a/fuzz/assimp_fuzzer.cc +++ b/fuzz/assimp_fuzzer.cc @@ -39,9 +39,12 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------- */ #include +#include #include #include +using namespace Assimp; + extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t dataSize) { aiLogStream stream = aiGetPredefinedLogStream(aiDefaultLogStream_STDOUT,NULL); aiAttachLogStream(&stream); diff --git a/include/assimp/BaseImporter.h b/include/assimp/BaseImporter.h index ed146168d..e6ff2e68d 100644 --- a/include/assimp/BaseImporter.h +++ b/include/assimp/BaseImporter.h @@ -57,6 +57,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include #include #include +#include struct aiScene; struct aiImporterDesc; @@ -391,6 +392,24 @@ public: // static utilities } } + // ------------------------------------------------------------------- + /** Utility function to move a std::vector of unique_ptrs into a aiScene array + * @param vec The vector of unique_ptrs to be moved + * @param out The output pointer to the allocated array. + * @param numOut The output count of elements copied. */ + template + AI_FORCE_INLINE static void CopyVector( + std::vector> &vec, + T **&out, + unsigned int &outLength) { + outLength = unsigned(vec.size()); + if (outLength) { + out = new T*[outLength]; + T** outPtr = out; + std::for_each(vec.begin(), vec.end(), [&outPtr](std::unique_ptr& uPtr){*outPtr = uPtr.release(); ++outPtr; }); + } + } + protected: /// Error description in case there was one. std::string m_ErrorText; diff --git a/include/assimp/Compiler/poppack1.h b/include/assimp/Compiler/poppack1.h index e033bc147..a8e9a3c7e 100644 --- a/include/assimp/Compiler/poppack1.h +++ b/include/assimp/Compiler/poppack1.h @@ -14,7 +14,7 @@ #endif // reset packing to the original value -#if defined(_MSC_VER) || defined(__BORLANDC__) || defined (__BCPLUSPLUS__) +#if (defined(_MSC_VER) && !defined(__clang__)) || defined(__BORLANDC__) || defined (__BCPLUSPLUS__) # pragma pack( pop ) #endif #undef PACK_STRUCT diff --git a/include/assimp/Compiler/pushpack1.h b/include/assimp/Compiler/pushpack1.h index 4c9fbb857..2a5e2dfe6 100644 --- a/include/assimp/Compiler/pushpack1.h +++ b/include/assimp/Compiler/pushpack1.h @@ -22,7 +22,7 @@ # error poppack1.h must be included after pushpack1.h #endif -#if defined(_MSC_VER) || defined(__BORLANDC__) || defined (__BCPLUSPLUS__) +#if (defined(_MSC_VER) && !defined(__clang__)) || defined(__BORLANDC__) || defined (__BCPLUSPLUS__) # pragma pack(push,1) # define PACK_STRUCT #elif defined( __GNUC__ ) || defined(__clang__) diff --git a/include/assimp/Exporter.hpp b/include/assimp/Exporter.hpp index ed910d4d7..15918dd47 100644 --- a/include/assimp/Exporter.hpp +++ b/include/assimp/Exporter.hpp @@ -54,6 +54,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include "cexport.h" #include +#include namespace Assimp { @@ -107,7 +108,8 @@ public: } ExportFormatEntry() : - mExportFunction(), mEnforcePP() { + mExportFunction(), + mEnforcePP() { mDescription.id = nullptr; mDescription.description = nullptr; mDescription.fileExtension = nullptr; @@ -147,7 +149,7 @@ public: * interface is the default IO handler provided by ASSIMP. The default * handler is active as long the application doesn't supply its own * custom IO handler via #SetIOHandler(). - * @return A valid IOSystem interface, never nullptr. */ + * @return A valid IOSystem interface, never NULL. */ IOSystem *GetIOHandler() const; // ------------------------------------------------------------------- @@ -286,7 +288,7 @@ public: * @param pIndex Index of the export format to retrieve information * for. Valid range is 0 to #Exporter::GetExportFormatCount * @return A description of that specific export format. - * nullptr if pIndex is out of range. */ + * NULL if pIndex is out of range. */ const aiExportFormatDesc *GetExportFormatDescription(size_t pIndex) const; // ------------------------------------------------------------------- @@ -329,6 +331,7 @@ public: typedef std::map FloatPropertyMap; typedef std::map StringPropertyMap; typedef std::map MatrixPropertyMap; + typedef std::map> CallbackPropertyMap; public: /** Standard constructor @@ -387,6 +390,8 @@ public: * @see SetPropertyInteger() */ bool SetPropertyMatrix(const char *szName, const aiMatrix4x4 &sValue); + + bool SetPropertyCallback(const char *szName, const std::function &f); // ------------------------------------------------------------------- /** Get a configuration property. @@ -440,6 +445,8 @@ public: const aiMatrix4x4 GetPropertyMatrix(const char *szName, const aiMatrix4x4 &sErrorReturn = aiMatrix4x4()) const; + std::function GetPropertyCallback(const char* szName) const; + // ------------------------------------------------------------------- /** Determine a integer configuration property has been set. * @see HasPropertyInteger() @@ -466,7 +473,8 @@ public: */ bool HasPropertyMatrix(const char *szName) const; -protected: + bool HasPropertyCallback(const char *szName) const; + /** List of integer properties */ IntPropertyMap mIntProperties; @@ -478,6 +486,8 @@ protected: /** List of Matrix properties */ MatrixPropertyMap mMatrixProperties; + + CallbackPropertyMap mCallbackProperties; }; // ---------------------------------------------------------------------------------- diff --git a/include/assimp/StringUtils.h b/include/assimp/StringUtils.h index 7e1cb4ce0..d848a6527 100644 --- a/include/assimp/StringUtils.h +++ b/include/assimp/StringUtils.h @@ -53,6 +53,12 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include #include +#ifdef _MSC_VER +# define AI_SIZEFMT "%Iu" +#else +# define AI_SIZEFMT "%zu" +#endif + /// @fn ai_snprintf /// @brief The portable version of the function snprintf ( C99 standard ), which works on visual studio compilers 2013 and earlier. /// @param outBuf The buffer to write in @@ -87,6 +93,8 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. return count; } +#elif defined(__MINGW32__) +# define ai_snprintf __mingw_snprintf #else # define ai_snprintf snprintf #endif @@ -150,7 +158,7 @@ std::string DecimalToHexa( T toConvert ) { /// @param g aiColor.g /// @param b aiColor.b /// @param a aiColor.a -/// @param with_head # +/// @param with_head # /// @return The hexadecimal string, is empty in case of an error. AI_FORCE_INLINE std::string Rgba2Hex(int r, int g, int b, int a, bool with_head) { std::stringstream ss; @@ -158,7 +166,7 @@ AI_FORCE_INLINE std::string Rgba2Hex(int r, int g, int b, int a, bool with_head) ss << "#"; } ss << std::hex << (r << 24 | g << 16 | b << 8 | a); - + return ss.str(); } diff --git a/samples/SimpleOpenGL/Sample_SimpleOpenGL.c b/samples/SimpleOpenGL/Sample_SimpleOpenGL.c index bcc964efe..bcb109564 100644 --- a/samples/SimpleOpenGL/Sample_SimpleOpenGL.c +++ b/samples/SimpleOpenGL/Sample_SimpleOpenGL.c @@ -278,7 +278,7 @@ void do_motion (void) static int frames = 0; int time = glutGet(GLUT_ELAPSED_TIME); - angle += static_cast((time-prev_time)*0.01); + angle += (float)((time-prev_time)*0.01); prev_time = time; frames += 1; @@ -376,7 +376,7 @@ int main(int argc, char **argv) // Check and validate the specified model file extension. model_file = argv[1]; - const char* extension = strchr(model_file, '.'); + const char* extension = strrchr(model_file, '.'); if (!extension) { print_error("Please provide a file with a valid extension."); return EXIT_FAILURE; diff --git a/test/models/AC/Wuson.acc b/test/models/AC/Wuson.acc new file mode 100644 index 000000000..6e6aee582 --- /dev/null +++ b/test/models/AC/Wuson.acc @@ -0,0 +1,9528 @@ +AC3Db +MATERIAL "DefaultWhite" rgb 1 1 1 amb 1 1 1 emis 0 0 0 spec 0.5 0.5 0.5 shi 0 trans 0 +OBJECT world +kids 1 +OBJECT poly +name "MESH" +numvert 3161 +-0.343303 -1.163795 -1.072610 -0.368130 -0.808416 -0.459286 +-0.361312 -1.160513 -1.063353 -0.921609 -0.357869 0.150225 +-0.355943 -1.129597 -1.088021 -0.345433 -0.217054 -0.912997 +-0.372936 -1.126281 -1.083700 -0.914896 0.346902 0.206458 +-0.357764 -1.155275 -1.061677 -0.283888 0.500285 0.817999 +-0.363313 -1.128177 -1.076717 -0.196322 0.115199 0.973749 +-0.348236 -1.105636 -1.066348 -0.439092 -0.108607 0.891854 +-0.351197 -1.098160 -1.069294 -0.778692 0.625695 -0.046313 +-0.332530 -1.106033 -1.077487 -0.129960 0.518644 -0.845055 +-0.329556 -1.172598 -1.035929 -0.354215 0.719343 0.597559 +-0.331995 -1.180665 -1.031806 -0.725050 -0.488759 0.485198 +-0.304381 -1.184538 -1.045494 -0.192502 -0.977040 -0.091296 +-0.305743 -1.176263 -1.011915 -0.526763 0.554871 0.643925 +-0.305398 -1.183834 -1.009541 -0.459568 -0.736064 0.496999 +-0.279853 -1.188245 -1.025279 -0.035887 -0.991930 0.121604 +-0.336214 -1.117070 -1.070677 -0.067295 -0.344926 0.936214 +-0.348472 -1.131245 -1.076251 -0.013622 0.085427 0.996251 +-0.275683 -1.171798 -0.990842 -0.565770 0.588340 0.577719 +-0.292839 -1.167308 -1.027903 -0.343933 0.883692 0.317487 +-0.269625 -1.163410 -0.996001 -0.627770 0.683018 0.373351 +-0.312037 -1.163003 -1.057184 -0.022911 0.847034 0.531045 +-0.338613 -1.146774 -1.069065 0.068005 0.526146 0.847671 +-0.265898 -1.184636 -1.016200 0.175160 -0.966731 0.186413 +-0.285302 -1.182847 -0.993891 -0.391605 -0.472438 0.789587 +-0.264614 -1.166326 -0.984473 -0.466393 0.081932 0.880775 +-0.245808 -1.173403 -0.979229 0.033385 -0.844246 0.534915 +-0.239201 -1.174720 -0.997346 0.243556 -0.956868 0.158380 +-0.159733 -1.351043 -0.960337 -0.239022 -0.260069 -0.935539 +-0.149381 -1.370119 -0.954521 -0.220660 -0.628737 -0.745654 +-0.173488 -1.358508 -0.942559 -0.566451 -0.505769 -0.650639 +-0.167375 -1.369772 -0.939125 -0.476905 -0.692115 -0.541791 +-0.141802 -1.384084 -0.938632 -0.071415 -0.903737 -0.422089 +-0.162901 -1.378017 -0.929744 -0.372041 -0.885358 -0.278795 +-0.139028 -1.389196 -0.916928 -0.019344 -0.999706 0.014590 +-0.161263 -1.381035 -0.916928 -0.343948 -0.937138 0.058924 +-0.141802 -1.384084 -0.895224 -0.078381 -0.890914 0.447357 +-0.162901 -1.378017 -0.904112 -0.400130 -0.833585 0.380831 +-0.149381 -1.370119 -0.879335 -0.232714 -0.606512 0.760255 +-0.167375 -1.369772 -0.894731 -0.525584 -0.602416 0.600713 +-0.159733 -1.351043 -0.873520 -0.369964 -0.223894 0.901664 +-0.173488 -1.358508 -0.891297 -0.566429 -0.505766 0.650660 +-0.135179 -1.337718 -0.965356 -0.196599 -0.007046 -0.980459 +-0.123630 -1.359001 -0.958868 0.042811 -0.448241 -0.892887 +-0.115175 -1.374581 -0.941142 0.229247 -0.791845 -0.566063 +-0.112080 -1.380283 -0.916928 0.312801 -0.945773 -0.087579 +-0.115175 -1.374581 -0.892714 0.271020 -0.868807 0.414394 +-0.123630 -1.359001 -0.874988 0.115139 -0.581556 0.805317 +-0.135179 -1.337718 -0.868500 -0.113082 -0.160991 0.980456 +-0.146729 -1.316436 -0.874988 -0.271926 0.142550 0.951701 +-0.170085 -1.331967 -0.879335 -0.271920 0.142548 0.951704 +-0.146729 -1.316436 -0.958868 -0.271926 0.142557 -0.951701 +-0.170085 -1.331967 -0.954521 -0.271922 0.142577 -0.951699 +-0.167375 -1.369772 -0.939125 -0.787254 -0.574453 -0.224132 +-0.179524 -1.361783 -0.916928 -0.878924 -0.476962 0.000000 +-0.173488 -1.358508 -0.942559 -0.832254 -0.383619 -0.400237 +-0.162901 -1.378017 -0.929744 -0.742078 -0.657706 -0.129398 +-0.161263 -1.381035 -0.916928 -0.725534 -0.688187 0.000000 +-0.162901 -1.378017 -0.904112 -0.742078 -0.657706 0.129398 +-0.167375 -1.369772 -0.894731 -0.787254 -0.574453 0.224132 +-0.173488 -1.358508 -0.891297 -0.815145 -0.340009 0.468970 +-0.179601 -1.347243 -0.894731 -0.891526 -0.157300 0.424780 +-0.184075 -1.338998 -0.904112 -0.974488 -0.004417 0.224398 +-0.185713 -1.335980 -0.916928 -0.998550 0.039917 -0.036121 +-0.184075 -1.338998 -0.929744 -0.957262 -0.036154 -0.286953 +-0.179601 -1.347243 -0.939125 -0.861690 -0.212288 -0.460896 +-0.159733 -1.351043 -0.873520 -0.732750 -0.199300 0.650658 +-0.170085 -1.331967 -0.879335 -0.712883 0.157143 0.683450 +-0.177663 -1.318002 -0.895224 -0.796647 0.432669 0.422081 +-0.180437 -1.312890 -0.916928 -0.848727 0.528630 -0.014588 +-0.177663 -1.318002 -0.938632 -0.789690 0.419839 -0.447353 +-0.170085 -1.331967 -0.954521 -0.784588 0.122559 -0.607783 +-0.159733 -1.351043 -0.960337 -0.732770 -0.199292 -0.650639 +-0.146729 -1.316436 -0.874988 -0.482612 0.530771 0.696684 +-0.155183 -1.300856 -0.892714 -0.538967 0.623774 0.566056 +-0.158278 -1.295154 -0.916928 -0.622490 0.777712 0.087578 +-0.155183 -1.300856 -0.941142 -0.580728 0.700739 -0.414391 +-0.146729 -1.316436 -0.958868 -0.482615 0.530772 -0.696681 +-0.007777 1.583781 -1.285707 -0.694618 -0.192257 0.693213 +-0.000345 1.583852 -1.280908 -0.513488 -0.157742 0.843474 +-0.013389 1.611106 -1.283752 -0.678659 -0.191051 0.709169 +-0.000428 1.612066 -1.276136 -0.493065 -0.146496 0.857570 +-0.020758 1.612066 -1.293944 -0.799698 -0.223856 0.557110 +-0.015212 1.583690 -1.297385 -0.812305 -0.215486 0.541965 +-0.012060 1.519814 -1.281023 -0.699437 -0.147215 0.699368 +-0.000351 1.519087 -1.274030 -0.481137 -0.142013 0.865066 +-0.018614 1.595557 -1.271634 -0.711099 -0.134462 0.690115 +-0.000373 1.597562 -1.262090 -0.447717 -0.134624 0.883983 +-0.027355 1.597562 -1.291280 -0.913149 -0.093619 0.396729 +-0.022072 1.519996 -1.297424 -0.881899 -0.115633 0.457036 +-0.015475 1.475798 -1.277939 -0.777520 -0.141381 0.612759 +-0.000349 1.475675 -1.269924 -0.441888 -0.140128 0.886058 +-0.023519 1.567919 -1.266891 -0.753911 -0.146545 0.640424 +-0.000372 1.570149 -1.255745 -0.419314 -0.134843 0.897771 +-0.034452 1.570149 -1.296174 -0.930455 -0.145408 0.336318 +-0.021517 1.476233 -1.300993 -0.947124 -0.129821 0.293433 +-0.036751 1.537030 -1.295993 -0.940385 -0.168274 0.295568 +-0.021517 1.443114 -1.300993 -0.949139 -0.158746 0.271908 +-0.025818 1.534800 -1.262478 -0.949139 -0.158746 0.271908 +-0.015475 1.442679 -1.277939 -0.957204 -0.149103 0.248051 +-0.015475 1.442679 -1.277939 -0.460301 -0.196964 0.865638 +-0.000349 1.442555 -1.269924 -0.439601 -0.192197 0.877389 +-0.025818 1.534800 -1.262478 -0.439601 -0.192197 0.877389 +-0.000372 1.537030 -1.250020 -0.418642 -0.187317 0.888623 +-0.039525 1.500012 -1.289692 -0.926847 -0.120357 0.355623 +-0.028506 1.392485 -1.297365 -0.912115 -0.132629 0.387885 +-0.027067 1.497572 -1.258049 -0.912115 -0.132629 0.387885 +-0.018579 1.392218 -1.276257 -0.896099 -0.144714 0.419601 +-0.018579 1.392218 -1.276257 -0.426589 -0.187293 0.884841 +-0.000351 1.392143 -1.267485 -0.412715 -0.184418 0.891996 +-0.027067 1.497572 -1.258049 -0.412715 -0.184418 0.891996 +-0.000403 1.500012 -1.245729 -0.398737 -0.181496 0.898926 +-0.043651 1.457243 -1.289771 -0.922057 -0.154920 0.354699 +-0.028506 1.349716 -1.297365 -0.907360 -0.166177 0.386114 +-0.031193 1.454802 -1.258452 -0.907360 -0.166177 0.386114 +-0.018579 1.349450 -1.276257 -0.891456 -0.177213 0.417015 +-0.018579 1.349450 -1.276257 -0.425544 -0.200104 0.882536 +-0.000351 1.349374 -1.267485 -0.399148 -0.193555 0.896224 +-0.031193 1.454802 -1.258452 -0.399148 -0.193555 0.896224 +-0.000403 1.457243 -1.245338 -0.372382 -0.186826 0.909081 +-0.046819 1.414506 -1.287978 -0.891662 -0.144440 0.429041 +-0.029357 1.278820 -1.297367 -0.898695 -0.140587 0.415431 +-0.032103 1.411768 -1.258316 -0.898695 -0.140587 0.415431 +-0.019341 1.278735 -1.274819 -0.905504 -0.136700 0.401717 +-0.019341 1.278735 -1.274819 -0.447698 -0.152254 0.881127 +-0.000345 1.279529 -1.265030 -0.402402 -0.142552 0.904296 +-0.032103 1.411768 -1.258316 -0.402402 -0.142552 0.904296 +-0.000345 1.414506 -1.245701 -0.356026 -0.132468 0.925039 +-0.043068 1.325265 -1.289129 -0.870751 -0.100438 0.481357 +-0.032032 1.188607 -1.297680 -0.892376 -0.089747 0.442279 +-0.028351 1.322527 -1.263078 -0.892376 -0.089747 0.442279 +-0.021388 1.189144 -1.273440 -0.912119 -0.078866 0.402267 +-0.021388 1.189144 -1.273440 -0.409418 -0.091889 0.907708 +-0.000345 1.188933 -1.263970 -0.359933 -0.081660 0.929398 +-0.028351 1.322527 -1.263078 -0.359933 -0.081660 0.929398 +-0.000345 1.325265 -1.253736 -0.309359 -0.071184 0.948277 +-0.014435 1.611458 -1.309839 -0.869412 -0.422036 -0.256921 +-0.002626 1.584369 -1.305302 -0.751840 -0.267439 -0.602671 +-0.017630 1.611106 -1.298449 -0.965614 -0.240434 -0.098898 +-0.015267 1.583688 -1.297604 -0.971576 -0.090476 -0.218757 +-0.007538 1.583853 -1.285870 -0.903892 -0.149778 0.400682 +-0.014435 1.612066 -1.284791 -0.941571 -0.239245 0.237077 +-0.000428 1.612066 -1.318737 -0.493111 -0.146522 -0.857539 +-0.000345 1.583852 -1.313964 -0.513472 -0.157733 -0.843485 +-0.013389 1.611106 -1.311120 -0.678646 -0.191041 -0.709185 +-0.007777 1.583781 -1.309166 -0.694588 -0.192228 -0.693250 +-0.015212 1.583690 -1.297488 -0.812295 -0.215477 -0.541984 +-0.020758 1.612066 -1.300929 -0.799672 -0.223856 -0.557147 +-0.000373 1.597562 -1.332783 -0.447776 -0.134619 -0.883954 +-0.000351 1.519087 -1.320843 -0.481166 -0.142001 -0.865052 +-0.018613 1.595557 -1.323238 -0.711100 -0.134451 -0.690115 +-0.012060 1.519814 -1.313850 -0.699438 -0.147197 -0.699370 +-0.022072 1.519996 -1.297449 -0.881886 -0.115625 -0.457064 +-0.027355 1.597562 -1.303593 -0.913125 -0.093622 -0.396784 +-0.022081 1.597562 -1.324929 -0.962630 -0.159597 -0.218798 +-0.011751 1.520020 -1.313816 -0.905427 -0.107635 -0.410629 +-0.027835 1.595557 -1.298151 -0.993500 -0.112701 -0.016025 +-0.023238 1.519814 -1.297900 -0.997698 -0.060653 -0.030337 +-0.012708 1.519996 -1.281267 -0.919986 -0.099463 0.379121 +-0.022081 1.597562 -1.270444 -0.966419 -0.146262 0.211284 +-0.000372 1.570149 -1.339127 -0.419283 -0.134836 -0.897787 +-0.000349 1.475675 -1.324949 -0.441896 -0.140130 -0.886054 +-0.023519 1.567919 -1.327982 -0.753918 -0.146544 -0.640416 +-0.015475 1.475798 -1.316933 -0.777534 -0.141386 -0.612740 +-0.021517 1.476234 -1.293880 -0.947128 -0.129819 -0.293422 +-0.034451 1.570149 -1.298699 -0.930466 -0.145400 -0.336291 +-0.027068 1.570149 -1.329074 -0.967620 -0.146678 -0.205421 +-0.015223 1.476312 -1.317866 -0.927524 -0.105642 -0.358523 +-0.033316 1.567919 -1.298051 -0.994028 -0.109005 -0.005130 +-0.026855 1.475798 -1.297816 -0.997387 -0.069998 -0.017869 +-0.015913 1.476233 -1.277305 -0.932470 -0.098339 0.347606 +-0.027068 1.570149 -1.268926 -0.966746 -0.134247 0.217669 +-0.015475 1.442679 -1.316933 -0.957201 -0.149107 -0.248061 +-0.021517 1.443114 -1.293880 -0.949138 -0.158748 -0.271913 +-0.025818 1.534800 -1.332395 -0.949138 -0.158748 -0.271913 +-0.036751 1.537030 -1.298880 -0.940385 -0.168274 -0.295568 +-0.000372 1.537030 -1.344853 -0.418642 -0.187317 -0.888623 +-0.000349 1.442555 -1.324949 -0.439623 -0.192202 -0.877377 +-0.025818 1.534800 -1.332395 -0.439623 -0.192202 -0.877377 +-0.015475 1.442679 -1.316933 -0.460344 -0.196974 -0.865612 +-0.029367 1.537029 -1.333645 -0.967483 -0.176324 -0.181345 +-0.015223 1.443193 -1.317866 -0.928580 -0.132019 -0.346858 +-0.035616 1.534799 -1.298138 -0.990634 -0.136435 -0.005446 +-0.026855 1.442678 -1.297816 -0.995344 -0.094723 -0.017856 +-0.015913 1.443114 -1.277305 -0.933855 -0.124500 0.335282 +-0.029367 1.537029 -1.264803 -0.967490 -0.164206 0.192351 +-0.032987 1.500012 -1.334286 -0.971131 -0.154903 -0.181408 +-0.018732 1.392114 -1.318464 -0.947302 -0.128622 -0.293385 +-0.039357 1.497572 -1.298102 -0.991493 -0.129558 -0.012494 +-0.027913 1.392711 -1.297786 -0.993594 -0.108531 -0.031485 +-0.020142 1.392485 -1.276685 -0.955806 -0.120075 0.268359 +-0.032987 1.500012 -1.264132 -0.971548 -0.138489 0.192131 +-0.018579 1.392219 -1.318616 -0.896096 -0.144712 -0.419607 +-0.028506 1.392485 -1.297508 -0.912112 -0.132628 -0.387893 +-0.027067 1.497572 -1.336823 -0.912112 -0.132628 -0.387893 +-0.039525 1.500012 -1.305181 -0.926844 -0.120357 -0.355633 +-0.000403 1.500012 -1.349143 -0.398738 -0.181488 -0.898927 +-0.000351 1.392143 -1.327388 -0.412720 -0.184410 -0.891995 +-0.027067 1.497572 -1.336823 -0.412720 -0.184410 -0.891995 +-0.018579 1.392219 -1.318616 -0.426598 -0.187287 -0.884838 +-0.037113 1.457243 -1.333909 -0.964164 -0.190659 -0.184490 +-0.018732 1.349345 -1.318464 -0.941715 -0.164327 -0.293545 +-0.043483 1.454802 -1.298096 -0.985875 -0.167038 -0.012229 +-0.027913 1.349942 -1.297786 -0.988664 -0.146892 -0.031070 +-0.020142 1.349716 -1.276685 -0.950360 -0.156266 0.269068 +-0.037113 1.457243 -1.264473 -0.965051 -0.174518 0.195502 +-0.018579 1.349450 -1.318616 -0.891457 -0.177208 -0.417015 +-0.028506 1.349716 -1.297508 -0.907357 -0.166175 -0.386121 +-0.031193 1.454803 -1.336420 -0.907357 -0.166175 -0.386121 +-0.043651 1.457243 -1.305102 -0.922051 -0.154921 -0.354713 +-0.000403 1.457243 -1.349535 -0.372411 -0.186832 -0.909067 +-0.000351 1.349374 -1.327387 -0.399143 -0.193552 -0.896227 +-0.031193 1.454803 -1.336420 -0.399143 -0.193552 -0.896227 +-0.018579 1.349450 -1.318616 -0.425506 -0.200093 -0.882557 +-0.031963 1.414506 -1.332496 -0.954880 -0.131496 -0.266294 +-0.016837 1.279816 -1.320225 -0.916973 -0.104483 -0.385025 +-0.041210 1.411768 -1.297986 -0.994133 -0.106553 -0.018579 +-0.029808 1.280044 -1.297729 -0.995162 -0.086233 -0.047081 +-0.019007 1.279646 -1.274121 -0.932637 -0.093796 0.348412 +-0.031963 1.414506 -1.265585 -0.953357 -0.109396 0.281325 +-0.019341 1.278736 -1.320054 -0.905502 -0.136694 -0.401722 +-0.029357 1.278820 -1.297506 -0.898688 -0.140585 -0.415446 +-0.032102 1.411768 -1.336557 -0.898688 -0.140585 -0.415446 +-0.046819 1.414506 -1.306895 -0.891650 -0.144440 -0.429065 +-0.000345 1.414506 -1.349172 -0.356035 -0.132474 -0.925035 +-0.000345 1.279529 -1.329842 -0.402391 -0.142553 -0.904301 +-0.032102 1.411768 -1.336557 -0.402391 -0.142553 -0.904301 +-0.019341 1.278736 -1.320054 -0.447668 -0.152251 -0.881143 +-0.028212 1.325265 -1.328228 -0.952886 -0.064003 -0.296499 +-0.021185 1.189232 -1.321447 -0.933902 -0.051572 -0.353791 +-0.037459 1.322527 -1.297919 -0.998128 -0.056463 0.023495 +-0.032060 1.188684 -1.297206 -0.998460 -0.040072 0.038376 +-0.019151 1.190492 -1.273409 -0.915769 -0.053065 0.398185 +-0.028212 1.325265 -1.269463 -0.946438 -0.072841 0.314561 +-0.021388 1.189144 -1.321433 -0.912125 -0.078865 -0.402253 +-0.032032 1.188607 -1.297192 -0.892380 -0.089748 -0.442272 +-0.028351 1.322527 -1.331795 -0.892380 -0.089748 -0.442272 +-0.043068 1.325265 -1.305744 -0.870751 -0.100442 -0.481357 +-0.000345 1.325265 -1.341137 -0.309359 -0.071184 -0.948277 +-0.000345 1.188933 -1.330903 -0.359933 -0.081660 -0.929398 +-0.028351 1.322527 -1.331795 -0.359933 -0.081660 -0.929398 +-0.021388 1.189144 -1.321433 -0.409418 -0.091889 -0.907708 +0.000000 -1.276195 -0.555204 -1.000000 0.000044 0.000106 +0.000014 -1.250245 -0.434445 -1.000000 0.000025 0.000099 +0.000000 -1.188162 -0.591492 -1.000000 0.000021 0.000096 +0.000014 -1.159240 -0.439762 -1.000000 0.000007 0.000088 +0.000000 -1.063840 -0.611120 -1.000000 -0.000003 0.000086 +0.000014 -1.050621 -0.441716 -1.000000 -0.000011 0.000086 +0.000000 -0.987748 -0.589001 -1.000000 -0.000030 0.000089 +0.000014 -0.986598 -0.434334 -1.000000 -0.000033 0.000095 +0.000000 -0.931298 -0.554330 -1.000000 -0.000055 0.000098 +0.000014 -0.932663 -0.417662 -1.000000 -0.000050 0.000108 +0.000000 -0.882034 -0.516288 -1.000000 -0.000065 0.000115 +0.000014 -0.880610 -0.399948 -1.000000 -0.000059 0.000125 +0.000000 -0.820980 -0.477658 -1.000000 -0.000074 0.000130 +0.000014 -0.822789 -0.374273 -1.000000 -0.000072 0.000142 +0.000000 -0.743088 -0.427930 -1.000000 -0.000070 0.000150 +0.000014 -0.744348 -0.339557 -1.000000 -0.000057 0.000160 +0.000000 -0.682874 -0.406746 -1.000000 -0.000033 0.000152 +0.000014 -0.681405 -0.321842 -1.000000 -0.000039 0.000166 +0.000000 -0.520932 -0.408895 -1.000000 0.000011 0.000119 +0.000014 -0.518173 -0.291564 -1.000000 0.000006 0.000133 +0.000000 -0.433288 -0.424155 -1.000000 0.000034 0.000124 +0.000014 -0.422456 -0.316589 -1.000000 0.000040 0.000125 +0.000014 -0.340680 -0.343339 -1.000000 0.000049 0.000115 +0.000000 -0.365253 -0.450508 -1.000000 0.000051 0.000121 +0.000000 -0.278299 -0.498183 -1.000000 0.000038 0.000111 +0.000014 -0.278986 -0.368215 -1.000000 0.000022 0.000109 +0.000014 -0.182662 -0.379905 -1.000000 0.000017 0.000125 +0.000000 -0.181285 -0.504868 -1.000000 0.000008 0.000111 +0.000000 -0.002516 -0.511473 -1.000000 0.000018 0.000131 +0.000014 -0.003255 -0.418132 -1.000000 0.000032 0.000150 +-0.090468 -0.527023 -0.448803 -0.915722 -0.132316 0.379403 +-0.038948 -0.523525 -0.323235 -0.906733 -0.041819 0.419626 +-0.122302 -0.438939 -0.494918 -0.897874 -0.062103 0.435850 +-0.043792 -0.422016 -0.343618 -0.870977 0.054486 0.488293 +-0.044009 -0.342730 -0.376249 -0.808265 0.106176 0.579166 +-0.144772 -0.369612 -0.521974 -0.848424 0.023093 0.528814 +-0.163313 -0.268690 -0.540612 -0.792544 -0.007641 0.609766 +-0.049406 -0.273320 -0.399098 -0.751218 0.043022 0.658650 +-0.044787 -0.177356 -0.408909 -0.675643 0.215521 0.705023 +-0.173070 -0.171995 -0.533485 -0.778539 0.281322 0.561012 +0.000000 -0.002516 -0.511473 -0.700250 0.713833 0.009658 +-0.007276 -0.010464 -0.451574 -0.735097 0.562851 0.377931 +0.000000 -1.276185 -0.555181 -0.953738 -0.293920 0.063200 +-0.000071 -1.253767 -0.451994 -0.968818 -0.228921 0.094801 +-0.028426 -1.191990 -0.592592 -0.977115 -0.187074 0.101237 +-0.017762 -1.166412 -0.476638 -0.985726 -0.114760 0.123181 +-0.044876 -1.066191 -0.622134 -0.989850 -0.071612 0.122757 +-0.028477 -1.049551 -0.487267 -0.989857 -0.105042 0.095653 +-0.045709 -0.984544 -0.606913 -0.989511 -0.129959 0.063078 +-0.040666 -0.987166 -0.466243 -0.989128 -0.138085 0.050589 +-0.054009 -0.924554 -0.576160 -0.981705 -0.177060 0.070039 +-0.043304 -0.921943 -0.452843 -0.978345 -0.163908 0.126390 +-0.066690 -0.876854 -0.541092 -0.954227 -0.251133 0.162427 +-0.044857 -0.874260 -0.433364 -0.948194 -0.167567 0.269908 +-0.080293 -0.814336 -0.503604 -0.923417 -0.182051 0.337874 +-0.040422 -0.812548 -0.413537 -0.909730 -0.134698 0.392743 +-0.075641 -0.735415 -0.462425 -0.911591 -0.150866 0.382415 +-0.039930 -0.738402 -0.375737 -0.919840 -0.144710 0.364627 +-0.072233 -0.668912 -0.433957 -0.926843 -0.111684 0.358454 +-0.040244 -0.668088 -0.348705 -0.928134 -0.093480 0.360318 +-0.090468 -0.527023 -0.448803 -0.928048 -0.070966 0.365637 +-0.038948 -0.523525 -0.323235 -0.922983 -0.058735 0.380332 +-0.081137 0.746770 -1.310106 0.445926 0.283467 -0.848997 +-0.083203 0.776489 -1.299486 0.411560 0.292010 -0.863336 +-0.049248 0.745544 -1.293766 0.123347 0.417871 -0.900094 +-0.031367 0.777065 -1.277087 0.381269 0.254053 -0.888871 +-0.078983 0.672760 -1.329372 -0.479434 0.535854 -0.694985 +-0.060854 0.725216 -1.324017 -0.938781 0.308866 0.152618 +-0.229770 -0.368127 -0.574212 -0.518484 0.117324 0.847000 +-0.186971 -0.445619 -0.537279 -0.535712 0.129421 0.834424 +-0.144773 -0.369613 -0.521976 -0.535712 0.129421 0.834424 +-0.122304 -0.438939 -0.494920 -0.552618 0.141441 0.821345 +-0.348796 -0.704774 -0.000013 -0.000597 0.002011 0.999998 +-0.332202 -0.734652 0.000057 0.000868 0.001874 0.999998 +-0.349110 -0.655147 -0.000113 0.000217 0.000179 1.000000 +-0.335244 -0.615850 -0.000015 0.001307 -0.002955 0.999995 +-0.278199 -0.590617 -0.000015 0.000255 -0.001293 0.999999 +-0.222624 -0.608680 -0.000015 0.000000 0.000000 1.000000 +-0.200394 -0.636211 -0.000015 -0.000316 -0.000123 1.000000 +-0.189201 -0.700580 -0.000015 0.000000 0.000000 1.000000 +-0.208629 -0.741017 -0.000015 -0.000205 0.000287 1.000000 +-0.248955 -0.755402 -0.000014 -0.000273 0.000835 1.000000 +-0.272467 -0.735551 -0.000037 0.000378 0.000951 0.999999 +-0.295178 -0.752239 0.000018 0.001591 0.001131 0.999998 +-0.281603 -0.495410 -0.271164 0.295101 0.640769 0.708753 +-0.246942 -0.515169 -0.267732 0.357069 0.656451 0.664510 +-0.284307 -0.461224 -0.300945 0.357069 0.656451 0.664510 +-0.237075 -0.487034 -0.304912 0.416879 0.668166 0.616251 +-0.320785 -0.569750 -0.245758 -0.985638 -0.164017 -0.040210 +-0.316683 -0.593278 -0.250336 -0.960675 -0.272203 -0.054854 +-0.318454 -0.607310 -0.149689 -0.960675 -0.272203 -0.054854 +-0.309583 -0.628690 -0.151638 -0.923664 -0.376974 -0.068810 +-0.337312 -0.487621 -0.305082 -0.575286 0.620671 0.532741 +-0.284307 -0.461224 -0.300945 -0.453752 0.690854 0.562876 +-0.336212 -0.447832 -0.375617 -0.593563 0.683031 0.425619 +-0.287657 -0.420008 -0.357903 -0.560305 0.655029 0.506947 +-0.355280 -0.513678 -0.307759 -0.805873 0.273567 0.525100 +-0.383499 -0.505994 -0.385173 -0.776811 0.539922 0.324113 +-0.348767 -0.549903 -0.311345 -0.881100 -0.218222 0.419574 +-0.333531 -0.536521 -0.271928 -0.908451 0.090079 0.408169 +-0.321012 -0.513381 -0.269870 -0.591340 0.625468 0.509025 +-0.281603 -0.495410 -0.271164 -0.355068 0.741130 0.569784 +-0.343097 -0.581915 -0.315867 -0.798783 -0.482113 0.359879 +-0.328640 -0.560920 -0.275564 -0.926180 -0.213048 0.311129 +-0.320785 -0.569750 -0.245758 -0.958602 -0.199829 0.202854 +-0.325592 -0.544287 -0.241358 -0.968760 -0.007153 0.247898 +-0.314774 -0.524596 -0.238126 -0.739007 0.574149 0.352451 +-0.281356 -0.506819 -0.237638 -0.414281 0.845209 0.337629 +-0.316683 -0.593278 -0.250336 -0.852119 -0.505094 0.137014 +-0.324506 -0.588902 -0.280399 -0.863885 -0.438113 0.248517 +-0.319099 -0.611475 -0.323902 -0.598339 -0.744404 0.296400 +-0.332847 -0.626788 -0.381643 -0.641025 -0.693271 0.329335 +-0.367801 -0.587543 -0.383197 -0.715004 -0.624371 0.314532 +-0.276524 -0.635578 -0.326774 -0.439099 -0.852981 0.282161 +-0.307727 -0.608932 -0.283631 -0.611847 -0.777269 0.146615 +-0.276764 -0.624107 -0.286603 -0.362134 -0.932125 0.001411 +-0.302528 -0.611687 -0.254364 -0.597898 -0.801508 -0.010131 +-0.276524 -0.661972 -0.379310 -0.470268 -0.801589 0.369192 +-0.256416 -0.624547 -0.286227 0.018971 -0.994581 -0.102220 +-0.276371 -0.627443 -0.261753 -0.172149 -0.979258 -0.106862 +-0.258925 -0.626401 -0.262389 0.056872 -0.995820 -0.071464 +-0.376532 -0.549829 -0.385658 -0.947026 -0.210055 0.242939 +-0.383499 -0.505994 -0.385173 -0.969946 -0.096563 0.223341 +-0.402735 -0.560380 -0.492227 -0.970770 -0.117150 0.209479 +-0.405876 -0.495740 -0.495396 -0.967191 0.187757 0.171140 +-0.427755 -0.497838 -0.650739 -0.978649 0.136076 0.154044 +-0.436833 -0.575138 -0.660827 -0.959727 -0.194453 0.202761 +-0.391453 -0.418047 -0.607499 -0.684687 0.721762 0.101306 +-0.357320 -0.417054 -0.465251 -0.657338 0.736667 0.158836 +-0.398648 -0.657788 -0.643241 -0.887419 -0.414011 0.202686 +-0.387067 -0.602420 -0.479440 -0.906068 -0.352375 0.234248 +-0.367801 -0.587543 -0.383197 -0.952881 -0.206072 0.222603 +-0.325815 -0.384064 -0.553484 -0.502136 0.860629 0.084718 +-0.323346 -0.382968 -0.595645 -0.459747 0.887942 0.013822 +-0.405733 -0.421712 -0.714452 -0.461967 0.886344 0.031308 +-0.306654 -0.389007 -0.449769 -0.511117 0.848861 0.134884 +-0.347038 -0.652398 -0.457320 -0.805044 -0.512765 0.298289 +-0.352869 -0.722752 -0.593997 -0.837809 -0.482078 0.256274 +-0.229238 -0.751868 -0.513438 -0.419650 -0.735264 0.532242 +-0.294151 -0.787640 -0.616429 -0.503019 -0.714902 0.485681 +-0.188531 -0.803520 -0.548481 -0.442631 -0.719849 0.534691 +-0.271029 -0.828348 -0.649493 -0.433916 -0.715775 0.547159 +-0.294651 -0.747369 -0.556845 -0.463743 -0.725788 0.508109 +-0.352869 -0.722752 -0.593997 -0.600462 -0.685632 0.411526 +-0.368785 -0.778217 -0.725018 -0.622602 -0.690616 0.367989 +-0.233252 -0.732483 -0.490942 -0.414997 -0.724538 0.550292 +-0.130932 -0.873717 -0.601270 -0.422412 -0.722173 0.547755 +-0.218263 -0.890110 -0.686509 -0.424088 -0.703853 0.569860 +-0.318454 -0.607310 -0.149689 -0.964270 -0.136838 -0.226844 +-0.321219 -0.579032 -0.146115 -0.964789 0.263024 0.000291 +-0.320785 -0.569750 -0.245758 -0.990154 -0.138918 -0.017253 +-0.325592 -0.544287 -0.241358 -0.985428 0.140157 0.096375 +-0.303818 -0.553183 -0.141994 -0.656425 0.753346 0.039695 +-0.314774 -0.524596 -0.238126 -0.678045 0.683061 0.271446 +-0.309583 -0.628690 -0.151638 -0.812067 -0.463212 -0.354939 +-0.327569 -0.625240 -0.112006 -0.933819 -0.178188 -0.310212 +-0.314822 -0.657923 -0.112631 -0.722698 -0.491822 -0.485611 +-0.308093 -0.551433 -0.092604 -0.709991 0.685607 0.160797 +-0.330532 -0.589047 -0.108363 -0.966499 0.233573 -0.106407 +-0.294872 -0.646012 -0.153510 -0.589705 -0.722708 -0.360473 +-0.291509 -0.674280 -0.113187 -0.338451 -0.751045 -0.566906 +-0.279028 -0.540377 -0.138857 0.059338 0.990442 0.124513 +-0.279132 -0.529526 -0.087386 -0.031389 0.965129 0.259885 +-0.281356 -0.506819 -0.237638 0.235864 0.920775 0.310711 +-0.302528 -0.611687 -0.254364 -0.573314 -0.792544 -0.207809 +-0.273842 -0.653064 -0.155062 -0.146201 -0.918243 -0.368042 +-0.316683 -0.593278 -0.250336 -0.780230 -0.606145 -0.154368 +-0.249190 -0.549680 -0.142483 0.732826 0.679290 0.039130 +-0.251681 -0.526464 -0.238647 0.622102 0.732776 0.275731 +-0.336374 -0.647740 -0.079227 -0.935600 -0.135775 -0.325911 +-0.321164 -0.686016 -0.079581 -0.649956 -0.532114 -0.542598 +-0.314000 -0.565151 -0.068947 -0.625749 0.690597 0.362647 +-0.335166 -0.602167 -0.075203 -0.965446 0.260574 0.003913 +-0.247016 -0.552736 -0.092951 0.727882 0.684580 0.039206 +-0.242148 -0.565654 -0.068614 0.661515 0.654606 0.365908 +-0.278717 -0.556303 -0.063563 -0.047022 0.776609 0.628226 +-0.273588 -0.679387 -0.111205 0.016764 -0.818112 -0.574814 +-0.291303 -0.704382 -0.077706 -0.246287 -0.752975 -0.610223 +-0.274078 -0.706588 -0.077441 -0.006409 -0.821230 -0.570562 +-0.219397 -0.607375 -0.110780 0.961197 0.230352 -0.151786 +-0.214653 -0.617621 -0.076848 0.949442 0.311316 -0.040516 +-0.257647 -0.677363 -0.108988 0.168451 -0.780358 -0.602217 +-0.255760 -0.710602 -0.077899 -0.044986 -0.774366 -0.631137 +-0.222420 -0.652138 -0.114268 0.854221 -0.287278 -0.433333 +-0.229231 -0.598010 -0.149052 0.983470 0.174776 -0.047327 +-0.256660 -0.650004 -0.154840 0.245569 -0.888502 -0.387635 +-0.241496 -0.644234 -0.153820 0.521793 -0.776407 -0.353448 +-0.233185 -0.667982 -0.111233 0.455689 -0.655526 -0.602190 +-0.232306 -0.634170 -0.151996 0.866820 -0.420581 -0.267833 +-0.227821 -0.552386 -0.242999 0.892245 0.356757 0.276808 +-0.246942 -0.515169 -0.267732 0.650622 0.639985 0.408791 +-0.218390 -0.549998 -0.270212 0.853557 0.224824 0.469994 +-0.281603 -0.495410 -0.271164 0.484415 0.810796 0.328560 +-0.229813 -0.597061 -0.252879 0.961024 -0.250394 0.117200 +-0.220666 -0.594124 -0.278731 0.844691 -0.369260 0.387484 +-0.258925 -0.626401 -0.262389 0.384944 -0.914144 -0.127115 +-0.276371 -0.627443 -0.261753 -0.260287 -0.940223 -0.219617 +-0.239402 -0.611725 -0.258518 0.745425 -0.666586 0.002202 +-0.237075 -0.487034 -0.304912 0.633209 0.529518 0.564498 +-0.196859 -0.533913 -0.303928 0.871448 0.187364 0.453292 +-0.232977 -0.612466 -0.284542 0.609948 -0.719608 0.331854 +-0.198140 -0.597121 -0.314314 0.822572 -0.361696 0.438807 +-0.215880 -0.635772 -0.327812 0.621168 -0.631279 0.464367 +-0.256416 -0.624547 -0.286227 0.352859 -0.873855 0.334467 +-0.249547 -0.643542 -0.327400 0.207234 -0.874705 0.438115 +-0.346166 -0.674416 -0.040982 -0.948766 -0.158373 -0.273425 +-0.326741 -0.712820 -0.044831 -0.633953 -0.611138 -0.473934 +-0.318030 -0.594901 -0.032404 -0.625223 0.719749 0.301757 +-0.342440 -0.630348 -0.037392 -0.956823 0.287874 -0.040238 +-0.236572 -0.595298 -0.032914 0.584769 0.761518 0.279527 +-0.278297 -0.578394 -0.034141 0.004610 0.887172 0.461416 +-0.209417 -0.666078 -0.081436 0.915704 -0.174794 -0.361848 +-0.197789 -0.683783 -0.037944 0.963394 -0.097384 -0.249775 +-0.210457 -0.628753 -0.037344 0.921174 0.388789 -0.016785 +-0.292682 -0.727566 -0.046478 -0.093443 -0.857946 -0.505171 +-0.273287 -0.721296 -0.043570 0.002470 -0.912941 -0.408084 +-0.227787 -0.702231 -0.078069 0.470799 -0.629120 -0.618512 +-0.253455 -0.733264 -0.046138 -0.186049 -0.855983 -0.482367 +-0.218227 -0.725212 -0.045825 0.574979 -0.666158 -0.475008 +-0.224163 -0.441915 -0.371038 0.754452 0.517976 0.403117 +-0.178825 -0.521027 -0.378250 0.934769 0.233918 0.267376 +-0.179266 -0.601335 -0.377465 0.924076 -0.232110 0.303659 +-0.200532 -0.651395 -0.376826 0.852737 -0.357389 0.380938 +-0.132622 0.539817 -0.555258 0.631186 -0.710502 0.311111 +-0.200296 0.489186 -0.533589 0.646521 -0.689651 0.326177 +-0.116679 0.512235 -0.650594 0.646521 -0.689651 0.326177 +-0.196093 0.452835 -0.612980 0.661276 -0.668182 0.340951 +-0.220027 0.731594 -0.542794 0.160079 0.930343 0.329905 +-0.172011 0.723263 -0.542599 0.168303 0.913627 0.370081 +-0.228561 0.777364 -0.667726 0.076430 0.927313 0.366400 +-0.174726 0.772485 -0.655484 0.222638 0.893524 0.389933 +-0.112848 0.705254 -0.556160 0.333427 0.864054 0.377144 +-0.098672 0.741881 -0.649914 0.319832 0.865129 0.386341 +-0.323680 0.530277 0.000566 0.017633 -0.002622 0.999841 +-0.320365 0.485449 0.000390 0.004583 -0.000007 0.999990 +-0.307234 0.573768 0.000390 0.002514 -0.001265 0.999996 +-0.254878 0.617560 0.000566 -0.000530 -0.003385 0.999994 +-0.222234 0.612449 0.000566 -0.000616 -0.001679 0.999998 +-0.187262 0.606974 0.000566 0.000000 0.000000 1.000000 +-0.153742 0.557811 0.000566 -0.000472 -0.000128 1.000000 +-0.146152 0.501367 0.000566 0.000000 0.000000 1.000000 +-0.167233 0.459170 0.000566 0.000000 0.000000 1.000000 +-0.220789 0.442452 0.000566 0.000000 0.000000 1.000000 +-0.242179 0.466927 0.000566 -0.000985 0.000723 0.999999 +-0.269638 0.446302 0.000566 -0.001711 0.002278 0.999996 +-0.290254 0.638585 -0.489197 -0.939061 0.255295 0.230195 +-0.265205 0.675793 -0.482234 -0.861442 0.435406 0.261418 +-0.311358 0.632463 -0.562152 -0.941826 0.213494 0.259586 +-0.290660 0.682530 -0.558843 -0.881893 0.343219 0.323211 +-0.298894 0.585936 -0.492080 -0.966864 0.147248 0.208549 +-0.318289 0.563922 -0.566455 -0.967701 0.104323 0.229503 +-0.343117 0.533016 -0.669788 -0.969464 0.049683 0.240146 +-0.346101 0.613384 -0.684474 -0.962424 0.013824 0.271200 +-0.204691 0.525197 -0.474041 -0.349932 -0.812810 0.465711 +-0.257957 0.539113 -0.489777 -0.489493 -0.758511 0.430183 +-0.200296 0.489186 -0.533589 -0.368387 -0.828300 0.422149 +-0.266554 0.508384 -0.555996 -0.545675 -0.731967 0.408000 +-0.298894 0.585936 -0.492080 -0.711511 -0.599201 0.367028 +-0.318289 0.563922 -0.566455 -0.732297 -0.566630 0.377719 +-0.196093 0.452835 -0.612980 -0.344621 -0.848693 0.401195 +-0.291123 0.470982 -0.647226 -0.617888 -0.669140 0.412876 +-0.343117 0.533016 -0.669788 -0.777430 -0.526405 0.344238 +-0.265205 0.675793 -0.482234 -0.851818 0.415093 0.319538 +-0.249918 0.703367 -0.477302 -0.714576 0.651282 0.255369 +-0.290660 0.682530 -0.558843 -0.842402 0.494610 0.213823 +-0.263180 0.713418 -0.550893 -0.634938 0.739909 0.222234 +-0.207105 0.724098 -0.466516 -0.438311 0.880652 0.179823 +-0.220027 0.731594 -0.542794 -0.426874 0.862032 0.273274 +-0.310846 0.688865 -0.685292 -0.847324 0.498279 0.183740 +-0.275723 0.755235 -0.676234 -0.605431 0.733184 0.309669 +-0.311358 0.632463 -0.562152 -0.909765 0.362764 0.201818 +-0.346101 0.613384 -0.684474 -0.902014 0.391092 0.182806 +-0.228561 0.777364 -0.667726 -0.449092 0.828611 0.334246 +-0.343043 0.675234 -1.105304 -0.938880 0.319155 -0.129015 +-0.362855 0.685884 -0.934781 -0.913680 0.398231 -0.081250 +-0.315812 0.762780 -1.086902 -0.869631 0.488062 -0.074413 +-0.310224 0.786234 -0.897805 -0.764913 0.643963 -0.014852 +-0.257483 0.826472 -0.861991 -0.626019 0.778367 0.047383 +-0.251929 0.841469 -1.034970 -0.694724 0.719255 -0.005620 +-0.261987 0.648849 -0.326739 -0.946754 0.321871 0.007470 +-0.270736 0.619210 -0.325093 -0.993302 -0.076628 -0.086480 +-0.277107 0.594368 -0.159115 -0.981739 0.189928 -0.010783 +-0.277643 0.564086 -0.163536 -0.877110 -0.451148 -0.164754 +-0.250399 0.586577 -0.324189 -0.730983 -0.647758 -0.214647 +-0.249859 0.543077 -0.169297 -0.617018 -0.758195 -0.210781 +-0.268234 0.627424 -0.156155 -0.940031 0.340985 0.008402 +-0.246793 0.681763 -0.328611 -0.907333 0.419960 0.019518 +-0.200959 0.732715 -0.338152 0.344317 0.888662 0.302861 +-0.178600 0.713752 -0.333697 0.707089 0.669979 0.226170 +-0.201002 0.752380 -0.409530 0.622245 0.756445 0.201501 +-0.175497 0.729689 -0.405860 0.636694 0.746755 0.192296 +-0.209338 0.666894 -0.151392 0.152521 0.983757 0.094657 +-0.191454 0.652899 -0.149048 0.724706 0.670027 0.160826 +-0.162211 0.681140 -0.329839 0.851311 0.489729 0.188245 +-0.166089 0.620852 -0.155459 0.955757 0.270962 0.114493 +-0.232782 0.708077 -0.332184 -0.606781 0.762968 0.222927 +-0.231067 0.660079 -0.153241 -0.563940 0.824753 0.041896 +-0.169900 0.585220 -0.162331 0.969582 -0.244134 -0.017570 +-0.142688 0.649372 -0.328296 0.984903 0.090463 0.147591 +-0.208967 0.676069 -0.095824 0.055528 0.969037 0.240589 +-0.232840 0.663758 -0.096986 -0.551264 0.802744 0.227398 +-0.163027 0.600441 -0.111351 0.967581 0.251607 -0.021942 +-0.190077 0.655760 -0.095630 0.759240 0.633512 0.149056 +-0.168712 0.566050 -0.116333 0.963247 -0.206105 -0.172268 +-0.268234 0.627424 -0.156155 -0.779247 0.626716 -0.000897 +-0.277154 0.615199 -0.111693 -0.881456 0.469913 -0.047097 +-0.182677 0.552369 -0.164101 0.733596 -0.659658 -0.163365 +-0.182943 0.532746 -0.120103 0.813599 -0.485663 -0.319670 +-0.277107 0.594368 -0.159115 -0.979744 0.164337 -0.114435 +-0.284402 0.576404 -0.112761 -0.981846 0.080977 -0.171527 +-0.148225 0.609419 -0.328049 0.907863 -0.418357 0.027601 +-0.176281 0.581040 -0.325084 0.388035 -0.920868 -0.037831 +-0.210195 0.534058 -0.169644 0.168253 -0.938514 -0.301466 +-0.246793 0.681763 -0.328611 -0.773461 0.616886 0.145635 +-0.282348 0.545361 -0.119478 -0.858267 -0.381324 -0.343467 +-0.291826 0.566355 -0.081698 -0.943022 0.066719 -0.325972 +-0.289658 0.521276 -0.087188 -0.794586 -0.339978 -0.503038 +-0.209317 0.654582 -0.075414 0.131693 0.798140 0.587903 +-0.188509 0.645758 -0.076114 0.646319 0.645050 0.407654 +-0.159072 0.588271 -0.082848 0.987454 0.156213 -0.023077 +-0.179070 0.506104 -0.086362 0.688299 -0.537697 -0.486957 +-0.214153 0.515186 -0.127241 0.298675 -0.823383 -0.482529 +-0.218592 0.488978 -0.091478 -0.066934 -0.815191 -0.575311 +-0.251436 0.524118 -0.128080 -0.330094 -0.794556 -0.509626 +-0.254084 0.492429 -0.091707 -0.134532 -0.781063 -0.609788 +-0.235307 0.654334 -0.079683 -0.412949 0.833299 0.367539 +-0.286406 0.610778 -0.079691 -0.862538 0.500875 -0.071781 +-0.217708 0.623680 -0.032393 0.131698 0.877330 0.461463 +-0.251605 0.623111 -0.036680 -0.312984 0.903742 0.292046 +-0.164135 0.553976 -0.084703 0.943223 -0.187405 -0.274243 +-0.171417 0.482939 -0.048275 0.655773 -0.618415 -0.433040 +-0.154307 0.520564 -0.045954 0.955808 -0.137070 -0.260084 +-0.214007 0.575025 -0.326258 -0.024474 -0.988320 -0.150418 +-0.210193 0.564010 -0.387937 0.212955 -0.965966 0.146829 +-0.167913 0.575845 -0.391086 0.275515 -0.954971 0.110096 +-0.229663 0.536460 -0.171279 -0.230602 -0.917616 -0.323735 +-0.236035 0.495774 -0.085419 -0.103317 -0.826566 -0.553275 +-0.232231 0.518961 -0.128260 -0.220660 -0.862413 -0.455580 +-0.239054 0.473485 -0.052529 -0.228490 -0.878628 -0.419292 +-0.223805 0.460757 -0.052471 -0.029678 -0.885961 -0.462808 +-0.155436 0.559053 -0.044730 0.973517 0.228114 0.015088 +-0.312485 0.544627 -0.044161 -0.954017 0.079391 -0.289048 +-0.306784 0.584437 -0.041477 -0.853713 0.518057 -0.052843 +-0.277643 0.564086 -0.163536 -0.939428 -0.256067 -0.227825 +-0.249859 0.543077 -0.169297 -0.468908 -0.810792 -0.350345 +-0.250399 0.586577 -0.324189 -0.314588 -0.913818 -0.256847 +-0.305828 0.503800 -0.050020 -0.806807 -0.390269 -0.443569 +-0.186751 0.612696 -0.034908 0.686088 0.684905 0.245333 +-0.260517 0.465220 -0.052600 -0.094624 -0.905016 -0.414720 +-0.196093 0.452835 -0.612980 -0.325392 -0.822011 0.467352 +-0.291123 0.470982 -0.647226 -0.335781 -0.828745 0.447697 +-0.193418 0.414036 -0.679360 -0.335781 -0.828745 0.447697 +-0.311188 0.429845 -0.743750 -0.345989 -0.835032 0.427800 +-0.172004 0.879637 -0.926179 0.368152 0.855541 0.364025 +-0.191441 0.840666 -0.814931 0.418558 0.867201 0.269763 +-0.087118 0.775469 -0.767209 0.418558 0.867201 0.269763 +-0.088868 0.769612 -0.732977 0.464125 0.868834 0.172382 +-0.298894 0.585936 -0.492080 -0.867895 -0.379133 0.320963 +-0.270736 0.608116 -0.391070 -0.972824 -0.110129 0.203679 +-0.290254 0.638585 -0.489197 -0.911075 0.324458 0.254301 +-0.260287 0.642322 -0.394408 -0.935795 0.340539 0.091223 +-0.257957 0.539113 -0.489777 -0.542537 -0.760777 0.356191 +-0.244685 0.577869 -0.386784 -0.577162 -0.783782 0.229282 +-0.270736 0.619210 -0.325093 -0.985754 -0.168190 0.001202 +-0.261987 0.648849 -0.326739 -0.941232 0.336102 -0.033426 +-0.210193 0.564010 -0.387937 -0.150059 -0.934180 0.323712 +-0.214007 0.575025 -0.326258 -0.330505 -0.935682 0.123553 +-0.250399 0.586577 -0.324189 -0.611077 -0.789721 0.054081 +-0.204691 0.525197 -0.474041 0.237215 -0.885861 0.398722 +-0.167913 0.575845 -0.391086 0.661453 -0.694204 0.283832 +-0.147059 0.559099 -0.487339 0.780024 -0.558246 0.282708 +-0.247846 0.680231 -0.398317 -0.944621 0.321992 0.063341 +-0.246793 0.681763 -0.328611 -0.919608 0.390427 0.043449 +-0.265205 0.675793 -0.482234 -0.900648 0.401839 0.165406 +-0.121016 0.612952 -0.489468 0.936852 -0.239404 0.254940 +-0.104151 0.602309 -0.560450 0.918303 -0.244381 0.311443 +-0.132622 0.539817 -0.555258 0.760375 -0.544014 0.354794 +-0.116559 0.653839 -0.489535 0.940656 0.180409 0.287436 +-0.095284 0.658244 -0.561410 0.953362 0.100333 0.284665 +-0.200296 0.489186 -0.533589 0.624292 -0.647209 0.437469 +-0.133645 0.691215 -0.483091 0.727684 0.652658 0.210983 +-0.112848 0.705254 -0.556160 0.811658 0.499399 0.303004 +-0.070740 0.591315 -0.644639 0.887658 -0.295146 0.353486 +-0.116679 0.512235 -0.650594 0.820442 -0.497786 0.281218 +-0.068726 0.667268 -0.647439 0.942332 0.070495 0.327170 +-0.098672 0.741881 -0.649914 0.896983 0.337925 0.285005 +-0.172382 0.715347 -0.474482 0.393029 0.915956 -0.080951 +-0.175497 0.729689 -0.405860 0.821381 0.568537 0.045802 +-0.161990 0.688799 -0.401702 0.896024 0.410572 0.169034 +-0.142612 0.617588 -0.398601 0.926191 -0.332450 0.177897 +-0.162211 0.681140 -0.329839 0.896746 0.435535 0.078462 +-0.178600 0.713752 -0.333697 0.878172 0.457748 0.138854 +-0.148225 0.609419 -0.328049 0.951952 -0.305447 0.022131 +-0.176281 0.581040 -0.325084 0.793080 -0.605957 0.061968 +-0.238095 0.715785 -0.403665 -0.795187 0.604607 0.046127 +-0.232782 0.708077 -0.332184 -0.747677 0.652022 0.125882 +-0.249918 0.703367 -0.477302 -0.683822 0.729529 -0.013233 +-0.201002 0.752380 -0.409530 -0.186917 0.961127 -0.203217 +-0.207105 0.724098 -0.466516 -0.207100 0.956100 -0.207322 +-0.200959 0.732715 -0.338152 -0.633555 0.756177 0.163718 +-0.141864 0.649581 -0.398320 0.979702 0.152465 0.130150 +-0.142688 0.649372 -0.328296 0.954874 0.295635 0.028557 +-0.220027 0.731594 -0.542794 0.212582 0.973587 0.083285 +-0.172011 0.723263 -0.542599 0.355089 0.920346 0.163935 +-0.315181 -0.764996 -1.175598 -0.815775 -0.424816 -0.392483 +-0.250557 -0.893329 -1.103714 -0.803406 -0.527391 -0.276402 +-0.378254 -0.754824 -1.055511 -0.821280 -0.444724 -0.357379 +-0.298690 -0.872468 -0.981866 -0.851079 -0.491762 -0.183944 +-0.352477 -0.606807 -1.199774 -0.878490 -0.167214 -0.447543 +-0.417389 -0.603646 -1.074460 -0.895260 -0.038631 -0.443866 +-0.335016 -0.477144 -1.219440 -0.893182 0.127510 -0.431238 +-0.412246 -0.462044 -1.047188 -0.879460 0.144002 -0.453667 +-0.241454 -0.975757 -1.025889 -0.890920 -0.417457 -0.178860 +-0.261458 -0.950653 -0.936834 -0.884755 -0.460950 -0.068800 +-0.317998 -0.316945 -1.171010 -0.869610 0.082195 -0.486849 +-0.397077 -0.294104 -1.040035 -0.871306 0.011498 -0.490605 +-0.333440 -0.148889 -1.169196 -0.889200 -0.028833 -0.456610 +-0.390117 -0.124181 -1.050900 -0.898057 -0.023551 -0.439248 +-0.334864 -0.008152 -1.173440 -0.891275 0.008762 -0.453379 +-0.392133 0.008478 -1.063792 -0.882833 0.053350 -0.466648 +-0.316565 0.155535 -1.170591 -0.872609 0.174304 -0.456259 +-0.372005 0.173291 -1.062321 -0.861339 0.188147 -0.471907 +-0.284178 0.314571 -1.157604 -0.888441 0.214082 -0.406006 +-0.328173 0.316278 -1.060432 -0.938331 0.145317 -0.313718 +-0.360061 0.306779 -0.937631 -0.966075 0.083456 -0.244407 +-0.332474 0.404321 -1.013368 -0.974994 -0.078659 -0.207845 +-0.341636 0.537693 -1.091500 -0.950636 -0.202863 -0.234814 +-0.346506 0.444275 -0.970240 -0.972649 -0.163481 -0.165008 +-0.314782 0.525202 -1.163291 -0.970901 -0.117034 -0.208936 +-0.110497 0.357001 -0.628471 -0.447278 0.593106 0.669453 +-0.042466 0.462186 -0.676207 -0.497101 0.610396 0.616691 +-0.219224 0.341114 -0.687039 -0.502465 0.686552 0.525524 +-0.193934 0.374098 -0.718043 -0.366712 0.334615 0.868076 +-0.073671 0.464847 -0.696580 -0.166169 0.018769 0.985919 +-0.194984 0.389910 -0.710710 0.207110 -0.398499 0.893479 +-0.091850 0.479491 -0.699313 0.268173 -0.319429 0.908872 +-0.193418 0.414036 -0.679360 0.528243 -0.542678 0.653039 +-0.103255 0.494590 -0.692424 0.572878 -0.511102 0.640770 +-0.196093 0.452835 -0.612980 0.651498 -0.621930 0.434458 +-0.116679 0.512235 -0.650594 0.661077 -0.591483 0.461655 +-0.390662 -0.263803 -0.714595 -0.797753 -0.165857 0.579726 +-0.348259 -0.357136 -0.682947 -0.719696 0.083717 0.689224 +-0.305341 -0.258291 -0.595609 -0.527067 -0.157949 0.835016 +-0.229770 -0.368127 -0.574212 -0.554491 0.095730 0.826665 +-0.163313 -0.268688 -0.540615 -0.419909 -0.038148 0.906764 +-0.144773 -0.369613 -0.521976 -0.521828 0.061276 0.850847 +-0.334028 -0.151073 -0.594810 -0.403515 -0.038496 0.914163 +-0.173069 -0.171989 -0.533491 -0.365032 -0.094207 0.926216 +-0.338005 -0.375625 -0.651199 -0.270600 0.744981 0.609737 +-0.186971 -0.445619 -0.537279 0.098541 0.893629 0.437855 +-0.181052 0.003963 -0.522829 -0.456972 0.118555 0.881545 +-0.337591 0.012575 -0.608417 -0.466021 0.166046 0.869053 +-0.157486 0.215574 -0.562074 -0.482482 0.411264 0.773352 +-0.317899 0.220593 -0.663393 -0.476817 0.333328 0.813350 +-0.210664 -0.440016 -0.501884 0.385861 0.915372 0.114913 +-0.323346 -0.382968 -0.595645 0.403543 0.913281 0.055409 +-0.210983 -0.443751 -0.483240 0.359252 0.913856 0.189222 +-0.325815 -0.384064 -0.553484 0.390282 0.912971 0.119016 +-0.110497 0.357001 -0.628471 -0.466506 0.498142 0.730908 +-0.219224 0.341114 -0.687039 -0.457127 0.504388 0.732549 +-0.115223 0.870956 -1.200244 0.179302 0.786878 -0.590486 +0.000000 0.842631 -1.203002 0.225651 0.750493 -0.621162 +-0.085151 0.801816 -1.283248 0.279787 0.639435 -0.716130 +0.000000 0.798667 -1.251145 0.354642 0.524684 -0.773909 +-0.083203 0.776489 -1.299486 0.332154 0.527060 -0.782228 +-0.031367 0.777065 -1.277087 0.399787 0.391974 -0.828569 +-0.049248 0.745544 -1.293766 -0.818083 0.109453 0.564589 +0.000000 0.777615 -1.259705 0.398388 0.409297 -0.820831 +0.000000 0.812923 -1.255352 -0.522462 -0.100835 0.846679 +-0.029112 0.812922 -1.273484 -0.877684 0.066770 0.474566 +-0.060854 0.725216 -1.324017 -0.831265 0.226921 -0.507450 +-0.039245 0.812922 -1.297518 -0.991059 0.117941 -0.062386 +-0.035195 0.911391 -1.297518 -0.999039 0.031398 0.030593 +-0.025062 0.911391 -1.323454 -0.931567 0.031723 -0.362183 +-0.027126 0.812922 -1.328997 -0.809499 0.173340 -0.560950 +-0.022481 0.911391 -1.271582 -0.908468 0.017601 0.417583 +-0.078983 0.672760 -1.329372 -0.157720 0.033444 -0.986917 +-0.038019 0.674176 -1.342370 -0.230371 0.013315 -0.973012 +-0.028482 0.725216 -1.340985 -0.251015 0.080787 -0.964606 +-0.093267 0.537123 -1.340819 0.004371 -0.013449 -0.999900 +0.000000 0.531584 -1.328178 -0.012186 -0.037851 -0.999209 +0.000000 0.675576 -1.343699 -0.028875 -0.009963 -0.999533 +0.000000 0.376398 -1.337871 -0.064365 -0.055625 -0.996375 +-0.108528 0.360089 -1.304915 -0.262863 -0.169957 -0.949746 +-0.033976 0.991295 -1.297518 -0.987457 0.005385 0.157797 +-0.023843 0.991295 -1.322813 -0.929756 0.015644 -0.367844 +-0.023843 0.991295 -1.272223 -0.928210 -0.012839 0.371835 +0.000000 0.725216 -1.341540 -0.019464 0.043444 -0.998866 +-0.335016 -0.477144 -1.219440 -0.819375 0.142017 -0.555388 +-0.219620 -0.509012 -1.385795 -0.808235 0.043899 -0.587221 +-0.352477 -0.606807 -1.199774 -0.808999 -0.100696 -0.579121 +-0.215624 -0.638821 -1.379687 -0.790148 -0.211487 -0.575274 +-0.317998 -0.316945 -1.171010 -0.865330 0.034616 -0.500006 +-0.236095 -0.336440 -1.315803 -0.841276 0.113538 -0.528549 +-0.333440 -0.148889 -1.169196 -0.858436 -0.032665 -0.511880 +-0.268996 -0.166749 -1.278754 -0.866841 -0.045564 -0.496498 +-0.315181 -0.764996 -1.175598 -0.777929 -0.288819 -0.558041 +-0.198746 -0.792401 -1.318974 -0.766625 -0.307155 -0.563863 +-0.334864 -0.008152 -1.173440 -0.846801 0.052789 -0.529283 +-0.276410 -0.024242 -1.265942 -0.849437 0.018228 -0.527375 +-0.316565 0.155535 -1.170591 -0.852650 0.104231 -0.511980 +-0.263580 0.140392 -1.261915 -0.844786 0.091364 -0.527246 +-0.121794 0.126862 -1.337687 -0.246268 0.158980 -0.956074 +-0.108528 0.360089 -1.304915 -0.276043 0.133725 -0.951797 +0.000000 0.123007 -1.369700 -0.255195 0.147876 -0.955515 +0.000000 0.376398 -1.337871 -0.304797 0.118702 -0.944991 +-0.126253 -0.069033 -1.371295 -0.220563 0.216683 -0.951000 +0.000000 -0.085812 -1.403213 -0.221652 0.287575 -0.931757 +0.000000 -0.212704 -1.457249 -0.247469 0.379611 -0.891434 +-0.121475 -0.199653 -1.417969 -0.219521 0.352173 -0.909827 +-0.337829 0.315369 -0.803507 -0.850165 0.515339 0.107916 +-0.360061 0.306779 -0.937631 -0.890382 0.448883 0.075663 +-0.372288 0.218413 -0.760127 -0.945523 0.285782 0.155933 +-0.409406 0.188720 -0.931537 -0.956010 0.276242 -0.098669 +-0.372005 0.173291 -1.062321 -0.941402 0.173709 -0.289116 +-0.437223 0.021572 -0.907435 -0.988816 0.111657 -0.098869 +-0.401509 0.019700 -0.719666 -0.966041 0.179835 0.185536 +-0.328173 0.316278 -1.060432 -0.911216 0.326521 -0.251138 +-0.392133 0.008478 -1.063792 -0.962224 0.006191 -0.272187 +-0.432499 -0.117936 -0.893081 -0.963614 -0.052087 -0.262174 +-0.303637 0.359237 -0.823789 -0.952544 0.269371 0.141769 +-0.332474 0.404321 -1.013368 -0.985989 -0.106311 0.128546 +-0.316694 0.395121 -0.826608 -0.949017 -0.302780 0.087693 +-0.346506 0.444275 -0.970240 -0.913033 -0.407720 0.011622 +-0.390117 -0.124181 -1.050900 -0.972651 -0.022315 -0.231197 +-0.423456 -0.279155 -0.891875 -0.979023 -0.028774 -0.201708 +-0.380000 0.479387 -0.850625 -0.897808 -0.421940 -0.126123 +-0.341636 0.537693 -1.091500 -0.964211 -0.153065 -0.216492 +-0.388560 0.573610 -0.906970 -0.992477 0.052210 -0.110745 +-0.311188 0.429845 -0.743750 -0.855672 -0.507549 0.101094 +-0.346101 0.613384 -0.684474 -0.927871 0.336971 0.159708 +-0.362855 0.685884 -0.934781 -0.931578 0.344951 0.114764 +-0.310846 0.688865 -0.685292 -0.885057 0.429536 0.179369 +-0.343043 0.675234 -1.105304 -0.979688 0.079572 -0.184064 +-0.397077 -0.294104 -1.040035 -0.989007 0.021149 -0.146348 +-0.414880 -0.360277 -0.913431 -0.988851 0.135698 -0.061317 +-0.275723 0.755235 -0.676234 -0.888209 0.419780 0.186733 +-0.310224 0.786234 -0.897805 -0.896302 0.398138 0.195266 +-0.412246 -0.462044 -1.047188 -0.969065 0.152795 -0.193820 +-0.445104 -0.474404 -0.928435 -0.986395 0.127519 -0.103751 +-0.396773 -0.408556 -0.803304 -0.943552 0.216978 0.250260 +-0.441108 -0.605236 -0.978452 -0.981078 -0.088849 -0.172025 +-0.449057 -0.493539 -0.787950 -0.995577 0.056793 -0.074842 +-0.421764 -0.731125 -0.935026 -0.884742 -0.461487 -0.065276 +-0.459976 -0.598947 -0.814650 -0.990811 -0.109190 -0.079816 +-0.430026 -0.707082 -0.805969 -0.894149 -0.447012 0.026035 +-0.378254 -0.754824 -1.055511 -0.893875 -0.384436 -0.230645 +-0.298690 -0.872468 -0.981866 -0.821463 -0.567337 -0.057680 +-0.327169 -0.847824 -0.782242 -0.806724 -0.590927 0.001551 +-0.417389 -0.603646 -1.074460 -0.968093 -0.042231 -0.247008 +-0.261458 -0.950653 -0.936834 -0.903943 -0.427626 0.004923 +-0.275470 -0.919913 -0.839500 -0.869645 -0.493164 -0.022512 +-0.368785 -0.778217 -0.725018 -0.807768 -0.585014 0.072594 +-0.075642 -0.735416 -0.462425 -0.416250 -0.370773 0.830219 +-0.080293 -0.814335 -0.503604 -0.337955 -0.491686 0.802516 +0.000000 -0.743096 -0.427930 -0.381979 -0.391794 0.837012 +0.000000 -0.820987 -0.477658 -0.302317 -0.511311 0.804466 +-0.066691 -0.876854 -0.541093 -0.330389 -0.537225 0.776036 +0.000000 -0.882034 -0.516286 -0.316538 -0.523597 0.790980 +-0.072233 -0.668912 -0.433957 -0.396984 -0.149820 0.905515 +0.000000 -0.682871 -0.406746 -0.373654 -0.148785 0.915558 +-0.090468 -0.527020 -0.448806 -0.405691 0.043407 0.912979 +0.000000 -0.520935 -0.408895 -0.378260 0.027933 0.925278 +0.000000 0.792848 -0.871132 0.565732 0.760235 0.319360 +0.000000 0.877127 -1.071758 0.490527 0.859384 0.144367 +-0.020074 0.802988 -0.859710 0.428814 0.834497 0.346025 +-0.055367 0.903845 -1.060557 0.364531 0.930132 0.044410 +0.000000 0.842631 -1.203002 0.302930 0.912640 -0.274450 +-0.115223 0.870956 -1.200244 0.219773 0.924376 -0.311815 +-0.059104 0.807325 -0.828836 0.239710 0.877346 0.415695 +-0.112552 0.899531 -1.004645 0.301415 0.876695 0.374906 +-0.172004 0.879637 -0.926179 0.174024 0.876340 0.449160 +-0.087118 0.775469 -0.767209 0.120160 0.858564 0.498427 +-0.401509 0.019700 -0.719666 -0.908055 0.121556 0.400824 +-0.437223 0.021572 -0.907435 -0.987194 0.018799 0.158414 +-0.408121 -0.129847 -0.708110 -0.938711 -0.021708 0.344021 +-0.432499 -0.117936 -0.893081 -0.986887 -0.069425 0.145720 +-0.337591 0.012575 -0.608417 -0.850899 0.134410 0.507843 +-0.372288 0.218413 -0.760127 -0.829738 0.301489 0.469722 +-0.317899 0.220593 -0.663393 -0.764895 0.434460 0.475583 +-0.390662 -0.263803 -0.714595 -0.926258 -0.182049 0.330007 +-0.334028 -0.151073 -0.594810 -0.825877 -0.108166 0.553378 +-0.337829 0.315369 -0.803507 -0.629975 0.631413 0.452160 +-0.219224 0.341114 -0.687039 -0.579738 0.686694 0.438583 +-0.423456 -0.279155 -0.891875 -0.955594 -0.193394 0.222347 +-0.193934 0.374098 -0.718043 -0.672829 0.416328 0.611532 +-0.303637 0.359237 -0.823789 -0.701341 0.041246 0.711631 +-0.194984 0.389910 -0.710710 -0.554804 -0.555641 0.619238 +-0.316694 0.395121 -0.826608 -0.584191 -0.559076 0.588350 +-0.348259 -0.357136 -0.682947 -0.958911 -0.049178 0.279411 +-0.414880 -0.360277 -0.913431 -0.959959 0.042531 0.276895 +-0.305341 -0.258291 -0.595609 -0.788843 -0.215351 0.575630 +-0.193418 0.414036 -0.679360 -0.407298 -0.713835 0.569691 +-0.311188 0.429845 -0.743750 -0.622061 -0.658307 0.423877 +-0.291123 0.470982 -0.647226 -0.772611 -0.510087 0.377998 +-0.343117 0.533016 -0.669788 -0.927233 -0.250812 0.278087 +-0.380000 0.479387 -0.850625 -0.936742 -0.233878 0.260414 +-0.338005 -0.375625 -0.651199 -0.800471 0.548383 0.241912 +-0.396773 -0.408556 -0.803304 -0.875754 0.459175 0.149045 +-0.346101 0.613384 -0.684474 -0.982202 -0.002148 0.187818 +-0.388560 0.573610 -0.906970 -0.981688 0.011891 0.190122 +-0.405733 -0.421712 -0.714452 -0.818859 0.561223 0.120410 +-0.323346 -0.382968 -0.595645 -0.702031 0.658062 0.272226 +-0.449057 -0.493539 -0.787950 -0.938921 0.329333 0.099838 +-0.445104 -0.474404 -0.928435 -0.846803 0.529708 0.048322 +-0.391453 -0.418047 -0.607499 -0.925918 0.360968 0.111256 +-0.427755 -0.497838 -0.650739 -0.948036 0.285030 0.141371 +-0.436833 -0.575138 -0.660827 -0.983238 -0.073300 0.166941 +-0.459976 -0.598947 -0.814650 -0.962050 -0.186536 0.199158 +-0.398648 -0.657788 -0.643241 -0.897694 -0.359380 0.254933 +-0.430026 -0.707082 -0.805969 -0.904548 -0.327091 0.273503 +-0.352869 -0.722752 -0.593997 -0.871680 -0.404266 0.277026 +-0.368785 -0.778217 -0.725018 -0.764334 -0.551206 0.334613 +-0.327169 -0.847824 -0.782242 -0.633309 -0.680950 0.367733 +-0.271029 -0.828348 -0.649493 -0.635327 -0.675748 0.373798 +-0.294151 -0.787640 -0.616429 -0.637302 -0.670499 0.379838 +0.000000 -0.365256 -0.450505 -0.446947 0.319956 0.835384 +0.000000 -0.278300 -0.498178 -0.305059 0.217029 0.927274 +-0.144773 -0.369613 -0.521976 -0.368333 0.261049 0.892292 +-0.163313 -0.268688 -0.540615 -0.219901 0.037023 0.974819 +0.000000 -0.181284 -0.504867 -0.192464 0.004644 0.981293 +-0.173069 -0.171989 -0.533491 -0.131365 -0.038782 0.990575 +0.000000 -0.002516 -0.511473 -0.106887 0.071547 0.991694 +-0.181052 0.003963 -0.522829 -0.060235 0.062843 0.996204 +0.000000 -0.433288 -0.424155 -0.463794 0.243990 0.851683 +-0.122304 -0.438939 -0.494920 -0.554788 0.176260 0.813107 +-0.186971 -0.445619 -0.537279 0.101080 0.481331 0.870691 +-0.131915 -0.528796 -0.497689 0.204651 0.359604 0.910386 +-0.090468 -0.527020 -0.448806 -0.617492 0.118765 0.777559 +-0.157486 0.215574 -0.562074 -0.112487 0.259472 0.959177 +0.000000 0.217662 -0.539160 -0.161664 0.334761 0.928332 +0.000000 -0.520935 -0.408895 -0.407447 0.156644 0.899694 +-0.210664 -0.440016 -0.501884 0.727881 0.627548 0.276355 +-0.148618 -0.528786 -0.462029 0.902718 0.316587 0.291330 +-0.153661 -0.526172 -0.447830 0.934071 0.297970 0.196789 +-0.210983 -0.443751 -0.483240 0.685123 0.726985 0.045823 +-0.130595 -0.640556 -0.478463 0.006278 0.005909 0.999963 +-0.152043 -0.627013 -0.461232 0.842566 -0.035257 0.537439 +-0.155519 -0.617108 -0.446525 0.934561 -0.123926 0.333524 +-0.325815 -0.384064 -0.553484 0.483472 0.874061 -0.047663 +-0.306654 -0.389007 -0.449769 0.229139 0.963390 0.139192 +-0.219295 -0.435004 -0.413224 0.640116 0.758326 0.123257 +-0.165710 -0.520333 -0.397867 0.887121 0.307598 0.344093 +-0.166063 -0.601729 -0.399052 0.898662 -0.166275 0.405906 +-0.166408 -0.689953 -0.448651 0.496847 -0.541910 0.677847 +-0.185062 -0.653566 -0.409151 0.657777 -0.579303 0.481391 +-0.233252 -0.732483 -0.490942 -0.086198 -0.834667 0.543968 +-0.236832 -0.696120 -0.429808 0.003363 -0.861538 0.507683 +-0.072233 -0.668912 -0.433957 -0.537361 -0.121704 0.834525 +-0.139670 -0.729077 -0.486843 -0.173515 -0.439191 0.881478 +-0.075642 -0.735416 -0.462425 -0.362020 -0.383035 0.849839 +-0.080293 -0.814335 -0.503604 -0.426080 -0.527517 0.734970 +-0.188531 -0.803520 -0.548481 -0.268564 -0.597053 0.755911 +0.000000 0.362368 -0.606042 -0.200478 0.411030 0.889305 +-0.110497 0.357001 -0.628471 -0.167369 0.434512 0.884978 +-0.066691 -0.876854 -0.541093 -0.584302 -0.554331 0.592712 +-0.130932 -0.873717 -0.601270 -0.506028 -0.610256 0.609527 +-0.054281 -0.924635 -0.576374 -0.576327 -0.577005 0.578716 +-0.106031 -0.926096 -0.629367 -0.573605 -0.579521 0.578906 +-0.357320 -0.417054 -0.465251 -0.691627 0.636928 0.340551 +-0.287657 -0.420008 -0.357903 0.086053 0.901619 0.423885 +-0.178825 -0.521027 -0.378250 0.829992 0.127880 0.542918 +-0.224163 -0.441915 -0.371038 0.612860 0.686851 0.390691 +-0.245371 -0.672412 -0.378741 0.067894 -0.899852 0.430878 +-0.276524 -0.661972 -0.379310 -0.351352 -0.855161 0.381119 +-0.286957 -0.682616 -0.438026 -0.407820 -0.813382 0.414840 +-0.332847 -0.626788 -0.381643 -0.578235 -0.732991 0.358284 +-0.347038 -0.652398 -0.457320 -0.627715 -0.689744 0.360869 +-0.367801 -0.587543 -0.383197 -0.856477 -0.398490 0.328106 +-0.387067 -0.602420 -0.479440 -0.806748 -0.537875 0.244639 +-0.294651 -0.747369 -0.556845 -0.462801 -0.770504 0.438337 +-0.352869 -0.722752 -0.593997 -0.560842 -0.726144 0.397707 +-0.336212 -0.447832 -0.375617 -0.661431 0.647690 0.378161 +-0.383499 -0.505994 -0.385173 -0.898800 0.299309 0.320271 +-0.405876 -0.495740 -0.495396 -0.865675 0.450800 0.217683 +-0.156180 -0.709903 -0.464735 0.464990 -0.387697 0.795911 +-0.200532 -0.651395 -0.376826 0.557172 -0.710295 0.430163 +-0.179266 -0.601335 -0.377465 0.839398 -0.169291 0.516481 +-0.376532 -0.549829 -0.385658 -0.923955 -0.180530 0.337220 +-0.355280 -0.513678 -0.307759 -0.926048 -0.175534 0.334100 +-0.249547 -0.643542 -0.327400 0.006909 -0.912306 0.409451 +-0.276524 -0.635578 -0.326774 -0.268915 -0.882415 0.386041 +-0.284307 -0.461224 -0.300945 0.445628 0.737497 0.507459 +-0.237075 -0.487034 -0.304912 0.408707 0.735574 0.540268 +-0.348767 -0.549903 -0.311345 -0.916553 -0.200258 0.346161 +-0.343097 -0.581915 -0.315867 -0.911775 -0.211246 0.352196 +-0.229238 -0.751868 -0.513438 -0.035081 -0.696553 0.716647 +-0.215880 -0.635772 -0.327812 0.214213 -0.909251 0.356897 +-0.256416 -0.624547 -0.286227 -0.027333 -0.909413 0.414994 +-0.276764 -0.624107 -0.286603 -0.148954 -0.927623 0.342532 +0.000428 1.612066 -1.276136 0.493065 -0.146496 0.857570 +0.000345 1.583852 -1.280908 0.513488 -0.157742 0.843474 +0.013389 1.611106 -1.283752 0.678651 -0.191055 0.709176 +0.007777 1.583781 -1.285707 0.694618 -0.192257 0.693213 +0.015212 1.583690 -1.297385 0.812292 -0.215496 0.541982 +0.020758 1.612066 -1.293943 0.799670 -0.223874 0.557143 +0.000373 1.597562 -1.262090 0.447737 -0.134622 0.883973 +0.000351 1.519087 -1.274030 0.481147 -0.142008 0.865061 +0.018613 1.595557 -1.271634 0.711096 -0.134457 0.690119 +0.012060 1.519814 -1.281023 0.699438 -0.147206 0.699369 +0.022072 1.519996 -1.297424 0.881890 -0.115628 0.457056 +0.027355 1.597562 -1.291280 0.913132 -0.093621 0.396767 +0.000372 1.570149 -1.255745 0.419314 -0.134843 0.897771 +0.000349 1.475675 -1.269924 0.441888 -0.140128 0.886058 +0.023519 1.567919 -1.266891 0.753916 -0.146542 0.640418 +0.015475 1.475798 -1.277939 0.777520 -0.141381 0.612759 +0.021517 1.476233 -1.300993 0.947129 -0.129816 0.293419 +0.034451 1.570149 -1.296174 0.930466 -0.145398 0.336291 +0.000372 1.537030 -1.250020 0.418642 -0.187317 0.888623 +0.000349 1.442555 -1.269924 0.439601 -0.192197 0.877389 +0.025818 1.534800 -1.262478 0.756189 -0.191097 0.625828 +0.015475 1.442679 -1.277939 0.772235 -0.188532 0.606720 +0.021517 1.443114 -1.300993 0.949139 -0.158746 0.271908 +0.036751 1.537030 -1.295993 0.940385 -0.168274 0.295568 +0.000403 1.500012 -1.245729 0.398737 -0.181496 0.898926 +0.000351 1.392143 -1.267485 0.412715 -0.184418 0.891996 +0.027067 1.497572 -1.258049 0.708700 -0.169626 0.684814 +0.018579 1.392218 -1.276257 0.700889 -0.175932 0.691233 +0.028506 1.392485 -1.297364 0.912112 -0.132628 0.387894 +0.039525 1.500012 -1.289692 0.926848 -0.120354 0.355624 +0.000403 1.457243 -1.245338 0.372382 -0.186826 0.909081 +0.000351 1.349374 -1.267485 0.399128 -0.193550 0.896234 +0.031193 1.454802 -1.258452 0.700251 -0.192814 0.687366 +0.018579 1.349450 -1.276256 0.697437 -0.199813 0.688227 +0.028506 1.349716 -1.297364 0.907360 -0.166174 0.386114 +0.043651 1.457243 -1.289771 0.922057 -0.154917 0.354699 +0.000345 1.414506 -1.245701 0.356010 -0.132468 0.925045 +0.000345 1.279529 -1.265030 0.402397 -0.142555 0.904298 +0.032102 1.411768 -1.258315 0.694165 -0.151028 0.703793 +0.019341 1.278736 -1.274819 0.717162 -0.153139 0.679873 +0.029357 1.278820 -1.297367 0.898691 -0.140586 0.415440 +0.046819 1.414506 -1.287978 0.891656 -0.144440 0.429054 +0.000345 1.325265 -1.253736 0.309360 -0.071177 0.948278 +0.000345 1.188933 -1.263969 0.359951 -0.081657 0.929391 +0.028351 1.322527 -1.263078 0.671463 -0.091894 0.735319 +0.021388 1.189144 -1.273440 0.707249 -0.091381 0.701034 +0.032032 1.188607 -1.297680 0.892376 -0.089747 0.442279 +0.043068 1.325265 -1.289129 0.870751 -0.100438 0.481357 +0.015267 1.583688 -1.297604 0.971576 -0.090469 -0.218758 +0.002626 1.584369 -1.305302 0.751851 -0.267424 -0.602665 +0.017630 1.611106 -1.298448 0.965615 -0.240432 -0.098892 +0.014435 1.611458 -1.309839 0.869418 -0.422035 -0.256900 +0.014435 1.612066 -1.284790 0.941569 -0.239253 0.237077 +0.007538 1.583853 -1.285870 0.903890 -0.149792 0.400681 +0.007777 1.583781 -1.309166 0.694602 -0.192230 -0.693236 +0.000345 1.583852 -1.313964 0.513472 -0.157733 -0.843485 +0.013389 1.611106 -1.311120 0.678652 -0.191047 -0.709177 +0.000428 1.612066 -1.318737 0.493111 -0.146522 -0.857539 +0.020758 1.612066 -1.300929 0.799670 -0.223874 -0.557143 +0.015212 1.583690 -1.297487 0.812304 -0.215487 -0.541967 +0.012060 1.519814 -1.313850 0.699438 -0.147197 -0.699370 +0.000351 1.519087 -1.320843 0.481166 -0.142001 -0.865052 +0.018613 1.595557 -1.323238 0.711100 -0.134451 -0.690115 +0.000373 1.597562 -1.332783 0.447776 -0.134619 -0.883954 +0.027355 1.597562 -1.303593 0.913125 -0.093622 -0.396784 +0.022072 1.519996 -1.297449 0.881886 -0.115625 -0.457064 +0.023238 1.519814 -1.297899 0.997699 -0.060653 -0.030308 +0.011751 1.520020 -1.313816 0.905433 -0.107639 -0.410615 +0.027835 1.595557 -1.298151 0.993500 -0.112701 -0.016012 +0.022081 1.597562 -1.324929 0.962630 -0.159597 -0.218798 +0.022081 1.597562 -1.270444 0.966419 -0.146262 0.211284 +0.012708 1.519996 -1.281267 0.919981 -0.099460 0.379134 +0.015475 1.475798 -1.316933 0.777534 -0.141386 -0.612740 +0.000349 1.475675 -1.324949 0.441896 -0.140130 -0.886054 +0.023519 1.567919 -1.327982 0.753918 -0.146544 -0.640416 +0.000372 1.570149 -1.339127 0.419283 -0.134836 -0.897787 +0.034451 1.570149 -1.298699 0.930466 -0.145400 -0.336291 +0.021517 1.476234 -1.293880 0.947128 -0.129819 -0.293422 +0.027068 1.570149 -1.268926 0.966746 -0.134247 0.217669 +0.015913 1.476233 -1.277305 0.932466 -0.098336 0.347616 +0.033316 1.567919 -1.298051 0.932466 -0.098336 0.347616 +0.026855 1.475798 -1.297815 0.880142 -0.060523 0.470836 +0.026855 1.475798 -1.297815 0.862645 -0.061789 -0.502022 +0.015223 1.476312 -1.317866 0.927527 -0.105644 -0.358516 +0.033316 1.567919 -1.298051 0.927527 -0.105644 -0.358516 +0.027068 1.570149 -1.329073 0.967619 -0.146676 -0.205427 +0.015475 1.442679 -1.316933 0.772246 -0.188537 -0.606704 +0.000349 1.442555 -1.324949 0.439623 -0.192202 -0.877377 +0.025818 1.534800 -1.332395 0.756195 -0.191099 -0.625820 +0.000372 1.537030 -1.344853 0.418642 -0.187317 -0.888623 +0.036751 1.537030 -1.298880 0.940385 -0.168274 -0.295568 +0.021517 1.443114 -1.293880 0.949138 -0.158748 -0.271913 +0.029367 1.537029 -1.264803 0.967490 -0.164206 0.192351 +0.015913 1.443114 -1.277305 0.933852 -0.124498 0.335291 +0.035616 1.534799 -1.298138 0.933852 -0.124498 0.335291 +0.026855 1.442678 -1.297815 0.878605 -0.081908 0.470473 +0.026855 1.442678 -1.297815 0.861021 -0.083645 -0.501644 +0.015223 1.443193 -1.317866 0.928583 -0.132021 -0.346850 +0.035616 1.534799 -1.298138 0.928583 -0.132021 -0.346850 +0.029367 1.537029 -1.333644 0.967483 -0.176323 -0.181350 +0.032987 1.500012 -1.264132 0.971548 -0.138489 0.192131 +0.020142 1.392485 -1.276685 0.955806 -0.120075 0.268359 +0.039357 1.497572 -1.298102 0.955806 -0.120075 0.268359 +0.027913 1.392711 -1.297786 0.933949 -0.100893 0.342871 +0.027913 1.392711 -1.297786 0.910403 -0.100566 -0.401314 +0.018732 1.392114 -1.318464 0.947302 -0.128622 -0.293385 +0.039357 1.497572 -1.298102 0.947302 -0.128622 -0.293385 +0.032987 1.500012 -1.334286 0.971131 -0.154903 -0.181408 +0.018579 1.392219 -1.318616 0.700881 -0.175928 -0.691241 +0.000351 1.392143 -1.327387 0.412700 -0.184414 -0.892004 +0.027067 1.497572 -1.336823 0.708700 -0.169623 -0.684816 +0.000403 1.500012 -1.349143 0.398737 -0.181496 -0.898926 +0.039524 1.500012 -1.305181 0.926854 -0.120348 -0.355609 +0.028506 1.392485 -1.297508 0.912118 -0.132623 -0.387881 +0.037113 1.457243 -1.264473 0.965049 -0.174518 0.195508 +0.020142 1.349716 -1.276685 0.950359 -0.156267 0.269071 +0.043483 1.454802 -1.298095 0.950359 -0.156267 0.269071 +0.027913 1.349942 -1.297786 0.930003 -0.137085 0.341030 +0.027913 1.349942 -1.297786 0.906940 -0.135841 -0.398758 +0.018732 1.349345 -1.318464 0.941716 -0.164325 -0.293543 +0.043483 1.454802 -1.298095 0.941716 -0.164325 -0.293543 +0.037113 1.457243 -1.333909 0.964165 -0.190659 -0.184485 +0.018579 1.349450 -1.318616 0.697437 -0.199811 -0.688228 +0.000351 1.349374 -1.327387 0.399143 -0.193552 -0.896227 +0.031193 1.454803 -1.336420 0.700258 -0.192812 -0.687358 +0.000403 1.457243 -1.349535 0.372411 -0.186832 -0.909067 +0.043650 1.457243 -1.305102 0.922062 -0.154912 -0.354689 +0.028506 1.349716 -1.297508 0.907363 -0.166170 -0.386109 +0.031963 1.414506 -1.265585 0.953354 -0.109396 0.281333 +0.019007 1.279646 -1.274121 0.932635 -0.093797 0.348416 +0.041210 1.411768 -1.297985 0.932635 -0.093797 0.348416 +0.029808 1.280044 -1.297729 0.907092 -0.077714 0.413697 +0.029808 1.280044 -1.297729 0.864135 -0.075766 -0.497523 +0.016836 1.279816 -1.320225 0.916967 -0.104484 -0.385037 +0.041210 1.411768 -1.297985 0.916967 -0.104484 -0.385037 +0.031963 1.414506 -1.332496 0.954881 -0.131503 -0.266287 +0.019341 1.278736 -1.320054 0.717148 -0.153134 -0.679888 +0.000345 1.279529 -1.329842 0.402391 -0.142553 -0.904301 +0.032102 1.411768 -1.336557 0.694161 -0.151026 -0.703798 +0.000345 1.414506 -1.349172 0.356035 -0.132474 -0.925035 +0.046819 1.414506 -1.306895 0.891650 -0.144440 -0.429065 +0.029357 1.278820 -1.297506 0.898688 -0.140585 -0.415446 +0.028212 1.325265 -1.269463 0.946438 -0.072841 0.314561 +0.019151 1.190492 -1.273409 0.915769 -0.053065 0.398185 +0.037459 1.322527 -1.297919 0.915769 -0.053065 0.398185 +0.032060 1.188684 -1.297206 0.877476 -0.032847 0.478494 +0.032060 1.188684 -1.297206 0.911371 -0.038946 -0.409740 +0.021185 1.189232 -1.321447 0.933902 -0.051572 -0.353791 +0.037459 1.322527 -1.297919 0.933902 -0.051572 -0.353791 +0.028212 1.325265 -1.328228 0.952886 -0.064003 -0.296499 +0.021388 1.189144 -1.321433 0.707241 -0.091381 -0.701042 +0.000345 1.188933 -1.330903 0.359933 -0.081660 -0.929398 +0.028351 1.322527 -1.331795 0.671458 -0.091897 -0.735323 +0.000345 1.325265 -1.341137 0.309359 -0.071184 -0.948277 +0.043068 1.325265 -1.305744 0.870751 -0.100442 -0.481357 +0.032032 1.188607 -1.297192 0.892380 -0.089748 -0.442272 +-0.000014 -1.159240 -0.439762 1.000000 0.000007 0.000088 +-0.000014 -1.250245 -0.434445 1.000000 0.000025 0.000099 +0.000000 -1.276195 -0.555204 1.000000 0.000044 0.000106 +-0.000014 -1.050621 -0.441716 1.000000 -0.000011 0.000086 +0.000000 -1.063839 -0.611120 1.000000 -0.000003 0.000086 +-0.000014 -0.986598 -0.434334 1.000000 -0.000033 0.000095 +0.000000 -0.987748 -0.589001 1.000000 -0.000030 0.000089 +-0.000014 -0.932663 -0.417662 1.000000 -0.000050 0.000108 +0.000000 -0.931298 -0.554330 1.000000 -0.000055 0.000098 +-0.000014 -0.880610 -0.399948 1.000000 -0.000059 0.000125 +-0.000014 -0.822789 -0.374273 1.000000 -0.000072 0.000142 +-0.000014 -0.744347 -0.339557 1.000000 -0.000057 0.000160 +0.000000 -0.743088 -0.427930 1.000000 -0.000070 0.000150 +-0.000014 -0.681405 -0.321841 1.000000 -0.000039 0.000166 +-0.000014 -0.518173 -0.291564 1.000000 0.000006 0.000133 +0.000000 -0.520932 -0.408895 1.000000 0.000011 0.000119 +-0.000014 -0.422456 -0.316589 1.000000 0.000040 0.000125 +-0.000014 -0.340680 -0.343338 1.000000 0.000049 0.000115 +-0.000014 -0.278986 -0.368215 1.000000 0.000022 0.000109 +0.000000 -0.278299 -0.498183 1.000000 0.000038 0.000111 +0.000000 -0.181284 -0.504868 1.000000 0.000008 0.000111 +-0.000014 -0.182662 -0.379905 1.000000 0.000019 0.000128 +-0.000015 -0.003255 -0.418132 1.000000 0.000040 0.000161 +0.044857 -0.874260 -0.433364 0.948194 -0.167564 0.269906 +0.043304 -0.921943 -0.452842 0.965449 -0.216312 0.145320 +0.066690 -0.876853 -0.541092 0.954229 -0.251129 0.162426 +0.054009 -0.924554 -0.576160 0.944508 -0.316291 0.088688 +0.040422 -0.812548 -0.413537 0.909731 -0.134698 0.392743 +0.080293 -0.814335 -0.503604 0.923417 -0.182051 0.337873 +0.039930 -0.738402 -0.375737 0.919840 -0.144710 0.364627 +0.075641 -0.735415 -0.462425 0.911591 -0.150867 0.382414 +0.040244 -0.668088 -0.348705 0.928134 -0.093480 0.360318 +0.072233 -0.668912 -0.433957 0.926843 -0.111684 0.358454 +0.038948 -0.523525 -0.323235 0.912381 -0.047487 0.406579 +0.090468 -0.527023 -0.448803 0.924361 -0.091460 0.370395 +0.043792 -0.422016 -0.343618 0.870977 0.054486 0.488293 +0.122302 -0.438939 -0.494918 0.897874 -0.062103 0.435850 +0.144772 -0.369612 -0.521974 0.848424 0.023093 0.528814 +0.044009 -0.342730 -0.376249 0.808265 0.106176 0.579166 +0.049406 -0.273320 -0.399098 0.751218 0.043022 0.658650 +0.163313 -0.268690 -0.540612 0.792544 -0.007641 0.609766 +0.173070 -0.171995 -0.533485 0.778539 0.281322 0.561012 +0.044787 -0.177356 -0.408909 0.675643 0.215521 0.705023 +0.007276 -0.010464 -0.451574 0.735097 0.562851 0.377931 +0.000000 -0.002516 -0.511473 0.700250 0.713833 0.009658 +0.017762 -1.166412 -0.476638 0.985727 -0.114764 0.123176 +0.000071 -1.253767 -0.451994 0.968819 -0.228917 0.094796 +0.028425 -1.191990 -0.592592 0.977116 -0.187075 0.101231 +0.000000 -1.276185 -0.555181 0.953741 -0.293911 0.063198 +0.028477 -1.049551 -0.487267 0.989857 -0.105042 0.095653 +0.044876 -1.066191 -0.622134 0.989850 -0.071615 0.122754 +0.040666 -0.987166 -0.466243 0.989127 -0.138086 0.050589 +0.045709 -0.984544 -0.606913 0.989511 -0.129959 0.063078 +0.043304 -0.921943 -0.452842 0.994457 -0.058212 0.087559 +0.054009 -0.924554 -0.576160 0.992553 -0.105932 0.060145 +-0.178546 -1.354269 -0.860294 -0.867690 -0.459636 0.189335 +-0.154545 -1.402559 -0.867532 -0.882287 -0.428250 0.195375 +-0.131543 -1.409096 -0.777987 -0.882287 -0.428250 0.195375 +-0.111758 -1.457935 -0.786106 -0.895794 -0.396335 0.201175 +-0.085409 -1.291375 -1.217723 0.056625 -0.109374 -0.992386 +-0.082624 -1.177560 -1.230108 0.046793 -0.063930 -0.996857 +-0.000017 -1.287914 -1.213232 0.052002 -0.112815 -0.992254 +-0.000017 -1.171195 -1.226909 -0.002241 -0.047014 -0.998892 +-0.063693 -1.084658 -1.226234 -0.049267 -0.129632 -0.990337 +0.000000 -1.086145 -1.231919 -0.135462 -0.291080 -0.947060 +-0.063837 -1.006457 -1.256372 -0.177770 -0.475488 -0.861574 +0.000000 -1.014367 -1.268361 -0.192482 -0.537709 -0.820866 +0.000000 -0.946150 -1.314178 -0.132503 -0.611708 -0.779908 +-0.077967 -0.944955 -1.301869 -0.170017 -0.616850 -0.768499 +0.000000 -0.850805 -1.401005 -0.166715 -0.586793 -0.792389 +-0.113353 -0.829547 -1.389298 -0.215967 -0.489613 -0.844771 +-0.117833 -0.677125 -1.452666 -0.283429 -0.242821 -0.927742 +0.000000 -0.694820 -1.481308 -0.237083 -0.344148 -0.908490 +-0.114572 -0.524305 -1.478219 -0.306719 0.040080 -0.950956 +0.000000 -0.533029 -1.515251 -0.293088 -0.072777 -0.953312 +0.000000 -0.361320 -1.491224 -0.297235 0.160851 -0.941158 +-0.108530 -0.355331 -1.455653 -0.292423 0.184591 -0.938304 +0.000000 -0.212704 -1.457249 -0.287521 0.208324 -0.934843 +-0.121475 -0.199653 -1.417969 -0.281357 0.203601 -0.937755 +-0.107905 -1.323799 -0.578042 -0.769640 0.004185 0.638464 +-0.096499 -1.343108 -0.564166 -0.738631 0.072852 0.670162 +-0.084009 -1.293200 -0.566737 -0.637960 0.197992 0.744182 +-0.079885 -1.324992 -0.553916 -0.665125 0.203467 0.718477 +-0.101609 -1.353245 -0.577932 -0.869459 -0.184191 0.458382 +-0.044418 -1.529981 -0.878195 -0.330139 -0.836287 -0.437758 +-0.032348 -1.573539 -0.787490 -0.491571 -0.802664 -0.337771 +-0.082070 -1.492716 -0.881297 -0.660635 -0.708678 -0.247662 +-0.062210 -1.548939 -0.790061 -0.710617 -0.665123 -0.229423 +-0.095632 -1.475422 -0.916070 -0.645849 -0.750170 -0.141858 +-0.043559 -1.502736 -0.920470 -0.298206 -0.855224 -0.423870 +-0.000017 -1.583737 -0.779092 -0.121621 -0.894308 -0.430606 +-0.000017 -1.537104 -0.870659 -0.056208 -0.858897 -0.509055 +-0.045074 -1.490148 -0.950779 -0.254260 -0.941268 -0.222187 +-0.000017 -1.507587 -0.917663 -0.067777 -0.897285 -0.436218 +-0.000017 -1.493131 -0.951213 -0.067606 -0.989312 -0.129191 +-0.048005 -1.490109 -0.980232 -0.263580 -0.960743 -0.086598 +-0.000017 -1.493460 -0.986184 -0.087438 -0.975216 -0.203245 +-0.091205 -1.508123 -0.790433 -0.874673 -0.484092 -0.024557 +-0.119248 -1.452959 -0.879041 -0.811978 -0.576072 -0.093985 +-0.130164 -1.431816 -0.909236 -0.798578 -0.590799 -0.115021 +-0.138662 -1.415715 -0.925182 -0.859668 -0.497242 -0.117140 +-0.108982 -1.462815 -0.939119 -0.648173 -0.761275 0.018214 +-0.147928 -1.405185 -0.938309 -0.797560 -0.577029 0.175886 +-0.115110 -1.457540 -0.963420 -0.645634 -0.763330 -0.021998 +-0.154545 -1.402559 -0.867532 -0.824668 -0.563234 -0.051862 +-0.111758 -1.457935 -0.786106 -0.874177 -0.483559 0.044562 +-0.112016 -1.455975 -0.988007 -0.607255 -0.779260 -0.154902 +-0.052771 -1.482106 -1.004878 -0.250142 -0.919604 -0.302915 +-0.145103 -1.397383 -0.918884 -0.770096 0.111358 -0.628134 +-0.161762 -1.386568 -0.896266 -0.881296 -0.274275 -0.384825 +-0.000017 -1.486275 -1.007160 -0.089176 -0.921451 -0.378122 +-0.068456 -1.451326 -1.066913 -0.180804 -0.889212 -0.420252 +-0.000017 -1.458554 -1.064723 -0.079705 -0.873026 -0.481116 +-0.122840 -1.432474 -1.061670 -0.546898 -0.817520 -0.180456 +-0.162523 -1.393819 -0.950832 -0.786727 -0.614684 0.056786 +-0.163461 -1.392704 -1.039889 -0.752078 -0.656759 -0.055186 +-0.144263 -1.389823 -0.917095 -0.903571 0.365726 -0.223167 +-0.156965 -1.380106 -0.899919 -0.641695 0.182320 -0.744974 +-0.125457 -1.349364 -0.914963 -0.870710 0.257242 -0.419156 +-0.174107 -1.349980 -0.894637 -0.384262 -0.057090 -0.921457 +-0.169497 -1.373555 -0.931681 -0.421288 0.148677 0.894657 +-0.082855 -1.405828 -1.147955 0.048645 -0.675449 -0.735800 +-0.000017 -1.402693 -1.142934 0.022659 -0.769241 -0.638556 +-0.085424 -1.351693 -1.181174 0.027622 -0.499785 -0.865709 +-0.000017 -1.351366 -1.180527 0.029415 -0.524705 -0.850776 +-0.085409 -1.291375 -1.217723 0.065841 -0.517113 -0.853381 +-0.000017 -1.287914 -1.213232 0.037201 -0.488114 -0.871987 +-0.082624 -1.177560 -1.230108 -0.180493 -0.011863 -0.983505 +-0.085409 -1.291375 -1.217723 -0.200059 -0.246003 -0.948398 +-0.149071 -1.182005 -1.217860 -0.229970 0.023361 -0.972917 +-0.147357 -1.283632 -1.206186 -0.203759 -0.374892 -0.904399 +-0.085424 -1.351693 -1.181174 -0.202893 -0.514604 -0.833077 +-0.148332 -1.343492 -1.172147 -0.187265 -0.517288 -0.835072 +-0.140970 -1.081044 -1.195292 -0.372095 -0.009922 -0.928141 +-0.063693 -1.084658 -1.226234 -0.343579 -0.069006 -0.936585 +-0.144250 -1.389224 -1.142150 -0.235064 -0.670845 -0.703358 +-0.082855 -1.405828 -1.147955 -0.285195 -0.773233 -0.566369 +-0.063837 -1.006457 -1.256372 -0.387685 -0.473576 -0.790839 +-0.155712 -1.010450 -1.208942 -0.456264 -0.366003 -0.811089 +-0.163891 -0.925097 -1.230911 -0.650326 -0.247203 -0.718308 +-0.077967 -0.944955 -1.301869 -0.511268 -0.440302 -0.738064 +-0.122840 -1.432474 -1.061670 -0.304072 -0.861373 -0.406912 +-0.068456 -1.451326 -1.066913 -0.333398 -0.846142 -0.415799 +-0.261846 -0.969024 -0.862849 -0.977584 -0.210522 0.003317 +-0.261458 -0.950653 -0.936834 -0.992233 -0.118960 -0.036354 +-0.241371 -1.101547 -0.904321 -0.990728 -0.135562 -0.008942 +-0.247114 -1.089240 -0.947537 -0.984172 -0.113856 0.135801 +-0.244854 -1.124264 -0.861905 -0.990560 -0.127662 -0.049939 +-0.255188 -0.984125 -0.812184 -0.979388 -0.165099 0.116371 +-0.240435 -1.032634 -0.777716 -0.949671 -0.015489 0.312866 +-0.250630 -1.151253 -0.812148 -0.974700 -0.221714 -0.028319 +-0.220599 -1.216669 -0.913999 -0.960564 -0.266809 0.078289 +-0.224201 -1.213435 -0.939482 -0.952355 -0.278603 0.124096 +-0.216420 -1.224037 -0.880489 -0.949111 -0.314905 0.004820 +-0.203675 -1.233119 -0.795930 -0.915994 -0.400457 -0.024277 +-0.231512 -1.201274 -0.999141 -0.967195 -0.248457 0.052952 +-0.216845 -1.256261 -1.004349 -0.920937 -0.258032 0.292051 +-0.204236 -1.276883 -0.942053 -0.953780 -0.214325 0.210638 +-0.217272 -1.235284 -0.685585 -0.907936 -0.215499 0.359461 +-0.244292 -1.167176 -0.753451 -0.976471 -0.188002 0.105638 +-0.201506 -1.208949 -0.656278 -0.569535 0.077234 0.818331 +-0.232620 -1.119921 -0.714247 -0.871979 0.123251 0.473774 +-0.171399 -1.036528 -0.683604 -0.584696 0.043687 0.810075 +-0.134118 -1.124052 -0.661652 -0.232562 0.244191 0.941427 +-0.161583 -1.276360 -0.634034 -0.487381 -0.000512 0.873189 +-0.164444 -1.289065 -0.635710 -0.661596 -0.068800 0.746698 +-0.198140 -1.282808 -0.684246 -0.924553 -0.301088 0.233554 +-0.163789 -1.303910 -0.634987 -0.798069 -0.119928 0.590511 +-0.181060 -1.327258 -0.684930 -0.939052 -0.336954 0.068144 +-0.160709 -1.327495 -0.631884 -0.896761 -0.116955 0.426780 +-0.154531 -1.380270 -0.678829 -0.914094 -0.403836 -0.036733 +-0.158370 -1.364142 -0.622466 -0.951998 -0.212476 0.220349 +-0.198039 -0.974045 -0.698088 -0.716782 -0.193601 0.669883 +-0.106031 -0.926096 -0.629367 -0.495336 -0.287782 0.819648 +-0.093126 -0.998740 -0.644095 -0.340258 -0.244532 0.907980 +-0.200161 -1.310606 -1.001052 -0.957672 -0.275651 0.082955 +-0.215271 -1.295989 -1.027565 -0.606594 -0.412564 0.679584 +-0.229336 -1.271132 -1.029667 -0.734767 -0.018310 0.678072 +-0.245808 -1.173403 -0.979229 -0.908634 -0.270341 0.318276 +-0.239201 -1.174720 -0.997346 -0.288648 -0.845641 -0.448970 +-0.249225 -1.146517 -0.975926 -0.660128 0.067145 0.748146 +-0.239283 -1.257875 -1.047984 -0.835930 0.338784 0.431795 +-0.239547 -1.236328 -1.048406 -0.959853 -0.051510 0.275735 +-0.244916 -1.193270 -1.045580 -0.968097 -0.117801 0.221159 +-0.236921 -1.166535 -1.012875 -0.665131 -0.731753 -0.148787 +-0.253992 -1.187852 -1.077022 -0.966157 -0.148761 0.210741 +-0.241466 -1.230007 -1.081590 -0.989961 -0.051495 0.131628 +-0.245983 -1.253788 -1.075521 -0.898110 0.436689 0.051965 +-0.246879 -1.260431 -1.101758 -0.882723 0.302516 -0.359560 +-0.248839 -1.231756 -1.114913 -0.978359 -0.205942 -0.020048 +-0.228445 -1.270773 -1.165832 -0.792560 -0.336179 -0.508756 +-0.236955 -1.282762 -1.116675 -0.676454 -0.124614 -0.725866 +-0.250852 -1.070818 -0.986752 -0.998474 -0.040943 -0.037068 +-0.241454 -0.975757 -1.025889 -0.966859 -0.000582 -0.255311 +-0.249772 -1.082750 -1.018378 -0.993759 -0.082886 -0.074647 +-0.233541 -1.041313 -1.070262 -0.932411 0.212150 -0.292577 +-0.246537 -1.119261 -0.985145 -0.827349 0.256709 0.499594 +-0.252712 -1.118911 -1.071416 -0.993537 0.092377 0.065965 +-0.243274 -1.109294 -1.101869 -0.894963 0.301347 -0.328985 +-0.238407 -1.125403 -1.004741 0.348237 0.935240 -0.063696 +-0.262511 -1.180367 -1.120451 -0.975502 0.051451 -0.213888 +-0.248637 -1.153758 -1.051702 -0.950077 0.052440 0.307576 +-0.234143 -1.139745 -1.016009 -0.915805 0.316765 0.246903 +-0.234969 -1.155538 -1.017211 0.975664 0.027166 -0.217580 +-0.275470 -0.919913 -0.839500 -0.922553 -0.363928 0.128270 +-0.194389 -1.019275 -1.135778 -0.866415 0.041205 -0.497621 +-0.212075 -1.089059 -1.151285 -0.698728 0.303937 -0.647612 +-0.250557 -0.893329 -1.103714 -0.843327 -0.350433 -0.407425 +-0.255500 -0.909942 -0.759849 -0.814856 -0.426005 0.393101 +-0.155712 -1.010450 -1.208942 -0.837623 -0.244515 -0.488466 +-0.140970 -1.081044 -1.195292 -0.669532 0.094537 -0.736742 +-0.163891 -0.925097 -1.230911 -0.734426 -0.467055 -0.492421 +-0.218263 -0.890110 -0.686509 -0.615625 -0.471258 0.631602 +-0.327169 -0.847824 -0.782242 -0.675776 -0.665229 0.317488 +-0.271029 -0.828348 -0.649493 -0.598535 -0.682106 0.420105 +-0.130932 -0.873717 -0.601270 -0.509345 -0.582123 0.633798 +-0.242521 -1.305722 -1.114672 0.077351 -0.116276 -0.990200 +-0.258017 -1.289274 -1.110665 -0.224347 0.416686 -0.880932 +-0.230654 -1.322045 -1.104962 0.240337 -0.640326 -0.729534 +-0.222890 -1.307619 -1.114574 -0.481846 -0.581925 -0.655124 +-0.226949 -1.332009 -1.085243 0.284837 -0.930449 -0.230506 +-0.210056 -1.325508 -1.096257 -0.415292 -0.858716 -0.300231 +-0.232821 -1.331807 -1.063047 0.189155 -0.920451 0.342039 +-0.203355 -1.329595 -1.068720 -0.520253 -0.847267 0.107126 +-0.242675 -1.323309 -1.050723 -0.101892 -0.611520 0.784641 +-0.205347 -1.318320 -1.042482 -0.520962 -0.723995 0.452139 +-0.254444 -1.304698 -1.046883 -0.440110 -0.146878 0.885850 +-0.266311 -1.288375 -1.056594 -0.681797 0.347352 0.643816 +-0.270016 -1.278411 -1.076313 -0.711866 0.683517 0.161403 +-0.267872 -1.280775 -1.098341 -0.565719 0.720670 -0.400745 +-0.256785 -1.119221 -0.988089 -0.575288 0.193387 0.794761 +-0.267289 -1.108005 -0.996575 -0.651366 -0.072583 0.755284 +-0.269348 -1.094962 -1.000723 0.117353 0.805793 0.580453 +-0.250012 -1.105224 -1.022424 0.751447 0.624333 -0.213392 +-0.258528 -1.145483 -0.981235 -0.854151 0.184101 0.486348 +-0.264614 -1.166326 -0.984473 -0.636881 0.204205 0.743427 +-0.265898 -1.184636 -1.016200 0.427101 -0.853580 -0.298305 +-0.248887 -1.170372 -1.033533 0.614129 -0.658716 -0.434670 +-0.241348 -1.130242 -1.036225 0.885540 0.201576 -0.418552 +-0.241888 -1.154453 -1.038826 0.822104 -0.195850 -0.534591 +-0.288607 -1.098594 -1.015810 -0.685822 -0.196972 0.700607 +-0.285797 -1.111916 -1.028553 -0.764529 -0.362401 0.533068 +-0.262797 -1.123355 -0.998651 -0.887227 -0.151528 0.435737 +-0.258653 -1.146065 -0.997343 -0.890717 0.173522 0.420135 +-0.269625 -1.163410 -0.996001 -0.795294 0.498973 0.344287 +-0.275683 -1.171798 -0.990842 -0.586428 0.687228 0.428743 +-0.232968 -1.184636 -1.172981 -0.651188 0.061298 -0.756437 +-0.155502 -1.236804 -0.630819 -0.403984 0.156546 0.901271 +-0.156683 -1.356212 -0.761539 -0.922868 -0.384271 -0.025511 +-0.190161 -1.294682 -0.840066 -0.941135 -0.308571 0.138017 +-0.131543 -1.409096 -0.777987 -0.911732 -0.367224 0.184094 +-0.178546 -1.354269 -0.860294 -0.937708 -0.340063 0.071141 +-0.190512 -1.297658 -0.930004 -0.885442 -0.293470 0.360371 +-0.208784 -1.327152 -0.949713 -0.948052 -0.216224 0.233333 +-0.198518 -1.333706 -0.937192 -0.549280 -0.175477 0.817006 +-0.135328 -1.430873 -0.717779 -0.948600 -0.309649 -0.065387 +-0.191302 -1.311910 -0.896540 -0.859385 -0.473499 -0.193020 +-0.179296 -1.351104 -0.883960 -0.870071 -0.332443 -0.363949 +-0.161762 -1.386568 -0.896266 -0.860235 -0.348552 -0.372167 +-0.154545 -1.402559 -0.867532 -0.896548 -0.442446 -0.021047 +-0.149071 -1.182005 -1.217860 -0.493224 0.138026 -0.858883 +-0.147357 -1.283632 -1.206186 -0.465484 -0.216427 -0.858187 +-0.207014 -1.323399 -1.147182 -0.743962 -0.554045 -0.373571 +-0.148332 -1.343492 -1.172147 -0.500834 -0.497080 -0.708574 +-0.156965 -1.380106 -0.899919 -0.487846 -0.126145 -0.863767 +-0.174107 -1.349980 -0.894637 -0.684042 -0.211820 -0.698011 +-0.175729 -1.319335 -0.902466 -0.616269 -0.555600 -0.558141 +-0.175126 -1.314950 -0.923527 -0.609416 -0.658318 0.441848 +-0.182817 -1.335078 -0.932330 -0.315557 -0.182188 0.931253 +-0.125457 -1.349364 -0.914963 -0.692898 -0.634970 0.341623 +-0.185049 -1.368596 -1.120970 -0.745293 -0.627753 -0.224642 +-0.144250 -1.389224 -1.142150 -0.581523 -0.655628 -0.481646 +-0.184522 -1.353751 -1.012516 -0.913976 -0.404285 -0.034674 +-0.187929 -1.370655 -0.952735 -0.829033 -0.557353 -0.045423 +-0.183277 -1.375734 -0.941167 -0.728546 -0.485107 0.483624 +-0.169497 -1.373555 -0.931681 -0.424879 -0.141100 0.894186 +-0.163461 -1.392704 -1.039889 -0.815191 -0.579138 -0.007937 +-0.198746 -0.792401 -1.318974 -0.666829 -0.457870 -0.587957 +-0.315181 -0.764996 -1.175598 -0.727208 -0.541407 -0.421956 +-0.113353 -0.829547 -1.389298 -0.676960 -0.441889 -0.588608 +-0.077967 -0.944955 -1.301869 -0.630963 -0.559770 -0.537162 +-0.117833 -0.677125 -1.452666 -0.653326 -0.253417 -0.713404 +-0.215624 -0.638821 -1.379687 -0.649244 -0.172433 -0.740776 +-0.114572 -0.524305 -1.478219 -0.647567 -0.016038 -0.761840 +-0.219620 -0.509012 -1.385795 -0.677497 0.092011 -0.729748 +-0.254991 -1.321908 -1.115359 0.500202 -0.179081 -0.847189 +-0.268611 -1.308589 -1.120257 0.180868 0.343192 -0.921687 +-0.249913 -1.335757 -1.102068 0.606897 -0.629945 -0.484609 +-0.254575 -1.344734 -1.085416 0.503019 -0.864083 0.018240 +-0.268398 -1.346147 -1.071792 0.171787 -0.838312 0.517419 +-0.286584 -1.340647 -1.068407 -0.292466 -0.522459 0.800937 +-0.303199 -1.329213 -1.075418 -0.692350 -0.058220 0.719209 +-0.308545 -1.316096 -1.089215 -0.854070 0.413327 0.315795 +-0.301231 -1.305795 -1.104480 -0.688543 0.693637 -0.211603 +-0.285179 -1.302507 -1.116210 -0.282780 0.672992 -0.683460 +-0.269323 -1.342471 -1.125993 0.805580 -0.152774 -0.572452 +-0.279711 -1.332219 -1.133962 0.465688 0.298278 -0.833166 +-0.267450 -1.352851 -1.113072 0.795677 -0.576539 -0.185743 +-0.274699 -1.359736 -1.099968 0.524113 -0.820676 0.227589 +-0.288424 -1.360377 -1.091233 0.052878 -0.820119 0.569744 +-0.303655 -1.354242 -1.090079 -0.500848 -0.564802 0.655859 +-0.314641 -1.343556 -1.097327 -0.902755 -0.145720 0.404721 +-0.316908 -1.332587 -1.110568 -0.959478 0.277776 -0.047358 +-0.309341 -1.325785 -1.124591 -0.662531 0.549546 -0.508972 +-0.294992 -1.325751 -1.133573 -0.113776 0.563562 -0.818201 +-0.279442 -1.091644 -1.009008 -0.084789 0.934854 0.344760 +-0.261838 -1.101313 -1.030667 0.495924 0.794786 -0.349820 +-0.251003 -1.153046 -1.047842 0.682825 -0.212684 -0.698939 +-0.259299 -1.170908 -1.043556 0.534564 -0.671114 -0.513662 +-0.279853 -1.188245 -1.025279 0.350512 -0.858430 -0.374485 +-0.248231 -1.128193 -1.043317 0.708641 0.312637 -0.632524 +-0.285725 -1.140543 -1.030960 -0.799910 0.113121 0.589363 +-0.292839 -1.167308 -1.027903 -0.754320 0.348148 0.556592 +-0.307133 -1.138480 -1.061830 -0.506829 0.093034 0.857012 +-0.305048 -1.109485 -1.057337 -0.569048 -0.419977 0.706968 +-0.336214 -1.117070 -1.070677 -0.316364 -0.249330 0.915286 +-0.348472 -1.131245 -1.076251 -0.314014 0.089737 0.945168 +-0.312037 -1.163003 -1.057184 -0.644673 0.268029 0.715931 +-0.338613 -1.146774 -1.069065 -0.277388 0.241700 0.929859 +-0.269799 -1.171450 -1.053666 0.360509 -0.692729 -0.624628 +-0.304381 -1.184538 -1.045494 0.134016 -0.802193 -0.581830 +-0.263265 -1.151909 -1.060025 0.524796 -0.206634 -0.825767 +-0.260030 -1.124678 -1.055475 0.600320 0.334951 -0.726240 +-0.287615 -1.097294 -1.050728 0.349335 0.781344 -0.517172 +-0.310452 -1.086322 -1.035124 -0.468085 0.798203 0.379168 +-0.311671 -1.094821 -1.038957 -0.596044 -0.455791 0.661049 +-0.348236 -1.105636 -1.066348 -0.375412 -0.467302 0.800434 +-0.147928 -1.405185 -0.938309 -0.727859 -0.640782 0.244171 +-0.162523 -1.393819 -0.950832 -0.662721 -0.748865 -0.001284 +-0.138662 -1.415715 -0.925182 -0.868009 -0.404107 0.288544 +-0.145103 -1.397383 -0.918884 -0.725954 -0.440852 0.527865 +-0.122840 -1.432474 -1.061670 -0.633108 -0.758758 -0.153170 +-0.144263 -1.389823 -0.917095 -0.552942 -0.123192 0.824062 +-0.108530 -0.355331 -1.455653 -0.695608 0.144731 -0.703692 +-0.236095 -0.336440 -1.315803 -0.708825 0.112503 -0.696355 +-0.121475 -0.199653 -1.417969 -0.686186 0.123558 -0.716856 +-0.268996 -0.166749 -1.278754 -0.632808 0.104040 -0.767287 +-0.126253 -0.069033 -1.371295 -0.582573 0.146614 -0.799445 +-0.276410 -0.024242 -1.265942 -0.523653 0.085940 -0.847586 +-0.277886 -1.362630 -1.135619 0.948442 -0.153751 -0.277160 +-0.283686 -1.359002 -1.147220 0.709430 0.216599 -0.670667 +-0.280020 -1.368770 -1.123823 0.865928 -0.482114 0.133172 +-0.289273 -1.375075 -1.116339 0.527157 -0.686181 0.501259 +-0.302110 -1.379138 -1.116024 -0.038247 -0.729403 0.683014 +-0.313628 -1.379406 -1.122999 -0.628958 -0.574123 0.524208 +-0.319427 -1.375778 -1.134601 -0.960593 -0.264440 0.085630 +-0.317293 -1.369638 -1.146396 -0.903671 0.087393 -0.419215 +-0.308040 -1.363333 -1.153881 -0.490767 0.361613 -0.792707 +-0.295204 -1.359270 -1.154196 0.141296 0.429705 -0.891846 +-0.351197 -1.098160 -1.069294 -0.630088 0.406194 0.661812 +-0.310089 -1.161948 -1.072658 0.128746 -0.566795 -0.813737 +-0.343303 -1.163795 -1.072610 0.032180 -0.599473 -0.799748 +-0.311104 -1.142927 -1.084190 0.251806 -0.114717 -0.960955 +-0.302553 -1.120087 -1.073390 0.342573 0.330694 -0.879366 +-0.332530 -1.106033 -1.077487 0.224317 0.663148 -0.714084 +-0.121794 0.126862 -1.337687 -0.465797 0.117416 -0.877067 +-0.263580 0.140392 -1.261915 -0.609194 0.112356 -0.785022 +-0.229655 0.334608 -1.256244 -0.687405 0.026545 -0.725789 +-0.108528 0.360089 -1.304915 -0.319163 -0.087919 -0.943613 +-0.208275 0.514568 -1.309593 -0.528967 -0.076611 -0.845177 +-0.276877 0.518283 -1.223775 -0.824384 -0.099048 -0.557298 +-0.284178 0.314571 -1.157604 -0.880721 -0.049919 -0.470998 +-0.201975 0.676339 -1.300758 -0.381373 0.175413 -0.907626 +-0.093267 0.537123 -1.340819 -0.242363 -0.002218 -0.970183 +-0.078983 0.672760 -1.329372 -0.218391 0.173171 -0.960373 +-0.314782 0.525202 -1.163291 -0.882557 -0.089556 -0.461599 +-0.284059 0.669572 -1.231316 -0.770204 0.143261 -0.621499 +-0.328173 0.316278 -1.060432 -0.902669 -0.142122 -0.406190 +-0.316567 0.674269 -1.177092 -0.899695 0.158234 -0.406830 +-0.279601 0.779780 -1.158522 -0.750713 0.560713 -0.349330 +-0.234621 0.787648 -1.231194 -0.615072 0.617987 -0.489672 +-0.115223 0.870956 -1.200244 -0.349666 0.840396 -0.414088 +-0.203523 0.850704 -1.130556 -0.439897 0.872048 -0.214529 +-0.112552 0.899531 -1.004645 -0.332031 0.936783 -0.110418 +-0.055367 0.903845 -1.060557 -0.274261 0.951171 -0.141614 +-0.251929 0.841469 -1.034970 -0.519001 0.848369 -0.104442 +-0.172004 0.879637 -0.926179 -0.417151 0.904650 0.087135 +-0.341636 0.537693 -1.091500 -0.937843 -0.043632 -0.344306 +-0.343043 0.675234 -1.105304 -0.926620 0.152259 -0.343792 +-0.315812 0.762780 -1.086902 -0.829182 0.474899 -0.294835 +-0.081137 0.746770 -1.310106 -0.220055 0.277155 -0.935287 +-0.187521 0.788019 -1.271414 -0.371622 0.474332 -0.798064 +-0.083203 0.776489 -1.299486 -0.191787 0.422061 -0.886049 +-0.280601 -1.383995 -1.147629 0.986606 0.163103 -0.002431 +-0.284070 -1.382217 -1.157102 0.781413 0.363876 -0.506940 +-0.282084 -1.390649 -1.140100 0.864782 -0.136750 0.483168 +-0.287731 -1.399218 -1.137627 0.452203 -0.447922 0.771284 +-0.294990 -1.406136 -1.140857 -0.117278 -0.670052 0.732992 +-0.301114 -1.408959 -1.148293 -0.614005 -0.701550 0.361699 +-0.304027 -1.406916 -1.157166 -0.838267 -0.513041 -0.184654 +-0.302810 -1.400832 -1.164291 -0.708467 -0.165392 -0.686090 +-0.297857 -1.392846 -1.167120 -0.266187 0.193741 -0.944250 +-0.290769 -1.385752 -1.164499 0.312846 0.392806 -0.864772 +-0.258485 -1.431602 -1.170118 0.908561 0.304684 0.285806 +-0.258912 -1.430779 -1.174341 0.829774 0.486206 -0.274006 +-0.259865 -1.434206 -1.166871 0.705983 -0.041278 0.707025 +-0.262486 -1.437617 -1.165891 0.296132 -0.441259 0.847111 +-0.265684 -1.440051 -1.167361 -0.187472 -0.755468 0.627791 +-0.268306 -1.440624 -1.170797 -0.535974 -0.834506 0.127795 +-0.269087 -1.439328 -1.175026 -0.614819 -0.652616 -0.442820 +-0.267857 -1.436418 -1.178335 -0.402921 -0.283501 -0.870219 +-0.264932 -1.433226 -1.179409 0.023461 0.129749 -0.991269 +-0.261355 -1.431329 -1.177856 0.495003 0.422800 -0.759087 +-0.355943 -1.129597 -1.088021 0.095520 -0.098053 -0.990586 +-0.316565 0.155535 -1.170591 -0.858188 0.188038 -0.477656 +-0.085151 0.801816 -1.283248 -0.172412 0.629211 -0.757870 +-0.257483 0.826472 -0.861991 -0.481527 0.849066 0.217299 +-0.191441 0.840666 -0.814931 -0.019656 0.941005 0.337820 +-0.174726 0.772485 -0.655484 0.163875 0.913129 0.373283 +-0.228561 0.777364 -0.667726 -0.287121 0.901021 0.325150 +-0.098672 0.741881 -0.649914 0.335570 0.879375 0.337775 +-0.088868 0.769612 -0.732977 0.341962 0.878487 0.333649 +-0.275723 0.755235 -0.676234 -0.568824 0.785055 0.245211 +-0.310224 0.786234 -0.897805 -0.677690 0.706383 0.204351 +-0.249671 -1.449145 -1.176748 0.686375 -0.678472 -0.261849 +0.173635 -1.358508 -0.942559 0.737418 -0.441260 -0.511374 +0.179672 -1.361783 -0.916928 0.878918 -0.476973 0.000000 +0.167523 -1.369772 -0.939125 0.617776 -0.661748 -0.424785 +0.163048 -1.378017 -0.929743 0.534807 -0.814638 -0.224379 +0.161410 -1.381035 -0.916928 0.510749 -0.858971 0.036119 +0.163048 -1.378017 -0.904112 0.552022 -0.782900 0.286948 +0.167523 -1.369772 -0.894731 0.647615 -0.606761 0.460908 +0.173635 -1.358508 -0.891297 0.771878 -0.377782 0.511357 +0.179748 -1.347244 -0.894731 0.891512 -0.157325 0.424799 +0.184223 -1.338998 -0.904112 0.974483 -0.004425 0.224418 +0.185861 -1.335980 -0.916928 0.998550 0.039918 -0.036122 +0.184223 -1.338998 -0.929743 0.957259 -0.036174 -0.286960 +0.179748 -1.347244 -0.939125 0.861673 -0.212316 -0.460914 +0.149528 -1.370119 -0.954521 0.220660 -0.628718 -0.745669 +0.159880 -1.351043 -0.960336 0.427069 -0.248369 -0.869439 +0.141950 -1.384084 -0.938632 0.071421 -0.903742 -0.422078 +0.139176 -1.389196 -0.916928 0.019353 -0.999706 0.014589 +0.141950 -1.384084 -0.895224 0.078388 -0.890914 0.447356 +0.149528 -1.370119 -0.879335 0.232699 -0.606528 0.760246 +0.159880 -1.351043 -0.873519 0.440998 -0.222714 0.869436 +0.170233 -1.331967 -0.879335 0.647415 0.157644 0.745656 +0.177811 -1.318002 -0.895224 0.796651 0.432662 0.422078 +0.180585 -1.312891 -0.916928 0.848725 0.528633 -0.014584 +0.177811 -1.318002 -0.938632 0.789692 0.419839 -0.447351 +0.170233 -1.331967 -0.954521 0.635357 0.135426 -0.760251 +0.123777 -1.359001 -0.958868 -0.042796 -0.448237 -0.892890 +0.135327 -1.337718 -0.965356 0.196612 -0.007070 -0.980456 +0.115323 -1.374581 -0.941142 -0.229249 -0.791848 -0.566058 +0.112228 -1.380283 -0.916928 -0.312801 -0.945773 -0.087579 +0.115323 -1.374581 -0.892714 -0.271021 -0.868808 0.414392 +0.123777 -1.359001 -0.874988 -0.115146 -0.581569 0.805307 +0.135327 -1.337718 -0.868499 0.113081 -0.161004 0.980454 +0.146876 -1.316436 -0.874988 0.352498 0.280196 0.892880 +0.155331 -1.300856 -0.892714 0.538963 0.623778 0.566056 +0.158425 -1.295154 -0.916928 0.622493 0.777711 0.087567 +0.155331 -1.300856 -0.941142 0.580732 0.700743 -0.414379 +0.146876 -1.316436 -0.958868 0.424839 0.413499 -0.805314 +0.007202 1.584741 -1.309190 0.724131 0.195871 -0.661263 +0.000000 1.622242 -1.297518 0.893076 0.449905 0.000013 +0.015217 1.584564 -1.297518 0.967707 0.219246 0.124396 +0.000000 1.584920 -1.313976 0.525223 0.180011 -0.831707 +0.007202 1.584740 -1.285847 0.663513 0.198677 0.721303 +0.000000 1.584920 -1.281061 0.543125 0.225448 0.808819 +0.012210 1.519316 -1.313955 0.707247 0.074854 -0.702993 +0.022343 1.519310 -1.297518 0.996623 0.079873 -0.019066 +0.000000 1.519330 -1.320764 0.478038 0.062782 -0.876092 +0.012210 1.519316 -1.281081 0.704261 0.074666 0.706004 +0.000000 1.519330 -1.272790 0.557861 0.079860 0.826083 +0.015294 1.442862 -1.316786 0.712363 0.043590 -0.700456 +0.025428 1.442862 -1.297518 0.998992 0.041707 -0.016593 +0.000000 1.442863 -1.324767 0.449794 0.033100 -0.892519 +0.015294 1.442862 -1.278250 0.705576 0.041854 0.707398 +0.000000 1.442863 -1.269792 0.510001 0.038442 0.859314 +0.018443 1.349348 -1.318398 0.710581 0.023158 -0.703234 +0.028576 1.349348 -1.297518 0.999671 0.023577 -0.010091 +0.000000 1.349349 -1.327047 0.406618 0.015636 -0.913464 +0.018443 1.349348 -1.276638 0.722135 0.026809 0.691233 +0.000000 1.349350 -1.266484 0.482665 0.027711 0.875367 +0.019217 1.253847 -1.320011 0.700674 0.017142 -0.713276 +0.029351 1.253847 -1.297518 0.999854 0.015151 -0.007878 +0.000000 1.253848 -1.327673 0.381797 0.017721 -0.924076 +0.019217 1.253847 -1.275025 0.739203 0.020009 0.673186 +0.000000 1.253848 -1.264209 0.487623 0.023695 0.872733 +0.020764 1.166052 -1.321185 0.709045 0.026112 -0.704680 +0.030897 1.166052 -1.297518 0.999700 0.023652 -0.006371 +0.000000 1.166052 -1.330374 0.410524 0.027014 -0.911449 +0.020764 1.166052 -1.273851 0.754056 0.023757 0.656380 +0.000000 1.166052 -1.261031 0.513665 0.024852 0.857631 +0.023085 1.075631 -1.322514 0.723051 0.019230 -0.690527 +0.033219 1.075631 -1.297518 0.999820 0.018543 -0.003890 +0.000000 1.075632 -1.333278 0.430236 0.017001 -0.902556 +0.023085 1.075631 -1.272521 0.758384 0.018586 0.651543 +0.000000 1.075632 -1.258652 0.518354 0.019262 0.854949 +0.023843 0.991295 -1.322813 0.782440 0.013451 -0.622581 +0.033976 0.991295 -1.297518 0.999904 0.007463 0.011634 +0.000000 0.991296 -1.334681 0.445557 0.014891 -0.895130 +0.023843 0.991295 -1.272223 0.756034 -0.001749 0.654530 +0.000000 0.991296 -1.257709 0.518310 -0.001552 0.855191 +0.025062 0.911391 -1.323454 0.931299 0.017127 -0.363852 +0.035195 0.911391 -1.297518 0.992876 0.029245 0.115510 +0.022481 0.911391 -1.271582 0.733825 0.019430 0.679061 +0.000000 0.911391 -1.259761 0.483798 0.005617 0.875162 +0.029112 0.812922 -1.273484 0.751529 0.003117 0.659693 +0.000000 0.812923 -1.255352 0.510971 -0.035810 0.858852 +0.039245 0.812922 -1.297518 0.920790 0.037872 0.388215 +0.049248 0.745544 -1.293766 0.565651 -0.014801 0.824512 +0.000000 0.777615 -1.259705 -0.398388 0.409297 -0.820831 +0.000000 0.798667 -1.251145 -0.452011 0.335990 -0.826315 +0.031367 0.777065 -1.277087 -0.464232 0.262140 -0.846033 +0.295178 -0.752238 0.000018 -0.001573 0.001095 0.999998 +0.332202 -0.734652 0.000057 -0.000857 0.001861 0.999998 +0.272467 -0.735551 -0.000036 -0.000377 0.000938 0.999999 +0.248955 -0.755401 -0.000014 0.000260 0.000800 1.000000 +0.208629 -0.741017 -0.000015 0.000196 0.000275 1.000000 +0.189201 -0.700580 -0.000015 0.000000 0.000000 1.000000 +0.200394 -0.636211 -0.000015 0.000313 -0.000121 1.000000 +0.222624 -0.608680 -0.000015 0.000000 0.000000 1.000000 +0.278199 -0.590617 -0.000015 -0.000255 -0.001293 0.999999 +0.335244 -0.615850 -0.000015 -0.001307 -0.002955 0.999995 +0.349110 -0.655147 -0.000113 -0.000213 0.000181 1.000000 +0.348796 -0.704774 -0.000013 0.000597 0.002011 0.999998 +0.326741 -0.712820 -0.044831 0.825396 -0.375178 -0.421856 +0.321164 -0.686016 -0.079581 0.653239 -0.529408 -0.541301 +0.346165 -0.674416 -0.040981 0.909116 -0.208547 -0.360578 +0.336374 -0.647740 -0.079227 0.960867 -0.065165 -0.269235 +0.342440 -0.630348 -0.037392 0.982827 0.068937 -0.171167 +0.335166 -0.602167 -0.075203 0.961086 0.272371 -0.046122 +0.330532 -0.589047 -0.108363 0.870018 0.488175 0.068950 +0.314000 -0.565151 -0.068947 0.870018 0.488175 0.068950 +0.308093 -0.551433 -0.092603 0.749115 0.662410 -0.006349 +0.291303 -0.704382 -0.077706 0.211492 -0.751068 -0.625434 +0.291509 -0.674280 -0.113187 0.300594 -0.753200 -0.585093 +0.314822 -0.657923 -0.112631 0.458263 -0.631898 -0.625060 +0.273587 -0.679387 -0.111205 0.017027 -0.825329 -0.564395 +0.273842 -0.653064 -0.155061 0.112784 -0.843691 -0.524848 +0.294872 -0.646012 -0.153510 0.304537 -0.791690 -0.529607 +0.303818 -0.553183 -0.141994 0.514962 0.846675 -0.133999 +0.279132 -0.529526 -0.087386 0.181074 0.968761 -0.169452 +0.279028 -0.540377 -0.138857 -0.158540 0.980583 -0.115421 +0.257647 -0.677363 -0.108988 -0.177272 -0.846821 -0.501466 +0.256660 -0.650004 -0.154840 -0.167282 -0.846628 -0.505211 +0.274078 -0.706588 -0.077441 0.089624 -0.774958 -0.625626 +0.247016 -0.552736 -0.092951 -0.437248 0.897105 -0.063387 +0.249190 -0.549680 -0.142482 -0.302375 0.952104 0.045472 +0.210457 -0.628753 -0.037344 -0.926518 0.346041 -0.147713 +0.197789 -0.683783 -0.037943 -0.940195 -0.193249 -0.280513 +0.236572 -0.595297 -0.032913 -0.777848 0.623313 -0.080210 +0.218227 -0.725211 -0.045824 -0.501421 -0.765373 -0.403461 +0.253455 -0.733264 -0.046138 -0.203873 -0.874700 -0.439699 +0.200532 -0.651394 -0.376826 -0.852736 -0.357396 0.380933 +0.215880 -0.635772 -0.327812 -0.844791 -0.419827 0.331774 +0.179266 -0.601335 -0.377465 -0.924076 -0.232112 0.303658 +0.198140 -0.597121 -0.314314 -0.914560 -0.279842 0.292009 +0.178825 -0.521027 -0.378250 -0.971917 -0.003037 0.235306 +0.196859 -0.533913 -0.303928 -0.964214 -0.035035 0.262801 +0.391453 -0.418047 -0.607499 0.533801 0.836727 0.122247 +0.325815 -0.384064 -0.553484 0.213570 0.973673 0.079680 +0.357320 -0.417054 -0.465251 0.686982 0.693526 0.216974 +0.306654 -0.389007 -0.449769 -0.172370 0.984942 0.013354 +0.405876 -0.495740 -0.495396 0.865675 0.450800 0.217683 +0.383499 -0.505994 -0.385173 0.812760 0.503354 0.293352 +0.336212 -0.447832 -0.375617 0.750671 0.550226 0.365710 +0.219295 -0.435004 -0.413224 -0.482210 0.874511 -0.052005 +0.210983 -0.443751 -0.483240 -0.482843 0.874288 -0.049834 +0.347038 -0.652398 -0.457320 0.660694 -0.663023 0.351971 +0.332847 -0.626788 -0.381643 0.578235 -0.732991 0.358284 +0.286957 -0.682616 -0.438026 0.429080 -0.797441 0.424239 +0.276524 -0.661972 -0.379310 0.504116 -0.782807 0.364802 +0.387067 -0.602420 -0.479440 0.827830 -0.500935 0.252509 +0.367801 -0.587543 -0.383197 0.760023 -0.579513 0.294159 +0.294651 -0.747369 -0.556844 0.462801 -0.770503 0.438339 +0.233252 -0.732483 -0.490942 0.302703 -0.827602 0.472700 +0.236832 -0.696120 -0.429808 0.300677 -0.827318 0.474488 +0.352869 -0.722752 -0.593997 0.758671 -0.573589 0.308892 +0.398648 -0.657788 -0.643241 0.867407 -0.449569 0.213290 +0.286957 -0.682616 -0.438026 0.297427 -0.882930 0.363279 +0.276524 -0.661972 -0.379310 0.299928 -0.882899 0.361292 +0.236832 -0.696120 -0.429808 -0.068169 -0.858321 0.508564 +0.245371 -0.672412 -0.378741 -0.200268 -0.905636 0.373787 +0.200532 -0.651394 -0.376826 -0.715413 -0.564188 0.412160 +0.185062 -0.653566 -0.409151 -0.657777 -0.579300 0.481395 +0.166063 -0.601729 -0.399052 -0.833938 -0.367101 0.412048 +0.155519 -0.617108 -0.446525 -0.865152 -0.263850 0.426492 +0.166408 -0.689952 -0.448651 -0.272905 -0.667343 0.692947 +0.233252 -0.732483 -0.490942 -0.136242 -0.797944 0.587131 +0.179266 -0.601335 -0.377465 -0.801345 -0.334092 0.496215 +0.156180 -0.709903 -0.464735 -0.346460 -0.461496 0.816693 +0.229238 -0.751868 -0.513438 0.035083 -0.696549 0.716651 +0.152043 -0.627012 -0.461232 -0.600298 -0.063652 0.797239 +0.130595 -0.640555 -0.478463 -0.669680 -0.101433 0.735691 +0.139670 -0.729077 -0.486843 -0.242721 -0.560623 0.791700 +0.188531 -0.803520 -0.548481 0.082147 -0.603057 0.793457 +0.405876 -0.495740 -0.495396 0.967191 0.187757 0.171140 +0.383499 -0.505994 -0.385173 0.969946 -0.096563 0.223341 +0.402735 -0.560380 -0.492227 0.970770 -0.117150 0.209479 +0.376532 -0.549829 -0.385658 0.947026 -0.210055 0.242939 +0.436833 -0.575138 -0.660827 0.973473 -0.134263 0.185265 +0.427755 -0.497838 -0.650739 0.966122 0.211346 0.148122 +0.357320 -0.417054 -0.465251 0.866101 0.456060 0.204641 +0.391453 -0.418047 -0.607499 0.908437 0.391109 0.147569 +0.387067 -0.602420 -0.479440 0.932754 -0.284597 0.221302 +0.398648 -0.657788 -0.643241 0.899648 -0.363186 0.242340 +0.367801 -0.587543 -0.383197 0.952881 -0.206072 0.222603 +0.449056 -0.493539 -0.787950 0.970811 0.186562 0.150734 +0.405733 -0.421712 -0.714452 0.917133 0.375999 0.132253 +0.459976 -0.598947 -0.814650 0.962051 -0.186533 0.199158 +0.430026 -0.707082 -0.805969 0.904548 -0.327091 0.273503 +0.368785 -0.778217 -0.725018 0.867592 -0.408093 0.284155 +0.352869 -0.722752 -0.593997 0.871680 -0.404266 0.277026 +0.148618 -0.528786 -0.462029 -0.755813 0.620372 0.209490 +0.210664 -0.440016 -0.501884 -0.727881 0.627548 0.276355 +0.131915 -0.528796 -0.497689 -0.694152 0.632003 0.344566 +0.186971 -0.445619 -0.537279 0.170012 0.394526 0.903020 +0.210983 -0.443751 -0.483240 -0.792969 0.599631 0.107901 +0.153661 -0.526172 -0.447830 -0.808346 0.578673 0.108236 +0.165710 -0.520333 -0.397867 -0.816383 0.501904 0.285676 +0.219295 -0.435004 -0.413224 -0.822177 0.557476 0.115086 +0.122304 -0.438939 -0.494920 0.552618 0.141441 0.821345 +0.144773 -0.369613 -0.521976 0.535712 0.129421 0.834424 +0.229770 -0.368127 -0.574212 0.518484 0.117324 0.847000 +0.224163 -0.441915 -0.371037 -0.802960 0.475628 0.359210 +0.178825 -0.521027 -0.378250 -0.759840 0.387887 0.521716 +0.227821 -0.552386 -0.242999 -0.892245 0.356757 0.276808 +0.229231 -0.598010 -0.149052 -0.983470 0.174776 -0.047327 +0.251681 -0.526464 -0.238647 -0.690594 0.664226 0.286152 +0.249190 -0.549680 -0.142482 -0.912229 0.408758 -0.027482 +0.229813 -0.597061 -0.252879 -0.961022 -0.250403 0.117198 +0.232306 -0.634170 -0.151996 -0.866818 -0.420584 -0.267836 +0.219397 -0.607375 -0.110780 -0.961196 0.230353 -0.151785 +0.222420 -0.652138 -0.114268 -0.854221 -0.287278 -0.433333 +0.247016 -0.552736 -0.092951 -0.835980 0.541525 0.088818 +0.233185 -0.667982 -0.111233 -0.455689 -0.655526 -0.602190 +0.241496 -0.644234 -0.153820 -0.521797 -0.776403 -0.353449 +0.218390 -0.549998 -0.270212 -0.853557 0.224824 0.469994 +0.246942 -0.515169 -0.267732 -0.561310 0.656767 0.503575 +0.281603 -0.495410 -0.271164 -0.431338 0.772183 0.466563 +0.281356 -0.506818 -0.237638 -0.538157 0.799117 0.267953 +0.220666 -0.594124 -0.278731 -0.844689 -0.369256 0.387492 +0.239402 -0.611724 -0.258518 -0.745427 -0.666583 0.002216 +0.232976 -0.612466 -0.284542 -0.609951 -0.719599 0.331870 +0.258925 -0.626401 -0.262389 -0.339126 -0.933082 -0.119796 +0.276371 -0.627443 -0.261753 0.115841 -0.983273 -0.140550 +0.273842 -0.653064 -0.155061 -0.111909 -0.967933 -0.224905 +0.256660 -0.650004 -0.154840 -0.295440 -0.905891 -0.303442 +0.196859 -0.533913 -0.303928 -0.806942 0.276959 0.521668 +0.237075 -0.487034 -0.304912 -0.528071 0.628260 0.571341 +0.284307 -0.461223 -0.300945 -0.388347 0.686507 0.614731 +0.215880 -0.635772 -0.327812 -0.376298 -0.788135 0.487076 +0.198140 -0.597121 -0.314314 -0.744275 -0.409019 0.527975 +0.249547 -0.643542 -0.327400 -0.041428 -0.908593 0.415623 +0.256416 -0.624547 -0.286227 -0.182454 -0.960841 0.208554 +0.242148 -0.565654 -0.068614 -0.661519 0.654608 0.365898 +0.279132 -0.529526 -0.087386 -0.125342 0.760870 0.636684 +0.214653 -0.617621 -0.076847 -0.949442 0.311317 -0.040514 +0.209417 -0.666078 -0.081436 -0.915706 -0.174796 -0.361841 +0.278717 -0.556303 -0.063563 0.047024 0.776610 0.628224 +0.308093 -0.551433 -0.092603 0.418683 0.726184 0.545308 +0.227787 -0.702231 -0.078069 -0.470808 -0.629122 -0.618503 +0.255760 -0.710602 -0.077899 0.044986 -0.774366 -0.631137 +0.257647 -0.677363 -0.108988 -0.166346 -0.765348 -0.621748 +0.274078 -0.706588 -0.077441 -0.010844 -0.829579 -0.558285 +0.273587 -0.679387 -0.111205 -0.182935 -0.766886 -0.615159 +0.276764 -0.624107 -0.286603 0.295377 -0.947934 0.119051 +0.307727 -0.608932 -0.283631 0.443418 -0.884600 0.144444 +0.302528 -0.611687 -0.254364 0.488921 -0.870571 -0.055339 +0.178825 -0.521027 -0.378250 -0.842886 0.457172 0.283789 +0.224163 -0.441915 -0.371037 -0.582539 0.701935 0.409800 +0.245371 -0.672412 -0.378741 0.062836 -0.876098 0.478022 +0.276524 -0.635578 -0.326774 0.355798 -0.872141 0.335823 +0.276524 -0.661972 -0.379310 0.413191 -0.822524 0.390803 +0.319099 -0.611475 -0.323902 0.473491 -0.824421 0.310058 +0.287657 -0.420008 -0.357903 -0.086054 0.901619 0.423883 +0.200532 -0.651394 -0.376826 -0.286514 -0.860688 0.420863 +0.278297 -0.578394 -0.034141 -0.004600 0.887169 0.461423 +0.236572 -0.595297 -0.032913 -0.441510 0.778132 0.446743 +0.210457 -0.628753 -0.037344 -0.898310 0.424168 0.114550 +0.197789 -0.683783 -0.037943 -0.976256 -0.001163 -0.216619 +0.273287 -0.721296 -0.043570 -0.002460 -0.912943 -0.408081 +0.292682 -0.727566 -0.046477 0.093442 -0.857950 -0.505163 +0.291303 -0.704382 -0.077706 0.280725 -0.753801 -0.594120 +0.326741 -0.712820 -0.044831 0.586150 -0.653319 -0.479169 +0.321164 -0.686016 -0.079581 0.391162 -0.697303 -0.600634 +0.318030 -0.594901 -0.032404 0.625223 0.719749 0.301757 +0.314000 -0.565151 -0.068947 0.450200 0.746021 0.490685 +0.218227 -0.725211 -0.045824 -0.636342 -0.554428 -0.536356 +0.253455 -0.733264 -0.046138 0.267319 -0.834484 -0.481848 +0.306654 -0.389007 -0.449769 0.087698 0.938219 0.334745 +0.357320 -0.417054 -0.465251 0.547318 0.747830 0.375758 +0.336212 -0.447832 -0.375617 0.560539 0.733743 0.383950 +0.219295 -0.435004 -0.413224 -0.367072 0.906678 0.207828 +0.332847 -0.626788 -0.381643 0.509630 -0.793816 0.331863 +0.332202 -0.734652 0.000057 0.549319 -0.721702 -0.421182 +0.348796 -0.704774 -0.000013 0.920403 -0.296492 -0.254854 +0.346165 -0.674416 -0.040981 0.977328 -0.106354 -0.183082 +0.335244 -0.615850 -0.000015 0.766257 0.630850 0.121975 +0.342440 -0.630348 -0.037392 0.918952 0.393354 0.028279 +0.278199 -0.590617 -0.000015 0.153638 0.925027 0.347449 +0.222624 -0.608680 -0.000015 -0.327561 0.905627 0.269340 +0.272467 -0.735551 -0.000036 0.225850 -0.919491 -0.321759 +0.295178 -0.752238 0.000018 -0.191296 -0.887975 -0.418218 +0.349110 -0.655147 -0.000113 0.988956 0.141399 -0.044404 +0.248955 -0.755401 -0.000014 0.617067 -0.731228 -0.290747 +0.335166 -0.602167 -0.075203 0.836380 0.486658 0.252253 +0.325592 -0.544287 -0.241357 0.980676 0.051672 0.188691 +0.321219 -0.579031 -0.146115 0.964788 0.263029 0.000295 +0.320785 -0.569750 -0.245758 0.980517 -0.174798 0.089618 +0.318454 -0.607310 -0.149689 0.968249 -0.183239 -0.170052 +0.314774 -0.524596 -0.238125 0.706083 0.638125 0.306989 +0.303818 -0.553183 -0.141994 0.731572 0.663152 0.158213 +0.309583 -0.628689 -0.151638 0.841672 -0.449423 -0.299346 +0.316683 -0.593278 -0.250336 0.879243 -0.476366 -0.002558 +0.314822 -0.657923 -0.112631 0.767139 -0.456582 -0.450589 +0.327569 -0.625240 -0.112006 0.933818 -0.178190 -0.310215 +0.330532 -0.589047 -0.108363 0.976877 0.091608 -0.193181 +0.308093 -0.551433 -0.092603 0.832015 0.549085 -0.079097 +0.291509 -0.674280 -0.113187 0.516696 -0.720718 -0.462158 +0.294872 -0.646012 -0.153510 0.640399 -0.698083 -0.320263 +0.333531 -0.536520 -0.271928 0.908451 0.090084 0.408169 +0.328640 -0.560919 -0.275564 0.926178 -0.213059 0.311127 +0.321012 -0.513381 -0.269870 0.591341 0.625473 0.509017 +0.281356 -0.506818 -0.237638 0.204055 0.918315 0.339204 +0.324505 -0.588902 -0.280399 0.863889 -0.438109 0.248509 +0.307727 -0.608932 -0.283631 0.755434 -0.639440 0.142955 +0.302528 -0.611687 -0.254364 0.636149 -0.759471 -0.136078 +0.279028 -0.540377 -0.138857 0.018450 0.953555 0.300654 +0.273842 -0.653064 -0.155061 0.437815 -0.867780 -0.235109 +0.276371 -0.627443 -0.261753 0.544748 -0.818258 -0.183584 +0.251681 -0.526464 -0.238647 -0.430483 0.870296 0.239311 +0.249190 -0.549680 -0.142482 -0.314405 0.924604 0.215072 +0.355280 -0.513678 -0.307759 0.872571 0.122265 0.472939 +0.348767 -0.549903 -0.311345 0.899610 -0.209424 0.383202 +0.337312 -0.487621 -0.305082 0.575289 0.620668 0.532742 +0.281603 -0.495410 -0.271164 0.355072 0.741131 0.569780 +0.343097 -0.581914 -0.315867 0.823114 -0.438544 0.360780 +0.319099 -0.611475 -0.323902 0.709509 -0.648285 0.276268 +0.321164 -0.686016 -0.079581 0.836167 -0.328209 -0.439436 +0.336374 -0.647740 -0.079227 0.902314 -0.204747 -0.379352 +0.335166 -0.602167 -0.075203 0.980426 -0.009097 -0.196679 +0.383499 -0.505994 -0.385173 0.879673 0.328093 0.344284 +0.376532 -0.549829 -0.385658 0.923955 -0.180530 0.337220 +0.336212 -0.447832 -0.375617 0.593567 0.683030 0.425615 +0.284307 -0.461223 -0.300945 0.453759 0.690851 0.562875 +0.367801 -0.587543 -0.383197 0.870472 -0.350768 0.345311 +0.332847 -0.626788 -0.381643 0.700170 -0.635872 0.324699 +0.287657 -0.420008 -0.357903 0.560305 0.655035 0.506940 +0.172004 0.879637 -0.926179 0.374912 0.925746 -0.049352 +0.251929 0.841469 -1.034970 0.370078 0.926176 -0.072390 +0.112552 0.899531 -1.004645 0.370078 0.926176 -0.072390 +0.203523 0.850704 -1.130556 0.365040 0.926092 -0.095387 +0.115223 0.870956 -1.200244 0.294909 0.950545 -0.097435 +0.055367 0.903845 -1.060557 0.274261 0.951171 -0.141614 +0.203523 0.850704 -1.130556 0.274261 0.951171 -0.141614 +0.112552 0.899531 -1.004645 0.252960 0.949535 -0.185456 +0.279601 0.779780 -1.158522 0.636892 0.733151 -0.238450 +0.234621 0.787648 -1.231194 0.533583 0.781026 -0.324480 +0.203523 0.850704 -1.130556 0.561353 0.772771 -0.296153 +0.115223 0.870956 -1.200244 0.469204 0.806289 -0.360202 +0.315812 0.762780 -1.086902 0.697746 0.691030 -0.188754 +0.251929 0.841469 -1.034970 0.656948 0.722974 -0.213841 +0.282348 0.545361 -0.119478 0.991695 -0.039105 -0.122524 +0.277643 0.564086 -0.163536 0.991272 -0.000510 -0.131831 +0.284402 0.576404 -0.112761 0.991272 -0.000510 -0.131831 +0.277107 0.594368 -0.159115 0.989287 0.038086 -0.140930 +0.269638 0.446302 0.000566 0.001711 0.002278 0.999996 +0.320365 0.485449 0.000390 -0.004583 -0.000007 0.999990 +0.242179 0.466927 0.000566 0.000985 0.000723 0.999999 +0.220789 0.442452 0.000566 0.000000 0.000000 1.000000 +0.167233 0.459170 0.000566 0.000000 0.000000 1.000000 +0.146152 0.501367 0.000566 0.000000 0.000000 1.000000 +0.153742 0.557811 0.000566 0.000472 -0.000128 1.000000 +0.187262 0.606974 0.000566 0.000000 0.000000 1.000000 +0.222234 0.612449 0.000566 0.000616 -0.001679 0.999998 +0.254878 0.617560 0.000566 0.000530 -0.003385 0.999994 +0.307234 0.573768 0.000390 -0.002514 -0.001265 0.999996 +0.323680 0.530277 0.000566 -0.017633 -0.002622 0.999841 +0.310224 0.786234 -0.897804 0.677688 0.706385 0.204351 +0.257483 0.826472 -0.861991 0.568823 0.785056 0.245211 +0.275723 0.755235 -0.676234 0.568823 0.785056 0.245211 +0.228561 0.777364 -0.667726 0.448746 0.848253 0.281238 +0.289658 0.521276 -0.087188 0.753525 -0.436024 -0.492020 +0.282348 0.545361 -0.119478 0.808482 -0.446612 -0.383268 +0.291826 0.566355 -0.081698 0.971848 -0.015706 -0.235083 +0.284402 0.576404 -0.112761 0.983191 0.086734 -0.160661 +0.254084 0.492429 -0.091707 0.561240 -0.603370 -0.566529 +0.251436 0.524118 -0.128080 0.578239 -0.643993 -0.500911 +0.249859 0.543077 -0.169297 0.601604 -0.713259 -0.359631 +0.277643 0.564086 -0.163536 0.608546 -0.704826 -0.364544 +0.277107 0.594368 -0.159115 0.968817 0.226499 -0.100454 +0.277154 0.615199 -0.111693 0.921051 0.385228 -0.057133 +0.268234 0.627424 -0.156155 0.811748 0.581601 -0.052969 +0.232840 0.663758 -0.096986 0.701629 0.712322 -0.017713 +0.231067 0.660080 -0.153241 0.655341 0.752099 -0.069827 +0.186751 0.612696 -0.034908 -0.755114 0.639320 0.145168 +0.217708 0.623680 -0.032393 -0.245774 0.937080 0.247945 +0.155436 0.559053 -0.044730 -0.973518 0.228114 0.015088 +0.188509 0.645758 -0.076114 -0.860442 0.428189 0.276214 +0.159072 0.588271 -0.082848 -0.987841 0.153674 0.023565 +0.164135 0.553976 -0.084703 -0.950462 -0.118846 -0.287222 +0.154307 0.520563 -0.045954 -0.955807 -0.137073 -0.260085 +0.179070 0.506104 -0.086362 -0.856303 -0.308085 -0.414523 +0.171417 0.482939 -0.048275 -0.771964 -0.518095 -0.368307 +0.223805 0.460757 -0.052471 -0.332387 -0.863041 -0.380366 +0.310224 0.786234 -0.897804 0.896303 0.398136 0.195266 +0.275723 0.755235 -0.676234 0.888210 0.419779 0.186733 +0.362855 0.685884 -0.934781 0.888210 0.419779 0.186733 +0.310846 0.688865 -0.685292 0.879577 0.441167 0.178087 +0.175497 0.729689 -0.405860 -0.843965 0.521374 0.126062 +0.178600 0.713752 -0.333697 -0.720376 0.668763 0.183888 +0.201002 0.752380 -0.409529 -0.622247 0.756443 0.201502 +0.200959 0.732715 -0.338152 -0.607554 0.765842 0.210630 +0.162211 0.681141 -0.329839 -0.896742 0.435541 0.078468 +0.161989 0.688799 -0.401702 -0.899699 0.435035 0.035857 +0.142688 0.649372 -0.328296 -0.954878 0.295623 0.028558 +0.141864 0.649581 -0.398320 -0.994152 0.102355 0.034423 +0.148225 0.609419 -0.328049 -0.951952 -0.305447 0.022131 +0.142612 0.617588 -0.398601 -0.900598 -0.428996 0.069892 +0.167913 0.575845 -0.391086 -0.610215 -0.779990 0.138758 +0.176281 0.581040 -0.325084 -0.534249 -0.837955 0.111398 +0.210193 0.564010 -0.387937 -0.212955 -0.965966 0.146829 +0.214007 0.575025 -0.326258 -0.149249 -0.971761 0.182772 +0.261987 0.648849 -0.326739 0.944217 0.329067 -0.012986 +0.270736 0.619210 -0.325093 0.991042 -0.128205 -0.037407 +0.260287 0.642322 -0.394408 0.955256 0.291357 -0.050961 +0.270736 0.608116 -0.391070 0.979016 -0.200961 0.033791 +0.250399 0.586577 -0.324189 0.568013 -0.809663 -0.147673 +0.244685 0.577869 -0.386784 0.595910 -0.797758 0.092051 +0.277643 0.564086 -0.163536 0.877110 -0.451148 -0.164754 +0.277107 0.594368 -0.159115 0.981739 0.189928 -0.010783 +0.249859 0.543077 -0.169297 0.426813 -0.854864 -0.295023 +0.229663 0.536460 -0.171279 0.230602 -0.917616 -0.323735 +0.214007 0.575025 -0.326258 0.187646 -0.976400 -0.106923 +0.176281 0.581040 -0.325084 -0.493609 -0.854166 -0.163557 +0.210195 0.534058 -0.169644 -0.168253 -0.938514 -0.301466 +0.246793 0.681763 -0.328611 0.877041 0.474690 0.073949 +0.268234 0.627424 -0.156155 0.871328 0.487326 0.057448 +0.247846 0.680231 -0.398317 0.943393 0.331405 -0.013441 +0.214153 0.515186 -0.127241 -0.298675 -0.823383 -0.482529 +0.232231 0.518961 -0.128260 0.220660 -0.862413 -0.455580 +0.182943 0.532746 -0.120103 -0.813599 -0.485663 -0.319670 +0.182677 0.552369 -0.164101 -0.733596 -0.659658 -0.163365 +0.251436 0.524118 -0.128080 0.117990 -0.865499 -0.486817 +0.168712 0.566050 -0.116333 -0.963247 -0.206105 -0.172268 +0.169900 0.585220 -0.162331 -0.969582 -0.244134 -0.017570 +0.210193 0.564010 -0.387937 0.364984 -0.920158 0.141758 +0.148225 0.609419 -0.328049 -0.907863 -0.418357 0.027601 +0.232782 0.708077 -0.332184 0.667286 0.721591 0.184486 +0.231067 0.660080 -0.153241 0.542769 0.837337 0.065331 +0.238095 0.715785 -0.403665 0.803124 0.584191 0.117100 +0.218592 0.488978 -0.091478 0.066934 -0.815191 -0.575311 +0.179070 0.506104 -0.086362 -0.576627 -0.639670 -0.508255 +0.254084 0.492429 -0.091707 0.035198 -0.797983 -0.601651 +0.236035 0.495774 -0.085419 0.103317 -0.826566 -0.553275 +0.200959 0.732715 -0.338152 0.167168 0.943057 0.287572 +0.201002 0.752380 -0.409529 0.672606 0.713316 0.196930 +0.209338 0.666894 -0.151392 -0.152536 0.983755 0.094656 +0.142688 0.649372 -0.328296 -0.984903 0.090459 0.147590 +0.164135 0.553976 -0.084703 -0.931463 -0.254468 -0.260043 +0.223805 0.460757 -0.052471 0.300321 -0.822569 -0.482895 +0.239054 0.473485 -0.052529 0.228486 -0.878628 -0.419293 +0.220789 0.442452 0.000566 0.688562 -0.703863 -0.174525 +0.242179 0.466927 0.000566 -0.083766 -0.982788 -0.164654 +0.162211 0.681141 -0.329839 -0.851310 0.489728 0.188248 +0.166089 0.620852 -0.155459 -0.955757 0.270962 0.114494 +0.163027 0.600441 -0.111351 -0.967581 0.251607 -0.021942 +0.159072 0.588271 -0.082848 -0.986468 0.157341 -0.046097 +0.232840 0.663758 -0.096986 0.449259 0.821419 0.351335 +0.208967 0.676069 -0.095824 -0.055538 0.969036 0.240591 +0.190077 0.655760 -0.095630 -0.759240 0.633512 0.149056 +0.191454 0.652899 -0.149048 -0.724706 0.670027 0.160826 +0.178600 0.713752 -0.333697 -0.758421 0.605604 0.240920 +0.269638 0.446302 0.000566 -0.013509 -0.942777 -0.333150 +0.260516 0.465220 -0.052600 0.094616 -0.905017 -0.414719 +0.320365 0.485449 0.000390 0.755898 -0.529569 -0.384934 +0.305828 0.503800 -0.050020 0.806806 -0.390272 -0.443568 +0.289658 0.521276 -0.087188 0.826338 -0.242158 -0.508454 +0.312485 0.544627 -0.044161 0.954017 0.079391 -0.289048 +0.291826 0.566355 -0.081698 0.922825 0.107861 -0.369810 +0.171417 0.482939 -0.048275 -0.381488 -0.762129 -0.523093 +0.188509 0.645758 -0.076114 -0.504124 0.731401 0.459251 +0.209317 0.654582 -0.075414 -0.131693 0.798140 0.587903 +0.235307 0.654334 -0.079683 0.412952 0.833297 0.367541 +0.277154 0.615199 -0.111693 0.832503 0.552830 -0.036302 +0.251605 0.623111 -0.036680 0.312986 0.903743 0.292043 +0.217708 0.623680 -0.032393 -0.082813 0.837345 0.540366 +0.254878 0.617560 0.000566 0.378865 0.913388 0.148945 +0.222234 0.612449 0.000566 -0.048900 0.969776 0.239046 +0.306784 0.584437 -0.041477 0.853710 0.518060 -0.052846 +0.307234 0.573768 0.000390 0.898226 0.438380 0.031828 +0.323680 0.530277 0.000566 0.969627 0.056639 -0.237940 +0.286405 0.610778 -0.079691 0.862536 0.500878 -0.071776 +0.284402 0.576404 -0.112761 0.962806 0.156083 -0.220553 +0.186751 0.612696 -0.034908 -0.312783 0.747304 0.586262 +0.380000 0.479387 -0.850625 0.823111 -0.476358 0.309148 +0.343117 0.533016 -0.669788 0.798703 -0.493743 0.343936 +0.311188 0.429845 -0.743750 0.798703 -0.493743 0.343936 +0.291123 0.470982 -0.647226 0.772611 -0.510087 0.377998 +0.257483 0.826472 -0.861991 0.388084 0.878137 0.279761 +0.191441 0.840666 -0.814931 0.201232 0.917264 0.343704 +0.228561 0.777364 -0.667726 0.201232 0.917264 0.343704 +0.174726 0.772485 -0.655484 0.006223 0.919211 0.393716 +0.257957 0.539113 -0.489777 0.356363 -0.833619 0.422001 +0.244685 0.577869 -0.386784 0.335682 -0.866587 0.369249 +0.204691 0.525197 -0.474041 -0.149790 -0.895576 0.418935 +0.210193 0.564010 -0.387937 0.032443 -0.911954 0.409007 +0.147059 0.559099 -0.487339 -0.534122 -0.792202 0.295179 +0.167913 0.575845 -0.391086 -0.408578 -0.848313 0.336793 +0.266554 0.508384 -0.555996 0.382278 -0.818249 0.429339 +0.200296 0.489186 -0.533589 -0.273814 -0.845326 0.458748 +0.132622 0.539817 -0.555258 -0.598820 -0.714263 0.362276 +0.196093 0.452835 -0.612980 -0.661276 -0.668182 0.340951 +0.116679 0.512235 -0.650594 -0.646521 -0.689651 0.326177 +0.175497 0.729689 -0.405860 -0.732136 0.681003 0.014575 +0.201002 0.752380 -0.409529 -0.036848 0.939147 -0.341533 +0.172382 0.715347 -0.474482 -0.393029 0.915956 -0.080950 +0.207105 0.724098 -0.466516 0.297162 0.952233 -0.070332 +0.161989 0.688799 -0.401702 -0.889609 0.326371 0.319497 +0.133645 0.691215 -0.483091 -0.607069 0.781718 0.142772 +0.249918 0.703367 -0.477302 0.616795 0.784687 0.061884 +0.238095 0.715785 -0.403665 0.782446 0.622127 -0.027137 +0.172011 0.723263 -0.542599 -0.264026 0.925984 0.269895 +0.220027 0.731594 -0.542794 -0.045993 0.984282 0.170512 +0.112848 0.705254 -0.556160 -0.334904 0.878136 0.341637 +0.263180 0.713418 -0.550893 0.438311 0.880652 0.179823 +0.174726 0.772485 -0.655484 -0.222638 0.893524 0.389933 +0.228561 0.777364 -0.667726 -0.076430 0.927313 0.366400 +0.098672 0.741881 -0.649914 -0.319832 0.865129 0.386341 +0.265205 0.675793 -0.482234 0.900649 0.401836 0.165405 +0.247846 0.680231 -0.398317 0.935890 0.304307 0.177504 +0.260287 0.642322 -0.394408 0.883245 0.419577 0.209362 +0.290254 0.638584 -0.489197 0.825408 0.510599 0.240813 +0.260287 0.642322 -0.394408 0.911347 0.305333 0.276076 +0.270736 0.608116 -0.391070 0.949998 -0.049979 0.308230 +0.290254 0.638584 -0.489197 0.939471 0.243450 0.241096 +0.298894 0.585936 -0.492080 0.864486 -0.378927 0.330271 +0.244685 0.577869 -0.386784 0.728663 -0.600608 0.329120 +0.257957 0.539113 -0.489777 0.714362 -0.607476 0.347361 +0.318289 0.563922 -0.566455 0.944303 -0.132381 0.301275 +0.266554 0.508384 -0.555996 0.711511 -0.599201 0.367028 +0.311358 0.632463 -0.562152 0.908058 0.321332 0.268657 +0.265205 0.675793 -0.482234 0.858593 0.428787 0.280999 +0.290660 0.682530 -0.558843 0.837753 0.462414 0.290418 +0.249918 0.703367 -0.477302 0.810056 0.519444 0.272006 +0.263180 0.713418 -0.550893 0.756230 0.616060 0.220423 +0.222856 -1.307619 -1.114574 -0.215118 -0.619053 -0.755313 +0.230621 -1.322045 -1.104962 -0.132676 -0.772335 -0.621205 +0.210022 -1.325508 -1.096257 -0.132676 -0.772335 -0.621205 +0.226916 -1.332009 -1.085243 -0.043829 -0.888331 -0.457108 +0.295170 -1.359270 -1.154195 -0.470966 0.387270 -0.792599 +0.290735 -1.385752 -1.164499 -0.537034 0.404276 -0.740375 +0.283652 -1.359002 -1.147220 -0.555573 0.342339 -0.757722 +0.284036 -1.382217 -1.157102 -0.676948 0.479403 -0.558493 +0.258878 -1.430779 -1.174340 -0.824018 0.503086 -0.260573 +0.280568 -1.383995 -1.147628 -0.912896 0.404233 0.056711 +0.258451 -1.431602 -1.170118 -0.914976 0.275932 0.294416 +0.282051 -1.390649 -1.140099 -0.818206 0.071551 0.570456 +0.259831 -1.434206 -1.166870 -0.701196 -0.081901 0.708248 +0.287698 -1.399218 -1.137627 -0.451423 -0.315511 0.834668 +0.262452 -1.437617 -1.165891 -0.266627 -0.457263 0.848422 +0.294956 -1.406136 -1.140856 0.051491 -0.639953 0.766687 +0.265650 -1.440051 -1.167361 0.247797 -0.728118 0.639094 +0.301081 -1.408959 -1.148293 0.391259 -0.762168 0.515767 +0.268273 -1.440624 -1.170797 0.432938 -0.775339 0.459798 +0.261322 -1.431329 -1.177856 -0.577685 0.529642 -0.621095 +0.308007 -1.363333 -1.153881 0.138136 0.365292 -0.920587 +0.297823 -1.392846 -1.167120 0.184178 0.204161 -0.961456 +0.295170 -1.359270 -1.154195 0.077060 0.363478 -0.928410 +0.290735 -1.385752 -1.164499 -0.068942 0.355658 -0.932070 +0.302777 -1.400832 -1.164291 0.624254 -0.328461 -0.708817 +0.267823 -1.436418 -1.178335 0.498845 -0.163351 -0.851158 +0.264899 -1.433226 -1.179409 0.043575 0.244648 -0.968632 +0.261322 -1.431329 -1.177856 -0.187589 0.385789 -0.903314 +0.303994 -1.406916 -1.157166 0.721852 -0.664243 -0.194195 +0.269053 -1.439328 -1.175026 0.718240 -0.551662 -0.424030 +0.301081 -1.408959 -1.148293 0.674810 -0.736154 0.052041 +0.268273 -1.440624 -1.170797 0.689791 -0.723789 -0.017793 +0.317259 -1.369638 -1.146396 0.669543 0.110523 -0.734505 +0.302777 -1.400832 -1.164291 0.652209 0.116954 -0.748963 +0.308007 -1.363333 -1.153881 0.652209 0.116954 -0.748963 +0.297823 -1.392846 -1.167120 0.634516 0.123321 -0.763009 +0.283652 -1.359002 -1.147220 -0.776198 0.147292 -0.613043 +0.284036 -1.382217 -1.157102 -0.923219 0.111806 -0.367649 +0.277853 -1.362630 -1.135619 -0.948446 -0.153790 -0.277125 +0.280568 -1.383995 -1.147628 -0.994497 -0.085504 -0.060541 +0.279987 -1.368770 -1.123823 -0.954536 -0.298051 0.005133 +0.282051 -1.390649 -1.140099 -0.987337 -0.143483 0.067670 +0.279678 -1.332219 -1.133962 -0.521755 0.265453 -0.810745 +0.269289 -1.342471 -1.125993 -0.805577 -0.152788 -0.572452 +0.267416 -1.352851 -1.113071 -0.846495 -0.425452 -0.320056 +0.294958 -1.325751 -1.133573 -0.195856 0.512956 -0.835773 +0.295170 -1.359270 -1.154195 -0.344707 0.427621 -0.835654 +0.268578 -1.308589 -1.120256 -0.310961 0.163334 -0.936283 +0.254957 -1.321908 -1.115359 -0.559739 -0.042249 -0.827591 +0.249879 -1.335757 -1.102068 -0.771434 -0.359638 -0.524929 +0.257984 -1.289274 -1.110665 0.166751 0.262420 -0.950437 +0.242488 -1.305722 -1.114672 -0.037667 0.077559 -0.996276 +0.246845 -1.260431 -1.101758 0.363742 0.400226 -0.841136 +0.236921 -1.282762 -1.116675 0.324543 0.195655 -0.925414 +0.259831 -1.434206 -1.166870 -0.710934 0.020308 0.702965 +0.258451 -1.431602 -1.170118 -0.824134 0.216217 0.523502 +0.249637 -1.449145 -1.176748 -0.427277 -0.861461 -0.274443 +0.262452 -1.437617 -1.165891 -0.340083 -0.416163 0.843298 +0.265650 -1.440051 -1.167361 0.094129 -0.790470 0.605225 +0.268273 -1.440624 -1.170797 0.388331 -0.916486 0.096193 +0.269053 -1.439328 -1.175026 0.433870 -0.778573 -0.453410 +0.267823 -1.436418 -1.178335 0.240674 -0.451072 -0.859424 +0.264899 -1.433226 -1.179409 -0.123365 -0.047419 -0.991228 +0.261322 -1.431329 -1.177856 -0.541230 0.306275 -0.783113 +0.258878 -1.430779 -1.174340 -0.708479 0.429862 -0.559712 +0.258451 -1.431602 -1.170118 -0.893153 0.449746 -0.002661 +0.258878 -1.430779 -1.174340 -0.893153 0.449746 -0.002661 +0.249637 -1.449145 -1.176748 -0.893153 0.449746 -0.002661 +-0.000017 -1.403685 -0.532843 -0.000002 -0.966061 0.258313 +0.013712 -1.402167 -0.533006 0.097451 -0.673701 0.732551 +-0.000017 -1.370935 -0.522635 -0.032841 -0.105281 0.993900 +0.018619 -1.370303 -0.523921 0.075592 -0.284155 0.955794 +-0.000017 -1.401655 -0.547689 -0.061154 -0.887961 -0.455835 +0.013895 -1.398495 -0.548833 0.157213 -0.971303 -0.178481 +-0.018653 -1.370303 -0.523921 -0.159617 -0.057901 0.985479 +-0.013745 -1.402167 -0.533006 -0.190507 -0.744010 0.640435 +-0.013929 -1.398495 -0.548833 -0.162019 -0.913315 -0.373639 +-0.019046 -1.364328 -0.580399 -0.142713 -0.647691 -0.748418 +-0.000017 -1.366282 -0.582045 -0.123537 -0.644757 -0.754338 +-0.025466 -1.305227 -0.627061 -0.201774 -0.599173 -0.774777 +-0.000017 -1.308295 -0.628125 -0.090353 -0.579347 -0.810058 +-0.023282 -1.315241 -0.541154 -0.131109 0.327981 0.935542 +-0.000017 -1.312755 -0.538588 -0.138689 0.336526 0.931405 +-0.050546 -1.365189 -0.530957 -0.319704 -0.009109 0.947474 +-0.055160 -1.320242 -0.544940 -0.270335 0.321038 0.907664 +-0.078031 -1.352136 -0.542918 -0.559650 0.052269 0.827079 +-0.079885 -1.324992 -0.553916 -0.485806 0.292212 0.823775 +-0.062022 -1.284424 -0.560729 -0.267470 0.367239 0.890840 +-0.084009 -1.293200 -0.566737 -0.461943 0.300769 0.834354 +-0.106325 -1.214490 -0.609168 -0.469728 0.263478 0.842576 +-0.072717 -1.196973 -0.602534 -0.280764 0.350688 0.893415 +-0.084098 -1.085169 -0.641995 -0.404074 0.165496 0.899631 +-0.134118 -1.124052 -0.661652 -0.470607 0.157508 0.868171 +-0.171399 -1.036528 -0.683604 -0.460562 0.026352 0.887236 +-0.093126 -0.998740 -0.644095 -0.475011 -0.083425 0.876017 +-0.042277 -1.393100 -0.536856 -0.399716 -0.816626 0.416351 +-0.072746 -1.377240 -0.548504 -0.672758 -0.532609 0.513540 +-0.043746 -0.981986 -0.606547 -0.509136 -0.305320 0.804711 +-0.106031 -0.926096 -0.629367 -0.586436 -0.356586 0.727282 +0.000000 -0.987806 -0.588966 -0.346456 -0.356176 0.867817 +-0.054281 -0.924635 -0.576374 -0.443428 -0.512629 0.735243 +0.000000 -0.931320 -0.554331 -0.355603 -0.559518 0.748656 +-0.066691 -0.876854 -0.541093 -0.342435 -0.595854 0.726427 +-0.096499 -1.343108 -0.564166 -0.780040 -0.126364 0.612838 +-0.044949 -1.066321 -0.622270 -0.401935 -0.048329 0.914392 +-0.054498 -1.294657 -0.623404 -0.155322 -0.625340 -0.764738 +-0.036736 -1.235823 -0.673595 0.031175 -0.873304 -0.486177 +-0.070108 -1.244802 -0.663809 0.255978 -0.932714 -0.254008 +-0.039668 -1.391853 -0.554379 -0.132593 -0.774687 -0.618287 +-0.088928 -1.370848 -0.574027 -0.441640 -0.806382 -0.393322 +-0.071663 -1.379708 -0.565028 -0.249851 -0.888289 -0.385380 +-0.101609 -1.353245 -0.577932 -0.867413 -0.471572 0.158789 +-0.026294 -1.280054 -0.556299 -0.146347 0.383536 0.911857 +-0.044926 -1.348548 -0.584637 -0.157698 -0.589008 -0.792591 +-0.111650 -1.327029 -0.608226 -0.321265 -0.688702 -0.649983 +-0.074089 -1.339260 -0.590221 0.111138 -0.538403 -0.835326 +-0.127044 -1.303758 -0.615782 -0.848693 -0.526879 0.046027 +-0.139436 -1.274319 -0.619443 -0.682362 -0.100214 0.724113 +-0.107905 -1.323799 -0.578042 -0.865736 -0.113026 0.487572 +-0.028693 -1.192433 -0.593276 -0.237018 0.259857 0.936107 +-0.129518 -1.292252 -0.638544 0.246747 -0.928808 -0.276461 +-0.081699 -1.289704 -0.623371 0.089856 -0.589103 -0.803046 +-0.141188 -1.289671 -0.632284 -0.284500 -0.687507 0.668128 +-0.155502 -1.236804 -0.630819 -0.499570 0.140885 0.854740 +0.000000 -1.276184 -0.555177 -0.111435 0.391591 0.913367 +-0.000017 -1.231392 -0.679250 0.076679 -0.967442 -0.241196 +0.000000 -1.188148 -0.591409 -0.100355 0.307913 0.946107 +0.000000 -1.063857 -0.611077 -0.188931 0.023938 0.981699 +-0.036826 -1.238117 -0.697304 0.252580 -0.793215 0.554089 +-0.000017 -1.233837 -0.701840 0.177759 -0.515775 0.838080 +-0.071025 -1.247380 -0.686623 0.429352 -0.649909 0.627117 +-0.103259 -1.263748 -0.674458 0.635154 -0.752880 0.172486 +-0.100422 -1.255747 -0.653954 0.329040 -0.825654 -0.458289 +-0.069705 -1.278198 -0.690989 0.250671 0.192115 0.948818 +-0.118153 -1.278789 -0.677453 0.729450 -0.125032 0.672510 +-0.161583 -1.276360 -0.634034 -0.344855 -0.269254 0.899209 +-0.143928 -1.296556 -0.636116 0.178977 -0.012768 0.983770 +-0.164444 -1.289065 -0.635710 -0.069988 0.164136 0.983952 +-0.163789 -1.303910 -0.634987 -0.447533 0.149294 0.881717 +-0.146164 -1.308268 -0.627509 0.351579 0.353231 0.866960 +-0.145479 -1.326647 -0.619138 -0.191647 0.257680 0.947033 +-0.160709 -1.327495 -0.631884 -0.642251 0.085113 0.761754 +-0.139410 -1.362009 -0.611108 -0.173098 0.140187 0.974877 +-0.139116 -1.326727 -0.623711 0.626279 0.349113 0.697061 +-0.132678 -1.361377 -0.611443 0.498879 0.310687 0.809070 +-0.122719 -1.405695 -0.604309 0.214590 0.354505 0.910097 +-0.129609 -1.405361 -0.603754 -0.377846 0.080828 0.922334 +0.000000 -0.882034 -0.516286 -0.323522 -0.578187 0.749022 +-0.138671 -1.308886 -0.637077 0.805129 0.170672 0.568013 +-0.119228 -1.324339 -0.660955 0.522903 0.398759 0.753368 +-0.068073 -1.327512 -0.667823 0.125703 0.438650 0.889823 +-0.037389 -1.272798 -0.701558 0.209312 0.128835 0.969324 +-0.134693 -1.297916 -0.641700 0.740369 -0.405580 0.536059 +-0.158370 -1.364142 -0.622466 -0.812731 -0.112071 0.571758 +-0.144608 -1.406805 -0.621260 -0.862875 -0.272558 0.425628 +-0.118995 -1.437387 -0.596255 -0.699944 -0.139714 0.700399 +-0.128478 -1.442977 -0.627141 -0.914997 -0.287826 0.282732 +-0.103442 -1.413538 -0.607254 0.387582 0.586059 0.711558 +-0.091602 -1.447681 -0.580916 -0.045693 0.346880 0.936796 +-0.000017 -1.270105 -0.707808 0.112788 0.293520 0.949276 +-0.035521 -1.329960 -0.670332 0.073285 0.474690 0.877097 +-0.000017 -1.339257 -0.666214 0.034043 0.466884 0.883663 +-0.132973 -1.443241 -0.645172 -0.969701 -0.220545 0.105073 +-0.143399 -1.414398 -0.669677 -0.950202 -0.311574 -0.006072 +-0.133724 -1.465766 -0.673240 -0.986415 -0.156154 -0.051006 +-0.125978 -1.491134 -0.642916 -0.948998 -0.244911 0.198549 +-0.114850 -1.528464 -0.668639 -0.879759 -0.462876 0.108491 +-0.120598 -1.513026 -0.684932 -0.958525 -0.284342 0.019494 +-0.101414 -1.557837 -0.680852 -0.762311 -0.494106 0.418022 +-0.107676 -1.558038 -0.689610 -0.827833 -0.485508 0.281026 +-0.077735 -1.575456 -0.670632 -0.609785 -0.530027 0.589266 +-0.082763 -1.589562 -0.687034 -0.679620 -0.720564 0.137494 +-0.048244 -1.589749 -0.652445 -0.470857 -0.568856 0.674311 +-0.042597 -1.569583 -0.636975 -0.369132 -0.622112 0.690447 +-0.070579 -1.562914 -0.651884 -0.440875 -0.751341 0.491035 +-0.085528 -1.544567 -0.622349 -0.485636 -0.671105 0.560157 +-0.057607 -1.545277 -0.610821 -0.214965 -0.717837 0.662193 +-0.068996 -1.417705 -0.624797 0.226569 0.598008 0.768800 +-0.062730 -1.462112 -0.576113 -0.056728 0.311910 0.948417 +-0.089700 -1.497634 -0.594454 -0.501505 -0.323118 0.802551 +-0.060933 -1.501117 -0.582180 -0.207365 -0.386829 0.898534 +-0.049631 -1.607373 -0.680832 -0.408683 -0.871533 0.270941 +-0.049236 -1.606319 -0.712284 -0.471617 -0.868228 -0.154134 +-0.078194 -1.582310 -0.717670 -0.677902 -0.687495 -0.260384 +-0.053302 -1.597447 -0.738356 -0.527744 -0.754999 -0.389182 +-0.022231 -1.613117 -0.731314 -0.231045 -0.896421 -0.378217 +-0.020617 -1.618934 -0.702387 -0.243201 -0.969435 -0.032392 +-0.086410 -1.560745 -0.743683 -0.722071 -0.553186 -0.415450 +-0.107128 -1.521984 -0.746441 -0.894076 -0.308559 -0.324684 +-0.108797 -1.541432 -0.725267 -0.869414 -0.423587 -0.254350 +-0.120703 -1.476615 -0.732980 -0.951795 -0.255760 -0.169332 +-0.119379 -1.495462 -0.712270 -0.963477 -0.200926 -0.177036 +-0.135328 -1.430873 -0.717779 -0.947176 -0.302854 -0.105533 +-0.132311 -1.445773 -0.698382 -0.974043 -0.211142 -0.081604 +-0.154531 -1.380270 -0.678829 -0.949577 -0.313260 -0.013137 +-0.000017 -1.419349 -0.627442 0.106198 0.594731 0.796880 +-0.034491 -1.418122 -0.626023 0.067138 0.564120 0.822959 +-0.018495 -1.572862 -0.630150 -0.267418 -0.510440 0.817275 +-0.019229 -1.594895 -0.641123 -0.278157 -0.641106 0.715270 +-0.091737 -1.556855 -0.667292 -0.629615 -0.686797 0.363173 +-0.115473 -1.495687 -0.619527 -0.778841 -0.363015 0.511494 +-0.032758 -1.470149 -0.575474 0.073613 0.302042 0.950448 +-0.024074 -1.503406 -0.579481 0.014771 -0.309214 0.950878 +-0.107077 -1.541398 -0.649263 -0.793207 -0.559108 0.241292 +-0.017253 -1.546269 -0.609926 -0.094801 -0.597710 0.796088 +-0.062210 -1.548939 -0.790061 -0.612687 -0.604155 -0.509520 +-0.032348 -1.573539 -0.787490 -0.308010 -0.778247 -0.547231 +-0.111758 -1.457935 -0.786106 -0.908480 -0.285658 -0.305062 +-0.091205 -1.508123 -0.790433 -0.786773 -0.426099 -0.446574 +-0.131543 -1.409096 -0.777987 -0.926024 -0.317585 -0.204006 +-0.156683 -1.356212 -0.761539 -0.908179 -0.372112 -0.191685 +-0.021106 -1.614909 -0.670898 -0.260959 -0.877575 0.402198 +-0.000017 -1.596067 -0.638937 -0.172956 -0.707462 0.685262 +-0.000017 -1.574039 -0.625376 -0.097000 -0.508685 0.855471 +-0.000017 -1.547150 -0.608158 -0.023033 -0.564196 0.825320 +-0.000017 -1.507004 -0.582671 0.008703 -0.415148 0.909712 +-0.000017 -1.476035 -0.579618 0.155065 0.158287 0.975141 +-0.000017 -1.583737 -0.779092 -0.090095 -0.829132 -0.551745 +-0.000017 -1.616928 -0.728156 -0.112830 -0.944493 -0.308550 +-0.000017 -1.618749 -0.666344 -0.223222 -0.930500 0.290415 +-0.000017 -1.622242 -0.698873 -0.152394 -0.987650 -0.036376 +0.018462 -1.572862 -0.630150 0.178652 -0.562234 0.807451 +0.017220 -1.546269 -0.609926 0.111962 -0.598212 0.793478 +-0.000017 -1.312755 -0.538588 0.143088 0.408791 0.901341 +0.023249 -1.315241 -0.541154 0.119668 0.397824 0.909624 +0.000000 -1.276184 -0.555177 0.111512 0.391548 0.913376 +0.026260 -1.280054 -0.556299 0.093739 0.381057 0.919787 +0.000000 -1.188148 -0.591409 0.083042 0.306054 0.948385 +0.028430 -1.191998 -0.592604 0.133403 0.243692 0.960634 +0.000000 -1.063857 -0.611077 0.179299 0.025575 0.983462 +0.044879 -1.066202 -0.622145 0.283750 -0.087011 0.954942 +0.000000 -0.987806 -0.588966 0.334088 -0.353327 0.873811 +0.045699 -0.984531 -0.606911 0.365856 -0.323411 0.872671 +0.054010 -0.924554 -0.576161 0.365890 -0.474506 0.800605 +0.000000 -0.931320 -0.554331 0.379394 -0.483640 0.788766 +-0.000017 -1.458554 -1.064723 0.079705 -0.873026 -0.481116 +-0.000017 -1.402693 -1.142934 -0.022658 -0.769241 -0.638557 +0.068422 -1.451326 -1.066913 0.028741 -0.863516 -0.503502 +0.082822 -1.405828 -1.147955 -0.048644 -0.675449 -0.735800 +-0.000017 -1.486275 -1.007160 0.089176 -0.921451 -0.378122 +0.052737 -1.482106 -1.004878 0.090678 -0.925200 -0.368487 +-0.000017 -1.351366 -1.180527 -0.029415 -0.524705 -0.850776 +0.085390 -1.351693 -1.181174 -0.027622 -0.499785 -0.865709 +-0.000017 -1.287914 -1.213232 -0.045499 -0.306387 -0.950819 +0.085375 -1.291375 -1.217723 -0.062705 -0.320776 -0.945077 +-0.000017 -1.493460 -0.986184 0.087438 -0.975216 -0.203245 +0.047971 -1.490109 -0.980232 0.079763 -0.992514 -0.092487 +-0.000017 -1.493131 -0.951213 0.067606 -0.989312 -0.129191 +0.045040 -1.490148 -0.950779 0.070867 -0.962756 -0.260919 +-0.000017 -1.171195 -1.226909 0.002248 -0.047023 -0.998891 +0.082590 -1.177560 -1.230108 -0.046793 -0.063928 -0.996857 +-0.000017 -1.507587 -0.917663 0.071388 -0.919318 -0.386987 +0.043526 -1.502736 -0.920470 0.078289 -0.922062 -0.379042 +0.000000 -1.086145 -1.231919 0.135480 -0.291094 -0.947053 +0.063677 -1.084658 -1.226234 0.049283 -0.129646 -0.990335 +0.000000 -1.014367 -1.268361 0.218178 -0.441795 -0.870181 +0.063836 -1.006456 -1.256372 0.155265 -0.401364 -0.902663 +0.261829 -0.969024 -0.862849 0.971189 -0.230942 0.058792 +0.255171 -0.984125 -0.812184 0.980803 -0.168422 0.098283 +0.241338 -1.101547 -0.904321 0.994154 -0.107229 -0.012602 +0.244821 -1.124264 -0.861905 0.995812 -0.078310 -0.047186 +0.255500 -0.909942 -0.759849 0.847182 -0.457756 0.269708 +0.275470 -0.919913 -0.839500 0.894568 -0.402967 0.193303 +0.250596 -1.151253 -0.812148 0.974733 -0.210827 -0.073812 +0.240419 -1.032634 -0.777716 0.996870 -0.021906 0.075965 +0.203642 -1.233119 -0.795930 0.916260 -0.388827 0.096340 +0.216387 -1.224037 -0.880489 0.944553 -0.327916 0.017064 +0.327169 -0.847824 -0.782242 0.677570 -0.689399 0.256181 +0.191269 -1.311910 -0.896540 0.950463 -0.291432 0.108107 +0.190128 -1.294682 -0.840066 0.950575 -0.290292 0.110171 +0.250557 -0.893329 -1.103714 0.905844 -0.339468 -0.253394 +0.241437 -0.975757 -1.025889 0.926929 -0.072401 -0.368184 +0.194389 -1.019275 -1.135778 0.926929 -0.072401 -0.368184 +0.233524 -1.041313 -1.070262 0.869276 0.200816 -0.451699 +0.178512 -1.354269 -0.860294 0.901656 -0.285913 0.324454 +0.190128 -1.294682 -0.840066 0.911730 -0.367236 0.184084 +0.131509 -1.409096 -0.777987 0.911730 -0.367236 0.184084 +0.156650 -1.356212 -0.761539 0.897717 -0.438857 0.038851 +0.181027 -1.327258 -0.684930 0.928179 -0.354912 -0.111894 +0.203642 -1.233119 -0.795930 0.899593 -0.425457 -0.098586 +0.198106 -1.282808 -0.684246 0.923990 -0.364309 -0.116283 +0.217239 -1.235284 -0.685585 0.960557 -0.233754 0.150627 +0.250596 -1.151253 -0.812148 0.970584 -0.237350 0.040398 +0.244259 -1.167176 -0.753451 0.976461 -0.188046 0.105655 +0.232586 -1.119921 -0.714247 0.871959 0.123217 0.473819 +0.201473 -1.208949 -0.656278 0.611909 0.147642 0.777025 +0.134085 -1.124052 -0.661652 0.149462 0.180178 0.972212 +0.171366 -1.036528 -0.683604 0.634792 0.147134 0.758545 +0.198022 -0.974045 -0.698088 0.810359 -0.218358 0.543725 +0.240419 -1.032634 -0.777716 0.920786 -0.013236 0.389843 +0.255171 -0.984125 -0.812184 0.967450 -0.148732 0.204740 +0.255500 -0.909942 -0.759849 0.797797 -0.411239 0.440911 +0.218263 -0.890110 -0.686509 0.614622 -0.586434 0.527576 +0.271029 -0.828348 -0.649493 0.542405 -0.699851 0.464763 +0.327169 -0.847824 -0.782242 0.652450 -0.659835 0.372730 +0.294151 -0.787640 -0.616429 0.526664 -0.709009 0.468968 +0.368785 -0.778217 -0.725018 0.631114 -0.680735 0.371879 +0.130931 -0.873717 -0.601270 0.422409 -0.722174 0.547755 +0.188531 -0.803520 -0.548481 0.442630 -0.719850 0.534691 +0.229238 -0.751868 -0.513438 0.419644 -0.735267 0.532241 +0.352869 -0.722752 -0.593997 0.600464 -0.685633 0.411523 +0.294651 -0.747369 -0.556844 0.463739 -0.725792 0.508107 +0.233252 -0.732483 -0.490942 0.414991 -0.724540 0.550295 +0.070074 -1.244802 -0.663809 0.053225 -0.638746 -0.767574 +0.054464 -1.294657 -0.623404 0.223195 -0.602575 -0.766216 +0.036703 -1.235823 -0.673595 0.130588 -0.583820 -0.801312 +0.025433 -1.305227 -0.627061 0.201777 -0.599173 -0.774776 +0.019013 -1.364328 -0.580399 0.142714 -0.647691 -0.748418 +0.044892 -1.348548 -0.584637 0.262046 -0.595092 -0.759735 +-0.000017 -1.231392 -0.679250 0.061328 -0.552581 -0.831200 +-0.000017 -1.308295 -0.628125 0.090350 -0.579347 -0.810058 +-0.000017 -1.366282 -0.582045 0.123532 -0.644758 -0.754339 +-0.000017 -1.401655 -0.547689 0.114050 -0.687016 -0.717636 +0.013895 -1.398495 -0.548833 0.056612 -0.682070 -0.729093 +0.039635 -1.391853 -0.554379 0.120943 -0.632566 -0.765006 +0.190128 -1.294682 -0.840066 0.936754 -0.314995 0.152546 +0.203642 -1.233119 -0.795930 0.934664 -0.355502 0.004707 +0.156650 -1.356212 -0.761539 0.934664 -0.355502 0.004707 +0.181027 -1.327258 -0.684930 0.910607 -0.387654 -0.143243 +0.091171 -1.508123 -0.790433 0.874673 -0.484092 -0.024548 +0.119215 -1.452959 -0.879041 0.828218 -0.556458 -0.066399 +0.111725 -1.457935 -0.786106 0.884629 -0.456020 0.097345 +0.154512 -1.402559 -0.867532 0.864915 -0.481222 0.142643 +0.131509 -1.409096 -0.777987 0.882291 -0.428236 0.195387 +0.178512 -1.354269 -0.860294 0.867695 -0.459623 0.189347 +0.082036 -1.492716 -0.881297 0.714616 -0.654227 -0.247611 +0.062177 -1.548939 -0.790061 0.766043 -0.618266 -0.175855 +0.062177 -1.548939 -0.790061 0.582972 -0.742236 -0.330500 +0.032314 -1.573539 -0.787490 0.491570 -0.802664 -0.337771 +0.082036 -1.492716 -0.881297 0.651097 -0.717495 -0.247533 +0.044385 -1.529981 -0.878195 0.330144 -0.836286 -0.437756 +0.043526 -1.502736 -0.920470 0.309241 -0.833947 -0.457059 +0.095598 -1.475422 -0.916070 0.642586 -0.755896 -0.125319 +-0.000017 -1.537104 -0.870659 0.056206 -0.858897 -0.509055 +-0.000017 -1.583737 -0.779092 0.121620 -0.894309 -0.430605 +-0.000017 -1.507587 -0.917663 0.059956 -0.845343 -0.530848 +0.130130 -1.431816 -0.909236 0.756876 -0.645283 -0.103675 +0.119215 -1.452959 -0.879041 0.720858 -0.662575 -0.203367 +0.232935 -1.184636 -1.172981 0.863226 0.104196 -0.493948 +0.262478 -1.180367 -1.120451 0.912544 0.070354 -0.402881 +0.228412 -1.270773 -1.165832 0.925217 -0.181320 -0.333312 +0.248806 -1.231756 -1.114913 0.947205 -0.270546 -0.172066 +0.212058 -1.089059 -1.151285 0.839213 0.313317 -0.444469 +0.243257 -1.109294 -1.101869 0.852521 0.335375 -0.400913 +0.019196 -1.594895 -0.641123 0.393888 -0.399213 0.827938 +0.048210 -1.589749 -0.652445 0.346680 -0.464872 0.814682 +0.018462 -1.572862 -0.630150 0.329917 -0.500776 0.800236 +0.042564 -1.569583 -0.636975 0.211180 -0.621257 0.754614 +0.017220 -1.546269 -0.609926 0.091910 -0.597608 0.796503 +0.057574 -1.545277 -0.610821 0.032811 -0.648945 0.760128 +0.060899 -1.501117 -0.582180 0.069607 -0.366628 0.927760 +0.024041 -1.503406 -0.579481 -0.014768 -0.309214 0.950878 +-0.000017 -1.507004 -0.582671 -0.008703 -0.415148 0.909712 +-0.000017 -1.547150 -0.608158 0.113254 -0.532522 0.838805 +-0.000017 -1.476035 -0.579618 -0.155060 0.158287 0.975142 +0.032725 -1.470149 -0.575474 -0.073611 0.302041 0.950449 +0.062696 -1.462112 -0.576113 -0.052045 0.474222 0.878866 +0.034457 -1.418122 -0.626023 -0.067139 0.564120 0.822959 +0.068962 -1.417705 -0.624797 -0.035698 0.596507 0.801814 +-0.000017 -1.419349 -0.627442 -0.106195 0.594731 0.796880 +0.035488 -1.329960 -0.670332 -0.058123 0.448845 0.891718 +-0.000017 -1.339257 -0.666214 -0.033247 0.442230 0.896285 +0.068040 -1.327512 -0.667823 -0.069733 0.439068 0.895744 +0.247080 -1.089240 -0.947536 0.982932 -0.155588 0.098164 +0.261441 -0.950653 -0.936834 0.986501 -0.163747 -0.001462 +0.241338 -1.101547 -0.904321 0.988692 -0.149787 -0.007156 +0.261829 -0.969024 -0.862849 0.980441 -0.189750 -0.052258 +0.275470 -0.919913 -0.839500 0.968994 -0.238567 -0.064319 +0.224168 -1.213435 -0.939482 0.965402 -0.238144 0.106236 +0.220566 -1.216669 -0.913999 0.960564 -0.266812 0.078283 +0.216387 -1.224037 -0.880489 0.954627 -0.297589 -0.011327 +0.244821 -1.124264 -0.861905 0.972957 -0.224317 -0.055113 +0.190478 -1.297658 -0.930004 0.885447 -0.293468 0.360361 +0.204202 -1.276883 -0.942053 0.880893 -0.257214 0.397327 +0.198484 -1.333706 -0.937192 0.549279 -0.175471 0.817008 +0.208750 -1.327152 -0.949713 0.916620 -0.270542 0.294304 +0.191269 -1.311910 -0.896540 0.830252 -0.500275 -0.245778 +0.190128 -1.294682 -0.840066 0.971939 -0.218796 0.086383 +0.178512 -1.354269 -0.860294 0.936711 -0.350039 0.006659 +0.179262 -1.351104 -0.883960 0.870083 -0.332445 -0.363918 +0.154512 -1.402559 -0.867532 0.852436 -0.518052 -0.070526 +0.161729 -1.386568 -0.896266 0.871447 -0.311587 -0.378805 +0.145069 -1.397383 -0.918884 0.975045 -0.204700 -0.085936 +0.156931 -1.380106 -0.899919 0.616919 0.120555 -0.777739 +0.144229 -1.389823 -0.917095 0.912502 0.150549 0.380361 +0.174074 -1.349980 -0.894637 0.630083 -0.182015 -0.754894 +0.175696 -1.319335 -0.902466 0.616281 -0.555601 -0.558127 +0.175093 -1.314950 -0.923527 0.609423 -0.658316 0.441840 +0.182783 -1.335078 -0.932330 0.315560 -0.182195 0.931250 +0.183244 -1.375734 -0.941167 0.728543 -0.485095 0.483640 +0.169463 -1.373555 -0.931681 0.427045 -0.083163 0.900398 +0.125424 -1.349364 -0.914963 0.949422 -0.313338 0.020439 +0.187896 -1.370655 -0.952735 0.829040 -0.557342 -0.045425 +0.184488 -1.353751 -1.012516 0.913977 -0.404281 -0.034678 +0.200128 -1.310606 -1.001052 0.916991 -0.396056 0.047620 +0.205313 -1.318320 -1.042482 0.883094 -0.438534 0.166834 +0.203321 -1.329595 -1.068720 0.620192 -0.783307 0.042324 +0.163428 -1.392704 -1.039889 0.797970 -0.602309 -0.021611 +0.215237 -1.295989 -1.027565 0.839186 -0.506033 0.199245 +0.210022 -1.325508 -1.096257 0.366051 -0.929312 -0.048850 +0.185016 -1.368596 -1.120970 0.754149 -0.656150 -0.026947 +0.162490 -1.393819 -0.950832 0.727543 -0.685505 0.027635 +0.147895 -1.405185 -0.938309 0.764402 -0.609578 0.210010 +0.130130 -1.431816 -0.909236 0.817884 -0.562628 -0.120479 +0.138628 -1.415715 -0.925182 0.872071 -0.487121 -0.046966 +0.119215 -1.452959 -0.879041 0.825370 -0.557091 -0.091726 +0.144216 -1.389224 -1.142150 0.323626 -0.721749 -0.611837 +0.122807 -1.432474 -1.061670 0.502365 -0.827056 -0.252203 +0.111983 -1.455975 -0.988007 0.607251 -0.779265 -0.154894 +0.115076 -1.457540 -0.963420 0.645628 -0.763335 -0.021992 +0.108948 -1.462815 -0.939119 0.648169 -0.761278 0.018221 +0.095598 -1.475422 -0.916070 0.647435 -0.747161 -0.150261 +0.082822 -1.405828 -1.147955 0.285196 -0.773232 -0.566370 +0.085390 -1.351693 -1.181174 0.203423 -0.534268 -0.820474 +0.148298 -1.343492 -1.172147 0.188463 -0.550347 -0.813387 +0.226916 -1.332009 -1.085243 -0.160133 -0.983429 -0.084994 +0.232787 -1.331807 -1.063047 -0.080643 -0.996279 0.030397 +0.068422 -1.451326 -1.066913 0.377519 -0.868762 -0.320520 +0.047971 -1.490109 -0.980232 0.437361 -0.895919 -0.077744 +0.052737 -1.482106 -1.004878 0.451365 -0.869342 -0.201281 +0.043526 -1.502736 -0.920470 0.461100 -0.827405 -0.320607 +0.045040 -1.490148 -0.950779 0.427742 -0.886638 -0.175810 +0.000000 0.690640 -0.766550 0.083511 0.531548 0.842901 +0.000000 0.583122 -0.715693 -0.130451 0.390084 0.911492 +0.008274 0.689589 -0.762612 0.125130 0.391939 0.911442 +0.009831 0.582357 -0.722762 0.573132 0.292757 0.765384 +0.000000 0.792848 -0.871132 0.429239 0.637745 0.639558 +-0.008275 0.689589 -0.762612 0.350114 0.531118 0.771578 +-0.020074 0.802988 -0.859710 0.575518 0.565618 0.590640 +-0.009831 0.582357 -0.722762 -0.078415 0.345235 0.935235 +0.000000 0.473072 -0.669559 -0.360995 0.408163 0.838502 +-0.042466 0.462186 -0.676207 -0.203483 0.426921 0.881098 +0.000000 0.362368 -0.606042 -0.224976 0.494455 0.839583 +-0.025789 0.687817 -0.748559 0.579702 0.419644 0.698458 +-0.059104 0.807325 -0.828836 0.546257 0.570138 0.613633 +-0.022530 0.582900 -0.720376 0.372846 0.219888 0.901463 +-0.073671 0.464847 -0.696580 0.054131 0.154441 0.986518 +-0.087118 0.775469 -0.767209 0.721483 0.558864 0.408820 +-0.037486 0.686148 -0.731377 0.793309 0.319706 0.518121 +-0.030152 0.581907 -0.713972 0.574630 -0.041534 0.817359 +-0.091850 0.479491 -0.699313 0.195414 0.022613 0.980460 +-0.110497 0.357001 -0.628471 -0.195038 0.507138 0.839507 +-0.047675 0.582939 -0.689279 0.845393 -0.123815 0.519596 +-0.103255 0.494590 -0.692424 0.681233 -0.400258 0.612957 +-0.116679 0.512235 -0.650594 0.759798 -0.474825 0.444127 +-0.070740 0.591315 -0.644639 0.873777 -0.227008 0.430095 +-0.051595 0.678974 -0.703427 0.887107 0.247807 0.389400 +-0.068726 0.667268 -0.647439 0.930431 0.175935 0.321474 +-0.088868 0.769612 -0.732977 0.826241 0.480255 0.294415 +-0.098672 0.741881 -0.649914 0.868274 0.398897 0.294926 +0.298690 -0.872468 -0.981866 0.861232 -0.493985 -0.119409 +0.250557 -0.893329 -1.103714 0.803384 -0.527433 -0.276386 +0.378254 -0.754824 -1.055511 0.821280 -0.444724 -0.357379 +0.315181 -0.764996 -1.175598 0.815775 -0.424816 -0.392483 +0.417389 -0.603646 -1.074460 0.895260 -0.038631 -0.443866 +0.352477 -0.606807 -1.199774 0.878490 -0.167214 -0.447543 +0.412246 -0.462044 -1.047188 0.879460 0.144002 -0.453667 +0.335016 -0.477144 -1.219440 0.893182 0.127510 -0.431238 +0.261441 -0.950653 -0.936834 0.965166 -0.254281 -0.061605 +0.241437 -0.975757 -1.025889 0.972289 -0.143433 -0.184610 +0.250818 -1.070818 -0.986752 0.998471 -0.041018 -0.037047 +0.247080 -1.089240 -0.947536 0.983391 -0.088145 0.158657 +0.233524 -1.041313 -1.070262 0.964188 0.178859 -0.195833 +0.249739 -1.082750 -1.018378 0.993758 -0.082950 -0.074588 +0.246504 -1.119261 -0.985145 0.827348 0.256706 0.499597 +0.249192 -1.146517 -0.975926 0.660126 0.067135 0.748149 +0.243257 -1.109294 -1.101869 0.940610 0.270076 -0.205699 +0.252678 -1.118911 -1.071416 0.993537 0.092280 0.066093 +0.238374 -1.125403 -1.004741 -0.348228 0.935244 -0.063683 +0.262478 -1.180367 -1.120451 0.998435 0.022897 0.051017 +0.253958 -1.187852 -1.077022 0.966160 -0.148754 0.210732 +0.244883 -1.193270 -1.045580 0.968097 -0.117796 0.221161 +0.248604 -1.153758 -1.051702 0.950081 0.052432 0.307567 +0.234110 -1.139745 -1.016009 0.915809 0.316766 0.246888 +0.234936 -1.155538 -1.017211 -0.975665 0.027170 -0.217578 +0.236887 -1.166535 -1.012875 0.665138 -0.731748 -0.148784 +0.327169 -0.847824 -0.782242 0.829935 -0.555632 -0.049807 +0.275470 -0.919913 -0.839500 0.869590 -0.493259 -0.022553 +0.397077 -0.294104 -1.040035 0.871306 0.011498 -0.490605 +0.317998 -0.316945 -1.171010 0.869610 0.082195 -0.486849 +0.390117 -0.124181 -1.050900 0.898058 -0.023549 -0.439246 +0.333440 -0.148889 -1.169196 0.889200 -0.028833 -0.456610 +0.392132 0.008478 -1.063792 0.882835 0.053351 -0.466643 +0.334864 -0.008152 -1.173440 0.891277 0.008764 -0.453375 +0.372005 0.173291 -1.062321 0.861340 0.188144 -0.471905 +0.316565 0.155536 -1.170591 0.872610 0.174303 -0.456256 +0.328173 0.316278 -1.060432 0.938331 0.145317 -0.313717 +0.284178 0.314571 -1.157604 0.888441 0.214083 -0.406006 +0.231478 -1.201274 -0.999141 0.967196 -0.248450 0.052955 +0.239514 -1.236328 -1.048406 0.959851 -0.051524 0.275738 +0.224168 -1.213435 -0.939482 0.944972 -0.298879 0.133038 +0.216812 -1.256261 -1.004349 0.920939 -0.258035 0.292044 +0.229302 -1.271132 -1.029667 0.734770 -0.018327 0.678069 +0.215237 -1.295989 -1.027565 0.533326 -0.376692 0.757408 +0.200128 -1.310606 -1.001052 0.981875 -0.148916 0.117238 +0.269315 -1.094963 -1.000722 -0.117342 0.805782 0.580471 +0.267256 -1.108005 -0.996575 0.651377 -0.072590 0.755274 +0.256752 -1.119221 -0.988089 0.575285 0.193383 0.794764 +0.249978 -1.105225 -1.022424 -0.751452 0.624332 -0.213376 +0.245774 -1.173403 -0.979229 0.676432 -0.566488 0.470670 +0.264580 -1.166326 -0.984473 0.581478 0.162648 0.797138 +0.258494 -1.145483 -0.981235 0.854153 0.184090 0.486347 +0.239167 -1.174720 -0.997346 0.142423 -0.945968 -0.291307 +0.265864 -1.184636 -1.016200 -0.313535 -0.947793 -0.058180 +0.285269 -1.182847 -0.993891 0.391598 -0.472427 0.789598 +0.248854 -1.170372 -1.033533 -0.614132 -0.658712 -0.434673 +0.241315 -1.130242 -1.036225 -0.885553 0.201567 -0.418529 +0.241855 -1.154453 -1.038826 -0.822110 -0.195842 -0.534585 +0.262764 -1.123355 -0.998650 0.887225 -0.151539 0.435738 +0.285763 -1.111916 -1.028553 0.764528 -0.362403 0.533068 +0.288573 -1.098594 -1.015810 0.685830 -0.196995 0.700593 +0.258619 -1.146066 -0.997343 0.890722 0.173522 0.420125 +0.269591 -1.163410 -0.996000 0.764519 0.539919 0.352133 +0.275650 -1.171798 -0.990842 0.571684 0.610951 0.547646 +0.292806 -1.167308 -1.027903 0.557452 0.697656 0.450025 +0.305709 -1.176263 -1.011915 0.526764 0.554880 0.643916 +0.312003 -1.163003 -1.057184 0.369826 0.619867 0.692094 +0.329523 -1.172598 -1.035929 0.354239 0.719317 0.597577 +0.338580 -1.146774 -1.069065 0.072299 0.422737 0.903364 +0.357730 -1.155275 -1.061677 0.283889 0.500282 0.818001 +0.348439 -1.131245 -1.076251 0.170741 0.088665 0.981318 +0.363280 -1.128177 -1.076717 0.196331 0.115188 0.973748 +0.248806 -1.231756 -1.114913 0.965488 -0.171123 0.196340 +0.241433 -1.230007 -1.081590 0.989962 -0.051495 0.131619 +0.239249 -1.257875 -1.047984 0.835927 0.338767 0.431813 +0.245950 -1.253788 -1.075520 0.898114 0.436682 0.051963 +0.246845 -1.260431 -1.101758 0.904770 0.380324 -0.191690 +0.332474 0.404321 -1.013368 0.993343 -0.091324 -0.070207 +0.360061 0.306779 -0.937631 0.914547 0.403588 0.026854 +0.303637 0.359237 -0.823789 0.952544 0.269371 0.141769 +0.337829 0.315369 -0.803507 0.766073 0.636948 0.086189 +0.346506 0.444275 -0.970240 0.932693 -0.359786 -0.025269 +0.316694 0.395121 -0.826608 0.949017 -0.302780 0.087693 +0.341636 0.537693 -1.091500 0.956131 -0.136411 -0.259242 +0.343043 0.675234 -1.105304 0.970776 0.109985 -0.213303 +0.316567 0.674269 -1.177092 0.937843 -0.043632 -0.344306 +0.314782 0.525202 -1.163291 0.962549 -0.092400 -0.254876 +0.204202 -1.276883 -0.942053 0.986262 -0.163929 0.020375 +0.208750 -1.327152 -0.949713 0.985454 0.109022 -0.130363 +0.205313 -1.318320 -1.042482 -0.010924 -0.795052 0.606443 +0.242641 -1.323309 -1.050722 0.101886 -0.611524 0.784639 +0.254410 -1.304698 -1.046883 0.440101 -0.146872 0.885856 +0.266277 -1.288375 -1.056593 0.681786 0.347347 0.643830 +0.269983 -1.278411 -1.076312 0.711865 0.683517 0.161411 +0.267838 -1.280775 -1.098341 0.565714 0.720670 -0.400752 +0.257984 -1.289274 -1.110665 0.274181 0.555918 -0.784717 +0.305364 -1.183834 -1.009540 0.459578 -0.736047 0.497014 +0.279820 -1.188245 -1.025279 -0.166661 -0.976836 -0.134223 +0.307100 -1.138480 -1.061830 0.506826 0.093010 0.857016 +0.285691 -1.140543 -1.030960 0.799903 0.113121 0.589372 +0.261805 -1.101313 -1.030666 -0.495932 0.794792 -0.349795 +0.279409 -1.091644 -1.009008 0.084789 0.934848 0.344776 +0.259265 -1.170908 -1.043556 -0.534575 -0.671104 -0.513662 +0.250970 -1.153046 -1.047842 -0.682829 -0.212688 -0.698934 +0.248197 -1.128193 -1.043317 -0.708654 0.312636 -0.632510 +0.372903 -1.126281 -1.083700 0.914892 0.346913 0.206458 +0.361278 -1.160513 -1.063353 0.921601 -0.357889 0.150226 +0.305015 -1.109486 -1.057336 0.569036 -0.419974 0.706979 +0.351163 -1.098161 -1.069294 0.736071 0.523862 0.428682 +0.348203 -1.105637 -1.066348 0.415283 -0.289559 0.862378 +0.332497 -1.106033 -1.077487 -0.102710 0.624481 -0.774257 +0.355910 -1.129597 -1.088021 0.088969 -0.151206 -0.984490 +0.302519 -1.120087 -1.073390 -0.342571 0.330690 -0.879369 +0.311070 -1.142928 -1.084190 -0.251800 -0.114754 -0.960952 +0.311638 -1.094821 -1.038957 0.596041 -0.455771 0.661066 +0.310419 -1.086322 -1.035124 0.468103 0.798186 0.379181 +0.336180 -1.117070 -1.070676 0.217165 -0.290676 0.931851 +0.331961 -1.180666 -1.031806 0.725049 -0.488773 0.485185 +0.343269 -1.163795 -1.072610 0.214611 -0.753495 -0.621440 +0.304348 -1.184538 -1.045493 0.030342 -0.934656 -0.354257 +0.310055 -1.161948 -1.072657 -0.128742 -0.566808 -0.813728 +0.269765 -1.171450 -1.053666 -0.360501 -0.692727 -0.624634 +0.263232 -1.151909 -1.060025 -0.524795 -0.206638 -0.825767 +0.259996 -1.124678 -1.055475 -0.600324 0.334949 -0.726237 +0.287581 -1.097294 -1.050728 -0.349338 0.781348 -0.517164 +0.388560 0.573610 -0.906970 0.999205 0.038918 -0.008631 +0.380000 0.479387 -0.850625 0.948167 -0.314655 -0.044401 +0.311188 0.429845 -0.743750 0.855672 -0.507549 0.101094 +0.343117 0.533016 -0.669788 0.981688 0.011891 0.190122 +0.346101 0.613384 -0.684474 0.958784 0.226629 0.171383 +0.315812 0.762780 -1.086902 0.869631 0.488062 -0.074413 +0.362855 0.685884 -0.934781 0.941817 0.336066 0.006341 +0.251929 0.841469 -1.034970 0.632483 0.774405 0.016214 +0.310224 0.786234 -0.897804 0.764913 0.643963 -0.014852 +0.257483 0.826472 -0.861991 0.502394 0.856290 0.119866 +0.310846 0.688865 -0.685292 0.890389 0.417832 0.180620 +0.232787 -1.331807 -1.063047 -0.208906 -0.891673 0.401594 +0.268365 -1.346147 -1.071792 -0.171803 -0.838318 0.517404 +0.286550 -1.340647 -1.068406 0.292461 -0.522466 0.800934 +0.303166 -1.329213 -1.075417 0.692345 -0.058235 0.719212 +0.308512 -1.316096 -1.089215 0.854075 0.413328 0.315779 +0.301198 -1.305795 -1.104480 0.688544 0.693634 -0.211611 +0.285145 -1.302507 -1.116210 0.282760 0.672985 -0.683475 +0.268578 -1.308589 -1.120256 -0.046225 0.501322 -0.864025 +0.203321 -1.329595 -1.068720 -0.144933 -0.905023 0.399910 +0.254542 -1.344734 -1.085416 -0.503013 -0.864086 0.018250 +0.274666 -1.359736 -1.099968 -0.524116 -0.820674 0.227590 +0.288390 -1.360377 -1.091232 -0.052882 -0.820122 0.569740 +0.303621 -1.354242 -1.090079 0.500846 -0.564815 0.655849 +0.314608 -1.343556 -1.097327 0.902759 -0.145731 0.404708 +0.316874 -1.332587 -1.110568 0.959480 0.277766 -0.047366 +0.309308 -1.325785 -1.124591 0.662541 0.549540 -0.508966 +0.294958 -1.325751 -1.133573 0.176502 0.567114 -0.804505 +0.279678 -1.332219 -1.133962 -0.162407 0.436880 -0.884737 +0.191441 0.840666 -0.814931 0.369792 0.895137 0.248964 +0.172004 0.879637 -0.926179 0.435123 0.886904 0.155143 +0.267416 -1.352851 -1.113071 -0.711624 -0.701098 -0.045296 +0.279987 -1.368770 -1.123823 -0.726580 -0.638507 0.253754 +0.289240 -1.375075 -1.116338 -0.527158 -0.686185 0.501253 +0.302076 -1.379138 -1.116024 0.038248 -0.729401 0.683017 +0.313594 -1.379406 -1.122999 0.628951 -0.574125 0.524214 +0.319393 -1.375778 -1.134600 0.960594 -0.264435 0.085635 +0.317259 -1.369638 -1.146396 0.935311 0.080790 -0.344480 +0.308007 -1.363333 -1.153881 0.467976 0.504713 -0.725440 +0.295170 -1.359270 -1.154195 0.183759 0.515924 -0.836693 +0.226916 -1.332009 -1.085243 -0.439995 -0.865074 -0.240937 +0.249879 -1.335757 -1.102068 -0.544320 -0.771618 -0.329121 +0.282051 -1.390649 -1.140099 -0.757970 -0.416288 0.502181 +0.287698 -1.399218 -1.137627 -0.443013 -0.572202 0.690162 +0.294956 -1.406136 -1.140856 0.183325 -0.696257 0.693988 +0.301081 -1.408959 -1.148293 0.714398 -0.609838 0.343123 +0.303994 -1.406916 -1.157166 0.923949 -0.343429 -0.168447 +0.302777 -1.400832 -1.164291 0.910826 -0.223920 -0.346780 +0.230621 -1.322045 -1.104962 -0.465113 -0.751862 -0.467305 +0.144773 -0.369613 -0.521976 0.521828 0.061276 0.850847 +0.229770 -0.368127 -0.574212 0.445918 -0.004395 0.895063 +0.163313 -0.268688 -0.540615 0.445918 -0.004395 0.895063 +0.305341 -0.258291 -0.595608 0.364643 -0.070014 0.928511 +0.263580 0.140392 -1.261915 0.463632 0.082094 -0.882216 +0.276410 -0.024242 -1.265942 0.523653 0.085940 -0.847586 +0.121794 0.126862 -1.337687 0.465797 0.117416 -0.877067 +0.126253 -0.069033 -1.371295 0.582573 0.146614 -0.799445 +0.108528 0.360089 -1.304915 0.395611 0.149826 -0.906115 +0.229655 0.334608 -1.256244 0.428548 0.128128 -0.894388 +0.268996 -0.166749 -1.278754 0.632808 0.104040 -0.767287 +0.121475 -0.199653 -1.417969 0.686186 0.123558 -0.716856 +0.236095 -0.336440 -1.315803 0.706301 0.065363 -0.704887 +0.108530 -0.355331 -1.455653 0.727833 0.103571 -0.677888 +0.236095 -0.336440 -1.315803 0.708978 0.205884 -0.674509 +0.219620 -0.509012 -1.385795 0.678572 0.165171 -0.715723 +0.108530 -0.355331 -1.455653 0.678572 0.165171 -0.715723 +0.114572 -0.524305 -1.478219 0.645261 0.123750 -0.753873 +0.093267 0.537123 -1.340819 -0.138003 0.068851 -0.988036 +0.000000 0.531584 -1.328178 0.063134 -0.071490 -0.995441 +0.078983 0.672760 -1.329372 0.157706 0.033446 -0.986920 +0.038019 0.674176 -1.342369 0.230372 0.013309 -0.973012 +0.000000 0.675576 -1.343699 0.028893 -0.009968 -0.999533 +0.000000 0.725216 -1.341540 0.004020 0.071121 -0.997460 +0.028482 0.725216 -1.340985 0.136871 0.082440 -0.987153 +0.060854 0.725216 -1.324017 0.383738 0.155604 -0.910238 +-0.028482 0.725216 -1.340985 -0.019302 0.135692 -0.990563 +-0.027126 0.812922 -1.328997 -0.314978 0.062121 -0.947064 +0.000000 0.812923 -1.340139 0.000000 0.026585 -0.999647 +-0.025062 0.911391 -1.323454 -0.455667 0.031140 -0.889605 +0.000000 0.911391 -1.336474 0.000000 0.042160 -0.999111 +0.027126 0.812922 -1.328997 0.314978 0.062121 -0.947064 +0.000000 0.991296 -1.334681 -0.099392 0.018440 -0.994877 +0.025062 0.911391 -1.323454 0.455667 0.031140 -0.889605 +0.023843 0.991295 -1.322813 0.445563 0.013978 -0.895142 +-0.023843 0.991295 -1.322813 -0.589910 0.011979 -0.807380 +0.000000 1.075632 -1.333278 -0.430226 0.017000 -0.902561 +-0.023086 1.075631 -1.322514 -0.723055 0.019230 -0.690523 +0.000000 1.166052 -1.330374 -0.410519 0.027016 -0.911452 +-0.020764 1.166052 -1.321185 -0.709049 0.026115 -0.704676 +0.000000 1.253848 -1.327673 -0.381797 0.017721 -0.924076 +-0.033219 1.075631 -1.297518 -0.999821 0.018543 -0.003890 +-0.033976 0.991295 -1.297518 -0.990970 0.009364 -0.133759 +-0.023086 1.075631 -1.272521 -0.758387 0.018586 0.651539 +-0.023843 0.991295 -1.272223 -0.709153 0.000612 0.705055 +-0.019217 1.253847 -1.320011 -0.700674 0.017142 -0.713276 +0.000000 1.349349 -1.327047 -0.406618 0.015636 -0.913464 +-0.030897 1.166052 -1.297518 -0.999700 0.023654 -0.006377 +0.000000 1.075632 -1.258652 -0.518343 0.019264 0.854956 +-0.020764 1.166052 -1.273851 -0.754054 0.023760 0.656382 +0.000000 0.991296 -1.257709 -0.518305 -0.001554 0.855195 +0.000000 0.911391 -1.259761 -0.483798 0.005617 0.875162 +-0.022481 0.911391 -1.271582 -0.486695 0.019337 0.873358 +0.000000 0.812923 -1.255352 -0.497166 0.029422 0.867156 +-0.029112 0.812922 -1.273484 -0.528580 0.019203 0.848666 +-0.029351 1.253847 -1.297518 -0.999854 0.015151 -0.007878 +0.000000 1.166052 -1.261031 -0.513665 0.024852 0.857631 +-0.019217 1.253847 -1.275025 -0.739203 0.020009 0.673186 +-0.018443 1.349348 -1.318398 -0.710578 0.023155 -0.703238 +0.000000 1.442863 -1.324767 -0.449778 0.033099 -0.892527 +-0.028576 1.349348 -1.297518 -0.999671 0.023575 -0.010084 +0.000000 1.253848 -1.264209 -0.487623 0.023695 0.872733 +-0.018443 1.349348 -1.276638 -0.722139 0.026806 0.691228 +-0.015295 1.442862 -1.316786 -0.712366 0.043591 -0.700453 +0.000000 1.519330 -1.320764 -0.478030 0.062784 -0.876097 +-0.025428 1.442862 -1.297518 -0.998992 0.041707 -0.016593 +0.000000 1.349350 -1.266484 -0.482657 0.027709 0.875371 +-0.015295 1.442862 -1.278250 -0.705578 0.041854 0.707395 +-0.012210 1.519316 -1.313955 -0.707251 0.074857 -0.702988 +0.000000 1.584920 -1.313976 -0.525223 0.180011 -0.831707 +-0.007202 1.584741 -1.309190 -0.724131 0.195871 -0.661263 +0.000000 1.622242 -1.297518 -0.893076 0.449905 0.000013 +0.000000 1.584920 -1.281061 -0.543125 0.225448 0.808819 +-0.007202 1.584740 -1.285847 -0.663513 0.198677 0.721303 +-0.015217 1.584564 -1.297518 -0.967707 0.219246 0.124396 +-0.022343 1.519310 -1.297518 -0.996622 0.079875 -0.019073 +0.000000 1.442863 -1.269792 -0.509986 0.038444 0.859323 +-0.012210 1.519316 -1.281081 -0.704258 0.074669 0.706007 +0.000000 1.519330 -1.272790 -0.557861 0.079860 0.826083 +0.229770 -0.368127 -0.574212 0.625354 0.168151 0.762009 +0.348259 -0.357136 -0.682947 0.719697 0.083714 0.689223 +0.305341 -0.258291 -0.595608 0.616566 -0.188544 0.764393 +0.390662 -0.263803 -0.714595 0.809996 -0.172247 0.560569 +0.408121 -0.129847 -0.708110 0.849486 -0.010222 0.527513 +0.334028 -0.151073 -0.594810 0.640147 -0.076359 0.764448 +0.163313 -0.268688 -0.540615 0.365756 -0.105031 0.924765 +0.173069 -0.171989 -0.533491 0.365030 -0.094204 0.926217 +0.401509 0.019700 -0.719666 0.852924 0.151007 0.499718 +0.337591 0.012575 -0.608417 0.746279 0.149665 0.648589 +0.186971 -0.445619 -0.537279 -0.098541 0.893629 0.437855 +0.338005 -0.375625 -0.651199 0.471654 0.774706 0.421157 +0.317899 0.220593 -0.663392 0.636941 0.394015 0.662615 +0.372288 0.218413 -0.760127 0.829740 0.301488 0.469720 +0.181052 0.003963 -0.522829 0.456971 0.118554 0.881546 +0.219224 0.341114 -0.687039 0.527205 0.605559 0.596116 +0.337829 0.315369 -0.803507 0.629976 0.631413 0.452159 +0.157486 0.215574 -0.562074 0.482479 0.411265 0.773353 +0.303637 0.359237 -0.823789 0.701341 0.041246 0.711631 +0.193934 0.374098 -0.718043 0.672829 0.416328 0.611532 +0.316694 0.395121 -0.826608 0.584191 -0.559076 0.588350 +0.194984 0.389910 -0.710710 0.554804 -0.555641 0.619238 +0.323346 -0.382968 -0.595644 0.079091 0.992845 0.089462 +0.405733 -0.421712 -0.714452 0.596425 0.793285 0.122380 +0.396773 -0.408556 -0.803304 0.598110 0.799310 0.058036 +0.210664 -0.440016 -0.501884 -0.385861 0.915372 0.114913 +0.325815 -0.384064 -0.553484 -0.117163 0.989441 0.085318 +0.210983 -0.443751 -0.483240 -0.359252 0.913856 0.189222 +0.391453 -0.418047 -0.607499 0.459747 0.887942 0.013822 +0.110497 0.357001 -0.628471 0.466506 0.498142 0.730908 +0.311188 0.429845 -0.743750 0.384860 -0.799763 0.460719 +0.193418 0.414036 -0.679360 0.360958 -0.793368 0.490181 +0.291123 0.470982 -0.647226 0.509474 -0.743804 0.432657 +0.196093 0.452835 -0.612980 0.338413 -0.840304 0.423517 +0.266554 0.508384 -0.555996 0.474387 -0.774569 0.418329 +0.200296 0.489186 -0.533589 0.371833 -0.851326 0.370114 +0.343117 0.533016 -0.669788 0.946207 -0.148915 0.287257 +0.318289 0.563922 -0.566455 0.867262 -0.358627 0.345316 +0.346101 0.613384 -0.684474 0.938336 0.269938 0.216007 +0.311358 0.632463 -0.562152 0.960617 0.155920 0.230010 +0.310846 0.688865 -0.685292 0.847324 0.498279 0.183740 +0.290660 0.682530 -0.558843 0.861641 0.476629 0.174355 +0.275723 0.755235 -0.676234 0.605431 0.733184 0.309669 +0.263180 0.713418 -0.550893 0.708539 0.661757 0.245052 +0.228561 0.777364 -0.667726 0.449092 0.828611 0.334246 +0.220027 0.731594 -0.542794 0.433750 0.838582 0.329609 +0.000000 -0.820987 -0.477658 0.302497 -0.509654 0.805449 +0.000000 -0.882034 -0.516286 0.319041 -0.542087 0.777402 +0.080293 -0.814335 -0.503604 0.389750 -0.527089 0.755163 +0.066691 -0.876853 -0.541093 0.466128 -0.571736 0.675161 +0.188531 -0.803520 -0.548481 0.359673 -0.585726 0.726334 +0.130931 -0.873717 -0.601270 0.506900 -0.603293 0.615703 +0.106014 -0.926096 -0.629367 0.548687 -0.380569 0.744386 +0.054010 -0.924554 -0.576161 0.533009 -0.542973 0.648908 +0.000000 -0.931320 -0.554331 0.342424 -0.595835 0.726448 +0.093092 -0.998740 -0.644095 0.459926 -0.113140 0.880720 +0.171366 -1.036528 -0.683604 0.465137 -0.093144 0.880325 +0.198022 -0.974045 -0.698088 0.541430 -0.147373 0.827728 +0.084065 -1.085169 -0.641995 0.407211 0.165371 0.898238 +0.134085 -1.124052 -0.661652 0.440368 0.188158 0.877880 +0.139670 -0.729077 -0.486843 0.437952 -0.307618 0.844730 +0.075642 -0.735415 -0.462425 0.362015 -0.383036 0.849840 +0.218263 -0.890110 -0.686509 0.514962 -0.417311 0.748776 +0.045699 -0.984531 -0.606911 0.596053 -0.279819 0.752610 +0.155468 -1.236804 -0.630819 0.462097 0.147331 0.874506 +0.201473 -1.208949 -0.656278 0.535988 0.026057 0.843823 +0.044879 -1.066202 -0.622145 0.512264 -0.014685 0.858702 +0.139402 -1.274319 -0.619443 0.682363 -0.100216 0.724111 +0.106292 -1.214490 -0.609168 0.469728 0.263475 0.842577 +0.028430 -1.191998 -0.592604 0.331738 0.270534 0.903748 +0.072683 -1.196973 -0.602534 0.285708 0.348718 0.892618 +0.107871 -1.323799 -0.578042 0.831398 -0.065902 0.551756 +0.127010 -1.303758 -0.615782 0.848695 -0.526875 0.046037 +0.101575 -1.353245 -0.577932 0.878926 -0.425859 0.214786 +0.141154 -1.289671 -0.632284 0.284496 -0.687509 0.668127 +0.217239 -1.235284 -0.685585 0.778468 -0.177402 0.602093 +0.164410 -1.289065 -0.635710 0.398839 0.046729 0.915830 +0.161549 -1.276360 -0.634034 0.398166 -0.178562 0.899766 +0.163755 -1.303910 -0.634987 0.646679 0.014569 0.762623 +0.198106 -1.282808 -0.684246 0.859140 -0.236890 0.453609 +0.160675 -1.327495 -0.631884 0.815560 -0.036226 0.577537 +0.181027 -1.327258 -0.684930 0.934363 -0.313721 0.168949 +0.158337 -1.364142 -0.622466 0.869381 -0.145043 0.472377 +0.154497 -1.380270 -0.678829 0.929443 -0.367955 -0.027304 +0.061988 -1.284424 -0.560729 0.267470 0.367239 0.890840 +0.083975 -1.293200 -0.566737 0.508683 0.276170 0.815458 +0.143365 -1.414398 -0.669677 0.950203 -0.311571 -0.006078 +0.135294 -1.430873 -0.717779 0.947524 -0.304022 -0.098835 +0.144574 -1.406805 -0.621260 0.862880 -0.272552 0.425621 +0.129576 -1.405361 -0.603754 0.377867 0.080825 0.922325 +0.139376 -1.362009 -0.611108 0.173088 0.140189 0.974878 +0.072233 -0.668912 -0.433957 0.537359 -0.121704 0.834526 +0.130595 -0.640555 -0.478463 0.402414 0.070315 0.912754 +0.143894 -1.296556 -0.636116 -0.178994 -0.012784 0.983767 +0.146131 -1.308268 -0.627509 -0.351591 0.353222 0.866959 +0.145445 -1.326647 -0.619138 0.191628 0.257689 0.947035 +0.132645 -1.361377 -0.611443 -0.498868 0.310691 0.809075 +0.139083 -1.326727 -0.623711 -0.626290 0.349117 0.697050 +0.122685 -1.405695 -0.604309 -0.214586 0.354508 0.910097 +0.118962 -1.437387 -0.596255 0.699948 -0.139712 0.700395 +0.128445 -1.442977 -0.627141 0.914997 -0.287825 0.282732 +0.125944 -1.491134 -0.642916 0.948998 -0.244915 0.198541 +0.115440 -1.495687 -0.619527 0.778850 -0.363011 0.511484 +0.119194 -1.324339 -0.660955 -0.522894 0.398764 0.753372 +0.118120 -1.278789 -0.677453 -0.729447 -0.125026 0.672515 +0.138638 -1.308886 -0.637077 -0.805129 0.170672 0.568013 +0.134660 -1.297916 -0.641700 -0.740374 -0.405585 0.536047 +0.129485 -1.292252 -0.638544 -0.246744 -0.928812 -0.276453 +0.089667 -1.497634 -0.594454 0.501498 -0.323117 0.802555 +0.091568 -1.447681 -0.580916 0.045685 0.346884 0.936795 +0.096465 -1.343108 -0.564166 0.763581 -0.026697 0.645160 +0.072713 -1.377240 -0.548504 0.672760 -0.532612 0.513535 +0.088895 -1.370848 -0.574027 0.441650 -0.806378 -0.393318 +0.079852 -1.324992 -0.553916 0.533730 0.271093 0.801025 +0.026260 -1.280054 -0.556299 0.182762 0.381391 0.906167 +0.055126 -1.320242 -0.544940 0.270332 0.321042 0.907663 +0.071629 -1.379708 -0.565028 0.249842 -0.888289 -0.385386 +0.074056 -1.339260 -0.590221 -0.111140 -0.538403 -0.835327 +0.111616 -1.327029 -0.608226 0.321276 -0.688704 -0.649976 +0.107044 -1.541398 -0.649263 0.793218 -0.559099 0.241275 +0.114816 -1.528464 -0.668639 0.879766 -0.462867 0.108473 +0.085495 -1.544567 -0.622349 0.485634 -0.671105 0.560159 +0.156650 -1.356212 -0.761539 0.916740 -0.380221 -0.122554 +0.131509 -1.409096 -0.777987 0.926027 -0.317579 -0.204004 +0.120670 -1.476615 -0.732980 0.951799 -0.255756 -0.169316 +0.103226 -1.263748 -0.674458 -0.635152 -0.752882 0.172483 +0.132940 -1.443241 -0.645172 0.969703 -0.220537 0.105069 +0.132277 -1.445773 -0.698382 0.974045 -0.211133 -0.081608 +0.103408 -1.413538 -0.607254 -0.387582 0.586059 0.711558 +0.081666 -1.289704 -0.623371 -0.089859 -0.589101 -0.803047 +0.107095 -1.521984 -0.746441 0.894077 -0.308566 -0.324673 +0.111725 -1.457935 -0.786106 0.908479 -0.285657 -0.305067 +0.091704 -1.556855 -0.667292 0.629621 -0.686802 0.363153 +0.101380 -1.557837 -0.680852 0.762316 -0.494111 0.418006 +0.070546 -1.562914 -0.651884 0.440872 -0.751348 0.491028 +0.023249 -1.315241 -0.541154 0.135504 0.299456 0.944439 +0.050513 -1.365189 -0.530957 0.319701 -0.009112 0.947475 +0.018619 -1.370303 -0.523921 0.180053 0.001879 0.983655 +0.133691 -1.465766 -0.673240 0.986414 -0.156159 -0.051013 +0.120564 -1.513026 -0.684932 0.958523 -0.284348 0.019494 +0.107642 -1.558038 -0.689610 0.827835 -0.485500 0.281032 +0.082730 -1.589562 -0.687034 0.679627 -0.720555 0.137504 +0.077701 -1.575456 -0.670632 0.609785 -0.530034 0.589259 +0.042564 -1.569583 -0.636975 0.517554 -0.604675 0.605397 +0.048210 -1.589749 -0.652445 0.526037 -0.611964 0.590581 +0.077998 -1.352136 -0.542918 0.559656 0.052270 0.827075 +0.100389 -1.255747 -0.653954 -0.329039 -0.825654 -0.458288 +0.070074 -1.244802 -0.663809 -0.323171 -0.942167 -0.088776 +0.070992 -1.247380 -0.686623 -0.429352 -0.649910 0.627116 +0.042243 -1.393100 -0.536856 0.399713 -0.816629 0.416349 +0.039635 -1.391853 -0.554379 0.136670 -0.839556 -0.525802 +0.057574 -1.545277 -0.610821 0.332911 -0.745233 0.577752 +0.062696 -1.462112 -0.576113 0.170326 0.123501 0.977618 +0.068962 -1.417705 -0.624797 -0.318850 0.590360 0.741491 +0.044892 -1.348548 -0.584637 0.051457 -0.575851 -0.815934 +0.054464 -1.294657 -0.623404 0.086984 -0.644814 -0.759374 +0.060899 -1.501117 -0.582180 0.382779 -0.401480 0.832042 +0.068040 -1.327512 -0.667823 -0.153558 0.437919 0.885803 +0.069671 -1.278198 -0.690989 -0.250673 0.192119 0.948817 +0.078161 -1.582310 -0.717670 0.677907 -0.687491 -0.260381 +0.049203 -1.606319 -0.712284 0.471614 -0.868230 -0.154133 +0.049598 -1.607373 -0.680832 0.408683 -0.871532 0.270943 +0.020583 -1.618934 -0.702387 0.243196 -0.969436 -0.032392 +0.022198 -1.613117 -0.731314 0.231042 -0.896422 -0.378216 +0.053269 -1.597447 -0.738356 0.527741 -0.755000 -0.389184 +0.086377 -1.560745 -0.743683 0.722076 -0.553183 -0.415446 +0.108763 -1.541432 -0.725267 0.869420 -0.423583 -0.254337 +0.119345 -1.495462 -0.712270 0.963477 -0.200933 -0.177025 +0.152043 -0.627012 -0.461232 -0.879135 -0.028876 0.475698 +0.131915 -0.528796 -0.497689 0.149555 0.090672 0.984587 +0.155519 -0.617108 -0.446525 -0.957518 -0.053155 0.283434 +0.148618 -0.528786 -0.462029 -0.940818 -0.024817 0.338002 +0.166063 -0.601729 -0.399052 -0.921102 -0.009043 0.389216 +0.153661 -0.526172 -0.447830 -0.964127 -0.012943 0.265126 +0.090467 -0.527020 -0.448806 0.713601 0.056573 0.698265 +0.122304 -0.438939 -0.494920 0.663049 0.047898 0.747042 +0.186971 -0.445619 -0.537279 0.550035 0.033116 0.834484 +0.036703 -1.235823 -0.673595 -0.235733 -0.967222 0.094405 +0.036792 -1.238117 -0.697304 -0.252575 -0.793214 0.554091 +0.013712 -1.402167 -0.533006 0.324194 -0.819410 0.472721 +0.037356 -1.272798 -0.701558 -0.209313 0.128834 0.969325 +0.035488 -1.329960 -0.670332 -0.083344 0.491624 0.866810 +0.013895 -1.398495 -0.548833 0.249013 -0.955351 -0.159047 +0.032314 -1.573539 -0.787490 0.308004 -0.778247 -0.547234 +0.062177 -1.548939 -0.790061 0.612686 -0.604154 -0.509524 +0.091171 -1.508123 -0.790433 0.786768 -0.426097 -0.446585 +0.021073 -1.614909 -0.670898 0.260953 -0.877577 0.402196 +-0.000017 -1.270105 -0.707808 -0.112785 0.293520 0.949276 +-0.000017 -1.233837 -0.701840 -0.177757 -0.515776 0.838080 +-0.000017 -1.616928 -0.728156 0.112827 -0.944493 -0.308549 +-0.000017 -1.583737 -0.779092 0.090094 -0.829132 -0.551746 +-0.000017 -1.339257 -0.666214 -0.035554 0.515106 0.856389 +-0.000017 -1.231392 -0.679250 -0.130735 -0.986276 0.100836 +-0.000017 -1.622242 -0.698873 0.152394 -0.987650 -0.036376 +-0.000017 -1.618749 -0.666344 0.223215 -0.930502 0.290414 +-0.000017 -1.312755 -0.538588 0.133416 0.262076 0.955781 +-0.000017 -1.370935 -0.522635 0.094730 0.278252 0.955825 +0.019196 -1.594895 -0.641123 0.251325 -0.684342 0.684479 +-0.000017 -1.596067 -0.638937 0.172948 -0.707463 0.685263 +0.166408 -0.689952 -0.448651 -0.880088 -0.108466 0.462256 +0.156180 -0.709903 -0.464735 -0.803508 -0.065109 0.591722 +0.165710 -0.520333 -0.397867 -0.915783 -0.009818 0.401552 +0.178825 -0.521027 -0.378250 -0.842461 -0.005640 0.538728 +0.179266 -0.601335 -0.377465 -0.853093 0.000415 0.521759 +0.018462 -1.572862 -0.630150 0.251718 -0.424713 0.869630 +-0.000017 -1.574039 -0.625376 0.190362 -0.473816 0.859803 +0.201975 0.676339 -1.300758 0.644574 0.170370 -0.745318 +0.187521 0.788019 -1.271414 0.631059 0.267877 -0.728016 +0.284059 0.669572 -1.231316 0.681880 0.135437 -0.718816 +0.234621 0.787648 -1.231194 0.627624 0.263541 -0.732554 +0.276877 0.518284 -1.223774 0.780730 -0.068029 -0.621154 +0.208275 0.514568 -1.309593 0.719129 -0.000681 -0.694876 +0.000000 0.376398 -1.337871 0.147506 0.003599 -0.989055 +0.108528 0.360089 -1.304915 0.275882 -0.063229 -0.959109 +0.000000 0.123007 -1.369700 0.276043 0.133725 -0.951797 +0.121794 0.126862 -1.337687 0.246986 0.148600 -0.957557 +0.229655 0.334608 -1.256244 0.319654 -0.234204 -0.918134 +0.208275 0.514568 -1.309593 0.275389 -0.116415 -0.954258 +0.093267 0.537123 -1.340819 0.172735 -0.023427 -0.984690 +0.000000 0.531584 -1.328178 -0.137651 0.061746 -0.988554 +0.078983 0.672760 -1.329372 0.316351 0.305148 -0.898224 +0.201975 0.676339 -1.300758 0.236351 0.171688 -0.956379 +0.060854 0.725216 -1.324017 0.961962 0.251319 -0.107089 +0.049248 0.745544 -1.293766 0.231847 0.505786 -0.830920 +0.081137 0.746770 -1.310106 -0.048970 0.296172 -0.953879 +0.083203 0.776490 -1.299485 -0.162608 0.409927 -0.897507 +0.187521 0.788019 -1.271414 0.250929 0.544439 -0.800388 +0.085151 0.801816 -1.283248 -0.131644 0.651141 -0.747453 +0.234621 0.787648 -1.231194 0.415295 0.773236 -0.479203 +0.115223 0.870956 -1.200244 0.141682 0.788102 -0.599017 +0.031367 0.777065 -1.277087 -0.348189 0.430559 -0.832697 +0.039245 0.812922 -1.297518 0.974353 0.135026 -0.180012 +0.027126 0.812922 -1.328997 0.809499 0.173340 -0.560950 +0.028482 0.725216 -1.340985 0.460477 0.127198 -0.878511 +0.029112 0.812922 -1.273484 0.938439 0.164670 0.303670 +0.025062 0.911391 -1.323454 0.931626 0.039018 -0.361319 +0.035195 0.911391 -1.297518 0.930753 0.038282 -0.363638 +0.000000 0.798667 -1.251145 -0.299097 0.610391 -0.733460 +0.000000 0.842631 -1.203002 -0.225651 0.750493 -0.621162 +0.250557 -0.893329 -1.103714 0.737084 -0.572401 -0.359254 +0.163891 -0.925097 -1.230911 0.727208 -0.541407 -0.421956 +0.315181 -0.764996 -1.175598 0.760713 -0.419445 -0.495360 +0.198746 -0.792401 -1.318974 0.744800 -0.409984 -0.526484 +0.215624 -0.638821 -1.379687 0.790148 -0.211487 -0.575274 +0.352477 -0.606807 -1.199774 0.808999 -0.100696 -0.579121 +0.219620 -0.509012 -1.385795 0.808235 0.043899 -0.587221 +0.335016 -0.477144 -1.219440 0.819375 0.142017 -0.555388 +0.236095 -0.336440 -1.315803 0.841276 0.113538 -0.528549 +0.317998 -0.316945 -1.171010 0.865330 0.034616 -0.500006 +0.268996 -0.166749 -1.278754 0.866841 -0.045564 -0.496498 +0.333440 -0.148889 -1.169196 0.858436 -0.032665 -0.511880 +0.276410 -0.024242 -1.265942 0.849437 0.018228 -0.527375 +0.334864 -0.008152 -1.173440 0.846801 0.052788 -0.529284 +0.263580 0.140392 -1.261915 0.844216 0.114997 -0.523522 +0.316565 0.155536 -1.170591 0.857125 0.160227 -0.489555 +0.229655 0.334608 -1.256244 0.849671 0.038792 -0.525885 +0.284178 0.314571 -1.157604 0.880720 -0.049918 -0.471000 +0.276877 0.518284 -1.223774 0.834422 -0.106711 -0.540697 +0.208275 0.514568 -1.309593 0.779783 -0.090980 -0.619404 +0.284059 0.669572 -1.231316 0.845794 0.148636 -0.512387 +0.314782 0.525202 -1.163291 0.865963 -0.100943 -0.489815 +0.316567 0.674269 -1.177092 0.864274 0.258473 -0.431534 +0.328173 0.316278 -1.060432 0.902669 -0.142122 -0.406190 +0.234621 0.787648 -1.231194 0.815203 0.341806 -0.467560 +0.279601 0.779780 -1.158522 0.823280 0.357340 -0.441041 +0.343043 0.675234 -1.105304 0.879853 0.342854 -0.329106 +0.315812 0.762780 -1.086902 0.871621 0.353479 -0.339602 +0.113353 -0.829547 -1.389298 0.532833 -0.522432 -0.665698 +0.077967 -0.944955 -1.301869 0.380628 -0.575787 -0.723596 +0.000000 -0.850805 -1.401005 0.161013 -0.649310 -0.743284 +0.000000 -0.946150 -1.314178 0.132503 -0.611708 -0.779908 +0.163891 -0.925097 -1.230911 0.709708 -0.341212 -0.616352 +0.198746 -0.792401 -1.318974 0.653318 -0.444131 -0.613125 +0.215624 -0.638821 -1.379687 0.644376 -0.341333 -0.684303 +0.117833 -0.677125 -1.452666 0.662838 -0.319893 -0.676990 +0.063836 -1.006456 -1.256372 0.332632 -0.523102 -0.784679 +0.155712 -1.010450 -1.208942 0.642905 -0.324041 -0.694025 +0.000000 -1.014367 -1.268361 0.178733 -0.583271 -0.792369 +0.194389 -1.019275 -1.135778 0.833571 0.086931 -0.545529 +0.140954 -1.081044 -1.195292 0.557744 0.052802 -0.828332 +0.250557 -0.893329 -1.103714 0.837069 -0.233218 -0.494898 +0.063677 -1.084658 -1.226234 0.343575 -0.069069 -0.936582 +0.212058 -1.089059 -1.151285 0.610014 0.291725 -0.736736 +0.243257 -1.109294 -1.101869 0.857182 0.310578 -0.410829 +0.233524 -1.041313 -1.070262 0.858121 0.312333 -0.407524 +0.082590 -1.177560 -1.230108 0.180492 -0.011882 -0.983505 +0.149037 -1.182005 -1.217860 0.346676 0.073243 -0.935121 +0.232935 -1.184636 -1.172981 0.468361 0.028736 -0.883070 +0.147323 -1.283632 -1.206186 0.339010 -0.299074 -0.891979 +0.228412 -1.270773 -1.165832 0.731633 -0.385408 -0.562293 +0.148298 -1.343492 -1.172147 0.441873 -0.499209 -0.745345 +0.206980 -1.323399 -1.147182 0.743963 -0.554044 -0.373570 +0.144216 -1.389224 -1.142150 0.583097 -0.481328 -0.654462 +0.185016 -1.368596 -1.120970 0.684383 -0.547695 -0.481300 +0.222856 -1.307619 -1.114574 0.616177 -0.530083 -0.582528 +0.210022 -1.325508 -1.096257 0.830781 -0.551860 -0.072481 +0.236921 -1.282762 -1.116675 0.798409 -0.293597 -0.525684 +0.246845 -1.260431 -1.101758 0.928308 -0.205605 -0.309792 +0.248806 -1.231756 -1.114913 0.941395 -0.210244 -0.263767 +0.085375 -1.291375 -1.217723 0.200059 -0.246003 -0.948398 +0.085390 -1.351693 -1.181174 0.202253 -0.494658 -0.845226 +0.242488 -1.305722 -1.114672 -0.113639 -0.303684 -0.945972 +0.230621 -1.322045 -1.104962 -0.221549 -0.476650 -0.850718 +0.254957 -1.321908 -1.115359 -0.352154 -0.432576 -0.829979 +0.249879 -1.335757 -1.102068 -0.312788 -0.595476 -0.739981 +0.000000 -0.820987 -0.477658 0.302135 -0.512966 0.803480 +0.000000 -0.743096 -0.427930 0.381981 -0.391794 0.837011 +0.075642 -0.735415 -0.462425 0.416254 -0.370772 0.830218 +0.000000 -0.682871 -0.406746 0.373654 -0.148785 0.915558 +0.000000 -0.520935 -0.408895 0.388776 0.070997 0.918593 +0.090467 -0.527020 -0.448806 0.437648 0.153182 0.886002 +0.122304 -0.438939 -0.494920 0.473333 0.257953 0.842268 +0.000000 -0.433288 -0.424155 0.463796 0.243988 0.851683 +0.144773 -0.369613 -0.521976 0.438573 0.199812 0.876201 +0.000000 -0.365256 -0.450505 0.463460 0.258350 0.847620 +0.020074 0.802989 -0.859710 -0.468616 0.735648 0.489102 +0.000000 0.792848 -0.871132 -0.429261 0.637739 0.639550 +0.008274 0.689589 -0.762612 -0.470719 0.608497 0.638870 +0.000000 0.690640 -0.766550 -0.235042 0.695142 0.679362 +0.055367 0.903845 -1.060557 -0.308741 0.870649 0.382947 +0.112552 0.899531 -1.004645 -0.301408 0.876697 0.374907 +0.059104 0.807325 -0.828836 -0.357493 0.777283 0.517716 +0.025789 0.687817 -0.748559 -0.474214 0.578186 0.663944 +0.087118 0.775469 -0.767209 -0.323846 0.878246 0.351863 +0.172004 0.879637 -0.926179 -0.240069 0.873814 0.422867 +0.088868 0.769612 -0.732977 -0.464125 0.868834 0.172382 +0.191441 0.840666 -0.814931 -0.418558 0.867201 0.269763 +0.055367 0.903845 -1.060557 -0.373691 0.924481 -0.075434 +0.000000 0.877127 -1.071758 -0.490537 0.859379 0.144364 +0.020074 0.802989 -0.859710 -0.515598 0.792443 0.325871 +0.000000 0.792848 -0.871132 -0.565758 0.760218 0.319353 +0.115223 0.870956 -1.200244 -0.219773 0.924376 -0.311815 +0.000000 0.842631 -1.203002 -0.302930 0.912640 -0.274450 +0.432499 -0.117936 -0.893081 0.996289 -0.062059 -0.059641 +0.437223 0.021572 -0.907435 0.996072 0.085228 -0.023996 +0.408121 -0.129847 -0.708110 0.988708 -0.032280 0.146335 +0.401509 0.019700 -0.719666 0.975183 0.119050 0.186668 +0.409405 0.188720 -0.931537 0.956010 0.276241 -0.098669 +0.372005 0.173291 -1.062321 0.941402 0.173709 -0.289114 +0.392132 0.008478 -1.063792 0.962223 0.006191 -0.272191 +0.423456 -0.279155 -0.891875 0.993456 -0.113791 0.009849 +0.390117 -0.124181 -1.050900 0.972651 -0.022312 -0.231197 +0.397077 -0.294104 -1.040035 0.989007 0.021149 -0.146348 +0.372288 0.218413 -0.760127 0.945523 0.285782 0.155930 +0.360061 0.306779 -0.937631 0.923030 0.384346 0.017108 +0.328173 0.316278 -1.060432 0.911217 0.326518 -0.251135 +0.390662 -0.263803 -0.714595 0.968738 -0.180295 0.170413 +0.337829 0.315369 -0.803507 0.915270 0.382221 0.127233 +0.414880 -0.360277 -0.913431 0.992981 0.106055 0.052362 +0.412246 -0.462044 -1.047188 0.969065 0.152795 -0.193820 +0.348259 -0.357136 -0.682947 0.958911 -0.049178 0.279411 +0.445104 -0.474404 -0.928435 0.976834 0.198878 -0.079009 +0.417389 -0.603646 -1.074460 0.968093 -0.042231 -0.247008 +0.441108 -0.605236 -0.978452 0.981078 -0.088848 -0.172024 +0.396773 -0.408556 -0.803304 0.926122 0.328728 0.185031 +0.338005 -0.375625 -0.651199 0.935522 0.074226 0.345383 +0.449056 -0.493539 -0.787950 0.952996 0.301660 -0.028288 +0.459976 -0.598947 -0.814650 0.990812 -0.109187 -0.079816 +0.405733 -0.421712 -0.714452 0.852379 0.522855 -0.008538 +0.430026 -0.707082 -0.805969 0.894149 -0.447012 0.026035 +0.421764 -0.731125 -0.935026 0.884742 -0.461487 -0.065276 +0.327169 -0.847824 -0.782242 0.793739 -0.607645 0.027308 +0.298690 -0.872468 -0.981866 0.765891 -0.636311 -0.092295 +0.378254 -0.754824 -1.055511 0.893875 -0.384436 -0.230645 +0.368785 -0.778217 -0.725018 0.807768 -0.585014 0.072594 +0.108530 -0.355331 -1.455653 0.292423 0.184591 -0.938304 +0.114572 -0.524305 -1.478219 0.451389 -0.010769 -0.892263 +0.000000 -0.361320 -1.491224 0.297235 0.160851 -0.941158 +0.000000 -0.533029 -1.515251 0.293088 -0.072777 -0.953312 +0.000000 -0.694820 -1.481308 0.237083 -0.344148 -0.908490 +0.117833 -0.677125 -1.452666 0.374118 -0.214150 -0.902317 +0.121475 -0.199653 -1.417969 0.240861 0.303519 -0.921880 +0.000000 -0.212704 -1.457249 0.275176 0.266395 -0.923749 +0.126253 -0.069033 -1.371295 0.220563 0.216683 -0.951000 +0.000000 -0.085812 -1.403213 0.221652 0.287575 -0.931757 +0.000000 -0.850805 -1.401005 0.174925 -0.450661 -0.875389 +0.113353 -0.829547 -1.389298 0.223785 -0.414227 -0.882234 +0.219620 -0.509012 -1.385795 0.664080 -0.055526 -0.745597 +0.215624 -0.638821 -1.379687 0.643959 -0.085867 -0.760226 +0.000000 0.123007 -1.369700 0.234190 0.161925 -0.958611 +0.121794 0.126862 -1.337687 0.245522 0.169341 -0.954485 +0.163313 -0.268688 -0.540615 0.219901 0.037023 0.974819 +0.000000 -0.278300 -0.498178 0.305059 0.217029 0.927274 +0.144773 -0.369613 -0.521976 0.331283 0.291349 0.897423 +0.000000 -0.365256 -0.450505 0.408356 0.438826 0.800423 +0.173069 -0.171989 -0.533491 0.131365 -0.038782 0.990575 +0.000000 -0.181284 -0.504867 0.192464 0.004644 0.981293 +0.181052 0.003963 -0.522829 0.060235 0.062843 0.996204 +0.000000 -0.002516 -0.511473 0.106887 0.071547 0.991694 +0.000000 0.217662 -0.539160 0.161664 0.334761 0.928332 +0.157486 0.215574 -0.562074 0.112487 0.259472 0.959177 +0.110497 0.357001 -0.628471 0.247536 0.498871 0.830574 +0.000000 0.362368 -0.606042 0.217049 0.467158 0.857119 +0.219224 0.341114 -0.687039 0.502465 0.686552 0.525524 +0.042466 0.462186 -0.676207 0.321037 0.507282 0.799750 +0.000000 0.473072 -0.669559 0.360995 0.408163 0.838502 +0.009831 0.582357 -0.722762 -0.032884 0.344141 0.938342 +0.022530 0.582900 -0.720376 -0.372847 0.219888 0.901462 +0.073671 0.464847 -0.696580 0.059356 0.085577 0.994562 +0.193934 0.374098 -0.718043 0.366712 0.334615 0.868076 +0.030152 0.581907 -0.713972 -0.574628 -0.041532 0.817360 +0.037486 0.686149 -0.731377 -0.793310 0.319707 0.518119 +0.025789 0.687817 -0.748559 -0.599119 0.384319 0.702393 +0.091849 0.479491 -0.699313 -0.241330 -0.178301 0.953923 +0.194984 0.389910 -0.710710 -0.207107 -0.398498 0.893480 +0.000000 0.583122 -0.715693 0.569719 0.317734 0.757935 +0.103255 0.494590 -0.692424 -0.637342 -0.448487 0.626621 +0.047675 0.582939 -0.689279 -0.845393 -0.123815 0.519597 +0.070740 0.591315 -0.644639 -0.880952 -0.256879 0.397413 +0.116679 0.512235 -0.650594 -0.752185 -0.524909 0.398357 +0.051595 0.678974 -0.703427 -0.887106 0.247808 0.389402 +0.068726 0.667268 -0.647439 -0.938830 0.112970 0.325325 +0.193418 0.414036 -0.679360 -0.528239 -0.542676 0.653043 +0.196093 0.452835 -0.612980 -0.651498 -0.621930 0.434458 +0.087118 0.775469 -0.767209 -0.721486 0.558866 0.408812 +0.088868 0.769612 -0.732977 -0.731718 0.603754 0.316338 +0.098672 0.741881 -0.649914 -0.748836 0.576357 0.327197 +0.132622 0.539817 -0.555258 -0.853161 -0.411324 0.320824 +0.104151 0.602309 -0.560450 -0.918303 -0.244381 0.311443 +0.095284 0.658244 -0.561410 -0.953362 0.100333 0.284665 +0.112848 0.705254 -0.556160 -0.901424 0.322681 0.288638 +0.008274 0.689589 -0.762612 -0.584561 0.275160 0.763266 +0.059104 0.807325 -0.828836 -0.615244 0.550537 0.564255 +0.191441 0.840666 -0.814931 -0.335570 0.879375 0.337775 +0.174726 0.772485 -0.655484 -0.329157 0.880212 0.341881 +0.147059 0.559099 -0.487339 -0.869477 -0.417298 0.264332 +0.121016 0.612952 -0.489468 -0.936852 -0.239404 0.254940 +0.116559 0.653839 -0.489535 -0.940657 0.180407 0.287434 +0.133645 0.691215 -0.483091 -0.881879 0.348367 0.317693 +0.167913 0.575845 -0.391086 -0.845178 -0.464751 0.263972 +0.142612 0.617588 -0.398601 -0.932227 -0.257840 0.253913 +0.141864 0.649581 -0.398320 -0.936399 0.223905 0.270229 +0.161989 0.688799 -0.401702 -0.868051 0.404387 0.288026 +numsurf 345 +SURF 0x24 +mat 0 +refs 4 +2092 0.18417 0.47203 +2090 0.17447 0.47611 +2092 0.18417 0.47203 +2091 0.17409 0.47332 +SURF 0x24 +mat 0 +refs 44 +3153 0.82063 0.33963 +3157 0.88744 0.34868 +3153 0.82063 0.33963 +3158 0.87040 0.37083 +3154 0.80637 0.36412 +3158 0.87040 0.37083 +3155 0.80410 0.36840 +3159 0.87019 0.37164 +3155 0.80410 0.36840 +3160 0.87826 0.35118 +3155 0.80410 0.36840 +3156 0.81642 0.35386 +3155 0.80410 0.36840 +3148 0.76321 0.35178 +3147 0.75136 0.36714 +3144 0.70120 0.33703 +3139 0.68769 0.36669 +3138 0.64633 0.36625 +3136 0.69033 0.36560 +3135 0.65266 0.37432 +3134 0.67859 0.31971 +3128 0.62943 0.38375 +3131 0.66885 0.32864 +3126 0.66137 0.34701 +3132 0.71371 0.22562 +3126 0.66137 0.34701 +3127 0.70889 0.22441 +3122 0.65771 0.38331 +3121 0.73969 0.20940 +3122 0.65771 0.38331 +3119 0.60332 0.30002 +3120 0.56124 0.41349 +3119 0.60332 0.30002 +3117 0.60042 0.43377 +3118 0.66570 0.27480 +3116 0.61664 0.44217 +3115 0.70047 0.26395 +3116 0.61664 0.44217 +3113 0.69023 0.26842 +3114 0.62052 0.44417 +3109 0.68118 0.27568 +3110 0.62443 0.44620 +3111 0.68284 0.29923 +3112 0.65237 0.46066 +SURF 0x24 +mat 0 +refs 5 +3120 0.56124 0.41349 +3122 0.65771 0.38331 +3123 0.64039 0.42633 +3124 0.61413 0.40070 +3133 0.61336 0.41234 +SURF 0x24 +mat 0 +refs 16 +3131 0.66885 0.32864 +3132 0.71371 0.22562 +3131 0.66885 0.32864 +3140 0.73129 0.23664 +3134 0.67859 0.31971 +3141 0.77152 0.25419 +3134 0.67859 0.31971 +3137 0.70980 0.31944 +3136 0.69033 0.36560 +3145 0.77362 0.33296 +3146 0.75635 0.35888 +3153 0.82063 0.33963 +3146 0.75635 0.35888 +3154 0.80637 0.36412 +3147 0.75136 0.36714 +3155 0.80410 0.36840 +SURF 0x24 +mat 0 +refs 4 +3147 0.75136 0.36714 +3139 0.68769 0.36669 +3146 0.75635 0.35888 +3136 0.69033 0.36560 +SURF 0x24 +mat 0 +refs 17 +3152 0.73594 0.26192 +3151 0.65088 0.19743 +3144 0.70120 0.33703 +3143 0.64764 0.32131 +3138 0.64633 0.36625 +3129 0.62290 0.37139 +3135 0.65266 0.37432 +3129 0.62290 0.37139 +3128 0.62943 0.38375 +3125 0.62187 0.38917 +3126 0.66137 0.34701 +3125 0.62187 0.38917 +3122 0.65771 0.38331 +3125 0.62187 0.38917 +3124 0.61413 0.40070 +3130 0.60699 0.37747 +3149 0.59000 0.39012 +SURF 0x24 +mat 0 +refs 5 +3125 0.62187 0.38917 +3129 0.62290 0.37139 +3130 0.60699 0.37747 +3142 0.62671 0.31261 +3150 0.57660 0.32097 +SURF 0x24 +mat 0 +refs 4 +3143 0.64764 0.32131 +3142 0.62671 0.31261 +3143 0.64764 0.32131 +3129 0.62290 0.37139 +SURF 0x24 +mat 0 +refs 15 +3107 0.40370 0.17426 +3108 0.53610 0.19538 +3107 0.40370 0.17426 +3101 0.54094 0.17321 +3102 0.40370 0.15215 +3099 0.53575 0.14242 +3100 0.40370 0.11650 +3093 0.52168 0.11756 +3095 0.40370 0.09409 +3094 0.52824 0.10267 +3096 0.40370 0.07824 +3098 0.53179 0.11953 +3097 0.40370 0.10063 +3104 0.52692 0.16133 +3103 0.40370 0.15361 +SURF 0x24 +mat 0 +refs 4 +3098 0.53179 0.11953 +3094 0.52824 0.10267 +3106 0.63809 0.16767 +3105 0.64243 0.16364 +SURF 0x24 +mat 0 +refs 36 +3082 0.48979 0.45981 +3086 0.43162 0.44767 +3082 0.48979 0.45981 +3084 0.48201 0.40261 +3079 0.57443 0.41072 +3084 0.48201 0.40261 +3081 0.60722 0.41642 +3085 0.50010 0.39147 +3088 0.57773 0.43625 +3087 0.49303 0.42377 +3088 0.57773 0.43625 +3092 0.43694 0.48808 +3088 0.57773 0.43625 +3089 0.47279 0.53483 +3088 0.57773 0.43625 +3090 0.60310 0.57119 +3088 0.57773 0.43625 +3091 0.65520 0.48677 +3081 0.60722 0.41642 +3080 0.66944 0.44478 +3079 0.57443 0.41072 +3077 0.65124 0.44963 +3076 0.56319 0.44313 +3070 0.64584 0.46591 +3068 0.54936 0.43324 +3069 0.65270 0.47376 +3061 0.55056 0.42345 +3067 0.66128 0.47192 +3062 0.56024 0.41871 +3066 0.65941 0.49374 +3065 0.57488 0.44957 +3073 0.65621 0.54130 +3065 0.57488 0.44957 +3072 0.57669 0.50333 +3071 0.46023 0.48523 +3075 0.48729 0.52384 +SURF 0x24 +mat 0 +refs 13 +3065 0.57488 0.44957 +3071 0.46023 0.48523 +3062 0.56024 0.41871 +3064 0.43487 0.45240 +3062 0.56024 0.41871 +3063 0.42755 0.44490 +3061 0.55056 0.42345 +3074 0.43104 0.46404 +3068 0.54936 0.43324 +3078 0.40828 0.50923 +3076 0.56319 0.44313 +3082 0.48979 0.45981 +3079 0.57443 0.41072 +SURF 0x24 +mat 0 +refs 4 +3078 0.40828 0.50923 +3083 0.38690 0.51951 +3078 0.40828 0.50923 +3082 0.48979 0.45981 +SURF 0x24 +mat 0 +refs 6 +3059 0.32880 0.46158 +3060 0.39435 0.35484 +3055 0.44147 0.45599 +3056 0.46746 0.40121 +3057 0.57391 0.49456 +3058 0.57923 0.47210 +SURF 0x24 +mat 0 +refs 8 +3053 0.61164 0.32195 +3054 0.62110 0.44551 +3051 0.59117 0.33169 +3052 0.54706 0.46422 +3049 0.65707 0.35796 +3048 0.58614 0.46657 +3043 0.61810 0.33157 +3047 0.52297 0.43145 +SURF 0x24 +mat 0 +refs 7 +3050 0.68458 0.30000 +3049 0.65707 0.35796 +3045 0.66698 0.28822 +3043 0.61810 0.33157 +3045 0.66698 0.28822 +3044 0.60060 0.31651 +3046 0.66021 0.28176 +SURF 0x24 +mat 0 +refs 14 +3041 0.58855 0.22901 +3042 0.55808 0.39044 +3039 0.59317 0.25891 +3040 0.57351 0.39843 +3038 0.60428 0.30363 +3037 0.58245 0.40306 +1119 0.60387 0.32573 +3036 0.58371 0.40372 +1119 0.60387 0.32573 +3034 0.57130 0.39729 +3035 0.58889 0.31381 +3034 0.57130 0.39729 +1115 0.56709 0.29683 +3033 0.54217 0.38221 +SURF 0x24 +mat 0 +refs 11 +3031 0.17719 0.51234 +3032 0.18245 0.52127 +3031 0.17719 0.51234 +3030 0.20343 0.51998 +3029 0.19072 0.51319 +3022 0.21205 0.51389 +3024 0.19681 0.51205 +3017 0.20702 0.47991 +3024 0.19681 0.51205 +3026 0.18386 0.51283 +3025 0.18574 0.52157 +SURF 0x24 +mat 0 +refs 33 +3020 0.29804 0.49825 +3018 0.29419 0.47833 +3021 0.25329 0.51089 +3019 0.22994 0.49290 +3023 0.22564 0.52638 +3019 0.22994 0.49290 +3022 0.21205 0.51389 +3019 0.22994 0.49290 +3017 0.20702 0.47991 +3018 0.29419 0.47833 +3016 0.29592 0.45592 +3028 0.36272 0.47441 +3016 0.29592 0.45592 +3027 0.36345 0.45031 +3014 0.29428 0.44816 +3013 0.36672 0.44223 +3014 0.29428 0.44816 +3009 0.38719 0.44540 +3007 0.30262 0.46331 +3009 0.38719 0.44540 +3004 0.28686 0.45383 +3003 0.38761 0.42552 +2996 0.37315 0.39506 +3005 0.45721 0.41967 +2996 0.37315 0.39506 +2998 0.45810 0.38946 +2996 0.37315 0.39506 +2997 0.45981 0.33221 +2996 0.37315 0.39506 +2995 0.33641 0.33627 +3000 0.24225 0.37988 +3002 0.33279 0.29434 +3001 0.22510 0.33930 +SURF 0x24 +mat 0 +refs 14 +2996 0.37315 0.39506 +3000 0.24225 0.37988 +2996 0.37315 0.39506 +2999 0.27840 0.43908 +3004 0.28686 0.45383 +3008 0.18174 0.52016 +3004 0.28686 0.45383 +3006 0.24340 0.50083 +3007 0.30262 0.46331 +3010 0.22451 0.49003 +3014 0.29428 0.44816 +3015 0.20225 0.47505 +3016 0.29592 0.45592 +3017 0.20702 0.47991 +SURF 0x24 +mat 0 +refs 4 +3010 0.22451 0.49003 +3006 0.24340 0.50083 +3011 0.18964 0.52161 +3012 0.19959 0.54277 +SURF 0x24 +mat 0 +refs 7 +2994 0.41758 0.52791 +2993 0.41170 0.55935 +2994 0.41758 0.52791 +2989 0.35949 0.54078 +2992 0.36333 0.49894 +2987 0.31729 0.51343 +2991 0.30647 0.46079 +SURF 0x24 +mat 0 +refs 8 +2987 0.31729 0.51343 +2989 0.35949 0.54078 +2987 0.31729 0.51343 +2988 0.36801 0.53703 +2985 0.32058 0.50477 +2988 0.36801 0.53703 +2984 0.36493 0.50369 +2990 0.43741 0.53752 +SURF 0x24 +mat 0 +refs 22 +2986 0.25002 0.44323 +2985 0.32058 0.50477 +2983 0.28919 0.45885 +2984 0.36493 0.50369 +2983 0.28919 0.45885 +2982 0.36368 0.53990 +2981 0.29301 0.49572 +2980 0.36588 0.55976 +2979 0.29324 0.50992 +2978 0.36830 0.55768 +2977 0.28332 0.50374 +2976 0.36373 0.54149 +2975 0.25214 0.47368 +2974 0.33619 0.56608 +2973 0.20329 0.46550 +2972 0.35275 0.58203 +2971 0.20636 0.46043 +2969 0.36014 0.53910 +2970 0.24186 0.43435 +2969 0.36014 0.53910 +2968 0.29106 0.38546 +2967 0.39234 0.46070 +SURF 0x24 +mat 0 +refs 7 +2963 0.43106 0.38254 +2964 0.41954 0.39931 +2963 0.43106 0.38254 +2959 0.41514 0.39918 +2960 0.42892 0.37881 +2950 0.39218 0.38101 +2961 0.42768 0.37086 +SURF 0x24 +mat 0 +refs 22 +2959 0.41514 0.39918 +2962 0.42568 0.41536 +2950 0.39218 0.38101 +2951 0.40419 0.40133 +2948 0.37258 0.37689 +2952 0.36987 0.38953 +2949 0.23839 0.39179 +2952 0.36987 0.38953 +2954 0.25352 0.41161 +2952 0.36987 0.38953 +2953 0.36741 0.39646 +2951 0.40419 0.40133 +2953 0.36741 0.39646 +2958 0.42330 0.41291 +2955 0.36498 0.40711 +2965 0.45687 0.43103 +2955 0.36498 0.40711 +2966 0.45593 0.46277 +2955 0.36498 0.40711 +2957 0.33068 0.46087 +2954 0.25352 0.41161 +2956 0.20156 0.43661 +SURF 0x24 +mat 0 +refs 4 +2953 0.36741 0.39646 +2955 0.36498 0.40711 +2953 0.36741 0.39646 +2954 0.25352 0.41161 +SURF 0x24 +mat 0 +refs 6 +2948 0.37258 0.37689 +2949 0.23839 0.39179 +2946 0.35729 0.36888 +2945 0.23172 0.38576 +2941 0.34000 0.39207 +2944 0.20744 0.42025 +SURF 0x24 +mat 0 +refs 6 +2947 0.45838 0.38023 +2946 0.35729 0.36888 +2940 0.45857 0.37384 +2941 0.34000 0.39207 +2942 0.45919 0.35285 +2943 0.32623 0.37003 +SURF 0x24 +mat 0 +refs 7 +2938 0.28008 0.46937 +2939 0.28822 0.37610 +2936 0.27115 0.47181 +2934 0.29713 0.37494 +2936 0.27115 0.47181 +2935 0.32203 0.37630 +2937 0.30730 0.43205 +SURF 0x24 +mat 0 +refs 54 +2932 0.67270 0.42046 +2933 0.66626 0.43974 +2925 0.66664 0.41642 +2926 0.65832 0.43563 +2914 0.65013 0.40558 +2922 0.64226 0.42732 +2890 0.63144 0.39650 +2921 0.62320 0.41745 +2890 0.63144 0.39650 +2917 0.60605 0.40857 +2891 0.61530 0.38617 +2918 0.57621 0.39312 +2891 0.61530 0.38617 +2911 0.58744 0.35937 +2892 0.62670 0.35404 +2912 0.60086 0.32976 +2893 0.64012 0.32046 +2913 0.61513 0.30166 +2858 0.64886 0.29963 +2859 0.62793 0.28313 +2852 0.66353 0.29060 +2851 0.64258 0.26649 +2815 0.67974 0.28110 +2850 0.66478 0.24721 +2811 0.71216 0.27437 +2809 0.72184 0.24691 +2810 0.74710 0.28776 +2809 0.72184 0.24691 +2808 0.74275 0.28264 +2807 0.73077 0.23063 +2806 0.74247 0.27873 +2803 0.73955 0.21176 +2804 0.74237 0.27788 +2793 0.74884 0.23586 +2805 0.74193 0.28115 +2793 0.74884 0.23586 +2792 0.74077 0.28799 +2787 0.71202 0.29929 +2796 0.61252 0.30993 +2786 0.69854 0.35353 +2798 0.59961 0.34439 +2797 0.58332 0.39012 +2798 0.59961 0.34439 +2842 0.60351 0.40323 +2812 0.61876 0.36739 +2842 0.60351 0.40323 +2843 0.62458 0.37881 +2863 0.61087 0.41073 +2864 0.63047 0.38750 +2863 0.61087 0.41073 +2865 0.61866 0.42042 +2863 0.61087 0.41073 +2924 0.61010 0.43880 +2923 0.60075 0.43396 +SURF 0x24 +mat 0 +refs 13 +2797 0.58332 0.39012 +2786 0.69854 0.35353 +2794 0.69059 0.39738 +2783 0.70182 0.34418 +2791 0.69993 0.40121 +2780 0.60055 0.30408 +2781 0.60574 0.37041 +2777 0.63262 0.36881 +2782 0.59154 0.42917 +2777 0.63262 0.36881 +2775 0.61383 0.44071 +2776 0.66138 0.36705 +2774 0.63646 0.45243 +SURF 0x24 +mat 0 +refs 24 +2786 0.69854 0.35353 +2787 0.71202 0.29929 +2783 0.70182 0.34418 +2784 0.71779 0.25664 +2780 0.60055 0.30408 +2785 0.72262 0.22651 +2780 0.60055 0.30408 +2790 0.73952 0.21049 +2780 0.60055 0.30408 +2779 0.62946 0.28854 +2777 0.63262 0.36881 +2779 0.62946 0.28854 +2776 0.66138 0.36705 +2778 0.68917 0.24895 +2776 0.66138 0.36705 +2788 0.70087 0.31481 +2789 0.68318 0.38403 +2788 0.70087 0.31481 +2819 0.69815 0.39595 +2820 0.70124 0.32611 +2902 0.69857 0.37384 +2897 0.69064 0.31901 +2903 0.68746 0.32912 +2904 0.69496 0.25385 +SURF 0x24 +mat 0 +refs 12 +2897 0.69064 0.31901 +2820 0.70124 0.32611 +2897 0.69064 0.31901 +2896 0.83841 0.34273 +2899 0.83624 0.34580 +2898 0.84877 0.34384 +2901 0.84707 0.34523 +2900 0.88185 0.34806 +2929 0.88237 0.34876 +2900 0.88185 0.34806 +2930 0.90042 0.34204 +2931 0.90109 0.34186 +SURF 0x24 +mat 0 +refs 4 +2898 0.84877 0.34384 +2896 0.83841 0.34273 +2927 0.85296 0.33268 +2928 0.83843 0.33768 +SURF 0x24 +mat 0 +refs 48 +2919 0.64234 0.42736 +2909 0.65767 0.39183 +2915 0.61797 0.41474 +2908 0.64030 0.38056 +2916 0.62147 0.41655 +2906 0.64252 0.38239 +2920 0.63470 0.42340 +2906 0.64252 0.38239 +2905 0.65636 0.38967 +2876 0.66586 0.35262 +2875 0.67877 0.36042 +2853 0.68910 0.32519 +2875 0.67877 0.36042 +2874 0.69969 0.33415 +2883 0.69464 0.38775 +2857 0.70825 0.36150 +2882 0.59621 0.37664 +2845 0.60751 0.34680 +2878 0.61131 0.39090 +2844 0.62106 0.35678 +2878 0.61131 0.39090 +2877 0.62288 0.39369 +2910 0.60170 0.41743 +2877 0.62288 0.39369 +2907 0.61088 0.42240 +2877 0.62288 0.39369 +2865 0.61866 0.42042 +2877 0.62288 0.39369 +2864 0.63047 0.38750 +2877 0.62288 0.39369 +2839 0.63129 0.36075 +2844 0.62106 0.35678 +2840 0.62442 0.33738 +2845 0.60751 0.34680 +2846 0.61574 0.30508 +2857 0.70825 0.36150 +2835 0.72326 0.31073 +2874 0.69969 0.33415 +2835 0.72326 0.31073 +2853 0.68910 0.32519 +2834 0.72400 0.30478 +2853 0.68910 0.32519 +2832 0.69478 0.30991 +2876 0.66586 0.35262 +2886 0.66265 0.35257 +2876 0.66586 0.35262 +2908 0.64030 0.38056 +2906 0.64252 0.38239 +SURF 0x24 +mat 0 +refs 58 +2908 0.64030 0.38056 +2909 0.65767 0.39183 +2908 0.64030 0.38056 +2885 0.67540 0.36117 +2886 0.66265 0.35257 +2831 0.70499 0.31387 +2832 0.69478 0.30991 +2825 0.73675 0.30597 +2832 0.69478 0.30991 +2833 0.72869 0.30234 +2834 0.72400 0.30478 +2833 0.72869 0.30234 +2822 0.73804 0.29801 +2825 0.73675 0.30597 +2823 0.74261 0.30121 +2818 0.74428 0.30951 +2823 0.74261 0.30121 +2810 0.74710 0.28776 +2823 0.74261 0.30121 +2808 0.74275 0.28264 +2823 0.74261 0.30121 +2806 0.74247 0.27873 +2822 0.73804 0.29801 +2804 0.74237 0.27788 +2821 0.73188 0.29756 +2805 0.74193 0.28115 +2802 0.73276 0.30137 +2805 0.74193 0.28115 +2795 0.73941 0.30695 +2792 0.74077 0.28799 +2795 0.73941 0.30695 +2796 0.61252 0.30993 +2813 0.62623 0.34435 +2798 0.59961 0.34439 +2813 0.62623 0.34435 +2812 0.61876 0.36739 +2813 0.62623 0.34435 +2843 0.62458 0.37881 +2841 0.63168 0.35221 +2843 0.62458 0.37881 +2873 0.63720 0.35734 +2864 0.63047 0.38750 +2873 0.63720 0.35734 +2839 0.63129 0.36075 +2873 0.63720 0.35734 +2838 0.63398 0.33307 +2841 0.63168 0.35221 +2838 0.63398 0.33307 +2813 0.62623 0.34435 +2799 0.63155 0.31785 +2795 0.73941 0.30695 +2800 0.73536 0.32003 +2802 0.73276 0.30137 +2835 0.72326 0.31073 +2802 0.73276 0.30137 +2834 0.72400 0.30478 +2821 0.73188 0.29756 +2822 0.73804 0.29801 +SURF 0x24 +mat 0 +refs 12 +2835 0.72326 0.31073 +2800 0.73536 0.32003 +2846 0.61574 0.30508 +2801 0.62847 0.32396 +2840 0.62442 0.33738 +2801 0.62847 0.32396 +2839 0.63129 0.36075 +2801 0.62847 0.32396 +2838 0.63398 0.33307 +2801 0.62847 0.32396 +2799 0.63155 0.31785 +2800 0.73536 0.32003 +SURF 0x24 +mat 0 +refs 92 +2831 0.70499 0.31387 +2885 0.67540 0.36117 +2831 0.70499 0.31387 +2881 0.58471 0.34123 +2856 0.61220 0.31330 +2881 0.58471 0.34123 +2837 0.62172 0.33272 +2880 0.61010 0.36204 +2836 0.61284 0.33044 +2884 0.60565 0.36194 +2849 0.71077 0.35811 +2879 0.70357 0.38856 +2862 0.68599 0.36358 +2871 0.68075 0.39512 +2870 0.67858 0.35099 +2872 0.67450 0.38498 +2869 0.67149 0.34116 +2872 0.67450 0.38498 +2889 0.65856 0.37503 +2925 0.66664 0.41642 +2889 0.65856 0.37503 +2914 0.65013 0.40558 +2889 0.65856 0.37503 +2890 0.63144 0.39650 +2888 0.63994 0.36587 +2891 0.61530 0.38617 +2888 0.63994 0.36587 +2892 0.62670 0.35404 +2887 0.65126 0.33628 +2893 0.64012 0.32046 +2894 0.66210 0.30444 +2858 0.64886 0.29963 +2895 0.67500 0.29816 +2852 0.66353 0.29060 +2855 0.68960 0.28989 +2815 0.67974 0.28110 +2814 0.71196 0.28789 +2811 0.71216 0.27437 +2814 0.71196 0.28789 +2810 0.74710 0.28776 +2816 0.74093 0.30141 +2818 0.74428 0.30951 +2817 0.74369 0.32120 +2826 0.73992 0.32768 +2817 0.74369 0.32120 +2827 0.74278 0.33372 +2816 0.74093 0.30141 +2828 0.72942 0.31520 +2816 0.74093 0.30141 +2854 0.72110 0.30539 +2814 0.71196 0.28789 +2854 0.72110 0.30539 +2855 0.68960 0.28989 +2866 0.70503 0.29615 +2895 0.67500 0.29816 +2867 0.69162 0.30528 +2894 0.66210 0.30444 +2868 0.68243 0.31633 +2869 0.67149 0.34116 +2868 0.68243 0.31633 +2870 0.67858 0.35099 +2868 0.68243 0.31633 +2861 0.68443 0.32503 +2867 0.69162 0.30528 +2848 0.69830 0.31577 +2867 0.69162 0.30528 +2829 0.71893 0.31283 +2866 0.70503 0.29615 +2829 0.71893 0.31283 +2854 0.72110 0.30539 +2829 0.71893 0.31283 +2828 0.72942 0.31520 +2829 0.71893 0.31283 +2827 0.74278 0.33372 +2830 0.72738 0.33006 +2836 0.61284 0.33044 +2830 0.72738 0.33006 +2849 0.71077 0.35811 +2830 0.72738 0.33006 +2847 0.70577 0.32915 +2829 0.71893 0.31283 +2847 0.70577 0.32915 +2848 0.69830 0.31577 +2860 0.68754 0.33849 +2861 0.68443 0.32503 +2860 0.68754 0.33849 +2870 0.67858 0.35099 +2860 0.68754 0.33849 +2862 0.68599 0.36358 +2860 0.68754 0.33849 +2849 0.71077 0.35811 +2847 0.70577 0.32915 +SURF 0x24 +mat 0 +refs 12 +2836 0.61284 0.33044 +2827 0.74278 0.33372 +2837 0.62172 0.33272 +2826 0.73992 0.32768 +2856 0.61220 0.31330 +2826 0.73992 0.32768 +2831 0.70499 0.31387 +2824 0.74072 0.31590 +2825 0.73675 0.30597 +2824 0.74072 0.31590 +2818 0.74428 0.30951 +2826 0.73992 0.32768 +SURF 0x24 +mat 0 +refs 6 +2887 0.65126 0.33628 +2894 0.66210 0.30444 +2887 0.65126 0.33628 +2869 0.67149 0.34116 +2888 0.63994 0.36587 +2889 0.65856 0.37503 +SURF 0x24 +mat 0 +refs 14 +2772 0.65938 0.28448 +2773 0.72831 0.33061 +2770 0.67796 0.23638 +2771 0.74512 0.28650 +2768 0.69020 0.19972 +2769 0.75420 0.25756 +2766 0.70830 0.16594 +2767 0.76260 0.23657 +2764 0.71541 0.17327 +2765 0.76354 0.22858 +2760 0.70265 0.23031 +2762 0.74382 0.28169 +2761 0.67523 0.33243 +2763 0.72384 0.35245 +SURF 0x24 +mat 0 +refs 30 +2760 0.70265 0.23031 +2761 0.67523 0.33243 +2760 0.70265 0.23031 +2759 0.63500 0.31488 +2758 0.65613 0.18166 +2749 0.61741 0.30386 +2748 0.61033 0.15122 +2749 0.61741 0.30386 +2746 0.60546 0.16468 +2747 0.61259 0.30265 +2744 0.63443 0.13782 +2743 0.64340 0.28764 +2744 0.63443 0.13782 +2740 0.70656 0.19955 +2741 0.67706 0.11771 +2737 0.74861 0.19722 +2736 0.71537 0.10178 +2737 0.74861 0.19722 +2732 0.72544 0.09890 +2733 0.75480 0.20478 +2731 0.71292 0.11378 +2730 0.74000 0.23223 +2729 0.71027 0.16432 +2728 0.71477 0.31168 +2739 0.72375 0.18384 +2738 0.71502 0.36419 +2750 0.74897 0.21484 +2753 0.74760 0.35206 +2754 0.77491 0.22524 +2755 0.75868 0.35740 +SURF 0x24 +mat 0 +refs 6 +2754 0.77491 0.22524 +2756 0.77606 0.14550 +2750 0.74897 0.21484 +2751 0.72053 0.09928 +2739 0.72375 0.18384 +2752 0.66400 0.08098 +SURF 0x24 +mat 0 +refs 12 +2743 0.64340 0.28764 +2757 0.62338 0.41036 +2743 0.64340 0.28764 +2745 0.68576 0.38514 +2740 0.70656 0.19955 +2742 0.72053 0.37429 +2737 0.74861 0.19722 +2742 0.72053 0.37429 +2733 0.75480 0.20478 +2735 0.71029 0.37876 +2730 0.74000 0.23223 +2734 0.70124 0.38602 +SURF 0x24 +mat 0 +refs 51 +2703 0.37206 0.23774 +2702 0.40370 0.24970 +2701 0.37927 0.23899 +2700 0.40370 0.24679 +2693 0.37779 0.23857 +2699 0.40370 0.24814 +2692 0.37861 0.23837 +2697 0.40370 0.24752 +2698 0.38113 0.23750 +2705 0.40370 0.24595 +2706 0.38281 0.23672 +2710 0.40370 0.24386 +2711 0.38366 0.23566 +2715 0.40370 0.24236 +2716 0.38708 0.23459 +2725 0.40370 0.24017 +2726 0.39043 0.23273 +2727 0.40370 0.23820 +2722 0.39588 0.22958 +2721 0.40370 0.23274 +2722 0.39588 0.22958 +2720 0.40370 0.22188 +2722 0.39588 0.22958 +2723 0.38716 0.22188 +2726 0.39043 0.23273 +2724 0.37942 0.22188 +2716 0.38708 0.23459 +2714 0.37606 0.22188 +2711 0.38366 0.23566 +2709 0.37264 0.22188 +2706 0.38281 0.23672 +2704 0.37180 0.22188 +2698 0.38113 0.23750 +2696 0.37012 0.22188 +2692 0.37861 0.23837 +2690 0.36759 0.22188 +2693 0.37779 0.23857 +2690 0.36759 0.22188 +2691 0.36677 0.22188 +2686 0.37861 0.20539 +2684 0.37779 0.20519 +2685 0.40370 0.19829 +2684 0.37779 0.20519 +2681 0.40370 0.19737 +2678 0.37646 0.20477 +2679 0.40370 0.19618 +2676 0.37422 0.20111 +2677 0.40370 0.19376 +2676 0.37422 0.20111 +2672 0.40370 0.19284 +2675 0.37274 0.19321 +SURF 0x24 +mat 0 +refs 30 +2685 0.40370 0.19829 +2686 0.37861 0.20539 +2687 0.40370 0.20021 +2688 0.38113 0.20627 +2689 0.40370 0.20199 +2694 0.38281 0.20704 +2695 0.40370 0.20240 +2707 0.38366 0.20811 +2708 0.40370 0.20391 +2712 0.38708 0.20917 +2713 0.40370 0.20655 +2717 0.39043 0.21104 +2718 0.40370 0.21102 +2719 0.39588 0.21418 +2720 0.40370 0.22188 +2719 0.39588 0.21418 +2723 0.38716 0.22188 +2719 0.39588 0.21418 +2724 0.37942 0.22188 +2717 0.39043 0.21104 +2714 0.37606 0.22188 +2712 0.38708 0.20917 +2709 0.37264 0.22188 +2707 0.38366 0.20811 +2704 0.37180 0.22188 +2694 0.38281 0.20704 +2696 0.37012 0.22188 +2688 0.38113 0.20627 +2690 0.36759 0.22188 +2686 0.37861 0.20539 +SURF 0x24 +mat 0 +refs 15 +2681 0.40370 0.19737 +2683 0.42962 0.20519 +2681 0.40370 0.19737 +2682 0.43095 0.20477 +2679 0.40370 0.19618 +2680 0.43319 0.20111 +2677 0.40370 0.19376 +2680 0.43319 0.20111 +2672 0.40370 0.19284 +2673 0.43466 0.19321 +2671 0.40370 0.19142 +2670 0.44503 0.19229 +2668 0.40370 0.20166 +2669 0.48956 0.20087 +2667 0.50509 0.19331 +SURF 0x24 +mat 0 +refs 4 +2669 0.48956 0.20087 +2670 0.44503 0.19229 +2674 0.46985 0.20440 +2673 0.43466 0.19321 +SURF 0x24 +mat 0 +refs 5 +2664 0.27532 0.25355 +2666 0.39131 0.31104 +2664 0.27532 0.25355 +2665 0.38301 0.32503 +2663 0.22734 0.26581 +SURF 0x24 +mat 0 +refs 12 +2661 0.26487 0.39575 +2662 0.28965 0.23105 +2661 0.26487 0.39575 +2660 0.29861 0.25817 +2659 0.25896 0.43867 +2656 0.31794 0.28270 +2654 0.25981 0.45031 +2655 0.33762 0.29400 +2653 0.27114 0.44176 +2655 0.33762 0.29400 +2658 0.29868 0.41695 +2657 0.36332 0.29784 +SURF 0x24 +mat 0 +refs 5 +2650 0.62048 0.24146 +2652 0.64570 0.16202 +2650 0.62048 0.24146 +2651 0.60695 0.31580 +2649 0.60861 0.33935 +SURF 0x24 +mat 0 +refs 20 +2640 0.42474 0.65049 +2648 0.43008 0.66302 +2640 0.42474 0.65049 +2641 0.45071 0.65899 +2620 0.45463 0.64754 +2631 0.47041 0.66427 +2621 0.47737 0.65487 +2632 0.48473 0.66993 +2633 0.49423 0.66400 +2642 0.48805 0.68039 +2633 0.49423 0.66400 +2643 0.49399 0.67814 +2634 0.50809 0.66237 +2644 0.50206 0.67946 +2635 0.52101 0.66567 +2645 0.50918 0.68366 +2636 0.52806 0.67264 +2646 0.51293 0.68916 +2637 0.52655 0.68062 +2647 0.51209 0.69397 +SURF 0x24 +mat 0 +refs 20 +2611 0.42960 0.63527 +2640 0.42474 0.65049 +2611 0.42960 0.63527 +2620 0.45463 0.64754 +2612 0.46866 0.63707 +2621 0.47737 0.65487 +2622 0.49162 0.64762 +2633 0.49423 0.66400 +2622 0.49162 0.64762 +2634 0.50809 0.66237 +2623 0.50802 0.64517 +2635 0.52101 0.66567 +2624 0.52038 0.64871 +2636 0.52806 0.67264 +2625 0.52372 0.65715 +2637 0.52655 0.68062 +2626 0.51648 0.66719 +2638 0.51705 0.68656 +2627 0.50157 0.67468 +2639 0.50318 0.68819 +SURF 0x24 +mat 0 +refs 21 +2630 0.35468 0.55218 +2629 0.36822 0.47702 +2630 0.35468 0.55218 +2609 0.44280 0.50059 +2607 0.44842 0.61473 +2608 0.50224 0.51826 +2605 0.52099 0.64174 +2606 0.56164 0.53670 +2559 0.55167 0.65080 +2600 0.58756 0.51560 +2559 0.55167 0.65080 +2558 0.54922 0.64190 +2560 0.52786 0.70084 +2558 0.54922 0.64190 +2561 0.52500 0.69199 +2552 0.53406 0.59163 +2511 0.53257 0.62300 +2552 0.53406 0.59163 +2553 0.55881 0.53888 +2554 0.49014 0.47041 +2555 0.52575 0.45331 +SURF 0x24 +mat 0 +refs 10 +2554 0.49014 0.47041 +2552 0.53406 0.59163 +2557 0.50445 0.47082 +2556 0.54634 0.56178 +2602 0.49293 0.41705 +2556 0.54634 0.56178 +2601 0.57452 0.47957 +2556 0.54634 0.56178 +2558 0.54922 0.64190 +2552 0.53406 0.59163 +SURF 0x24 +mat 0 +refs 9 +2601 0.57452 0.47957 +2558 0.54922 0.64190 +2601 0.57452 0.47957 +2600 0.58756 0.51560 +2603 0.52249 0.36497 +2600 0.58756 0.51560 +2604 0.52670 0.37428 +2606 0.56164 0.53670 +2610 0.48864 0.37872 +SURF 0x24 +mat 0 +refs 19 +2628 0.48507 0.67662 +2618 0.47215 0.66886 +2627 0.50157 0.67468 +2617 0.48979 0.66437 +2626 0.51648 0.66719 +2616 0.50636 0.65489 +2625 0.52372 0.65715 +2615 0.51325 0.64407 +2624 0.52038 0.64871 +2614 0.50654 0.63560 +2623 0.50802 0.64517 +2613 0.48810 0.63284 +2622 0.49162 0.64762 +2613 0.48810 0.63284 +2612 0.46866 0.63707 +2565 0.43943 0.62609 +2611 0.42960 0.63527 +2564 0.39851 0.62482 +2619 0.39812 0.64226 +SURF 0x24 +mat 0 +refs 16 +2518 0.40824 0.61393 +2564 0.39851 0.62482 +2518 0.40824 0.61393 +2565 0.43943 0.62609 +2566 0.45190 0.62227 +2613 0.48810 0.63284 +2566 0.45190 0.62227 +2614 0.50654 0.63560 +2567 0.46538 0.62733 +2615 0.51325 0.64407 +2568 0.47072 0.63986 +2616 0.50636 0.65489 +2569 0.46988 0.65456 +2617 0.48979 0.66437 +2570 0.46005 0.66373 +2618 0.47215 0.66886 +SURF 0x24 +mat 0 +refs 15 +2570 0.46005 0.66373 +2551 0.44741 0.65912 +2569 0.46988 0.65456 +2550 0.44467 0.64200 +2568 0.47072 0.63986 +2549 0.43558 0.62467 +2567 0.46538 0.62733 +2517 0.42359 0.61375 +2566 0.45190 0.62227 +2517 0.42359 0.61375 +2518 0.40824 0.61393 +2516 0.40839 0.59852 +2519 0.39012 0.59820 +2562 0.39056 0.55903 +2563 0.39600 0.56356 +SURF 0x24 +mat 0 +refs 126 +2515 0.41198 0.55513 +2562 0.39056 0.55903 +2515 0.41198 0.55513 +2516 0.40839 0.59852 +2513 0.42389 0.59348 +2516 0.40839 0.59852 +2514 0.43589 0.62492 +2517 0.42359 0.61375 +2514 0.43589 0.62492 +2549 0.43558 0.62467 +2514 0.43589 0.62492 +2550 0.44467 0.64200 +2548 0.44020 0.64649 +2551 0.44741 0.65912 +2548 0.44020 0.64649 +2547 0.45041 0.66754 +2495 0.45344 0.64210 +2494 0.46557 0.66966 +2492 0.45167 0.63856 +2491 0.44353 0.65959 +2492 0.45167 0.63856 +2487 0.43088 0.63993 +2488 0.44493 0.60408 +2484 0.43646 0.60993 +2485 0.44398 0.58321 +2483 0.45211 0.54927 +2485 0.44398 0.58321 +2486 0.43730 0.55788 +2485 0.44398 0.58321 +2489 0.43920 0.58263 +2488 0.44493 0.60408 +2493 0.43173 0.59639 +2488 0.44493 0.60408 +2498 0.42787 0.60426 +2492 0.45167 0.63856 +2497 0.44594 0.62608 +2495 0.45344 0.64210 +2496 0.44151 0.62247 +2548 0.44020 0.64649 +2496 0.44151 0.62247 +2514 0.43589 0.62492 +2496 0.44151 0.62247 +2513 0.42389 0.59348 +2496 0.44151 0.62247 +2500 0.43067 0.60189 +2497 0.44594 0.62608 +2499 0.42885 0.60495 +2498 0.42787 0.60426 +2531 0.43702 0.61673 +2498 0.42787 0.60426 +2523 0.44546 0.60671 +2493 0.43173 0.59639 +2520 0.46492 0.59033 +2489 0.43920 0.58263 +2521 0.46241 0.58783 +2522 0.45048 0.58343 +2533 0.45769 0.58969 +2526 0.45191 0.57874 +2536 0.45312 0.58929 +2537 0.46490 0.58720 +2539 0.49214 0.60557 +2538 0.47110 0.58314 +2540 0.50502 0.59364 +2529 0.48171 0.58408 +2571 0.50449 0.59212 +2572 0.47793 0.60528 +2594 0.50581 0.61583 +2596 0.46896 0.62502 +2595 0.51380 0.63303 +2597 0.46232 0.62992 +2588 0.51568 0.64048 +2587 0.50570 0.63434 +2588 0.51568 0.64048 +2586 0.56442 0.63803 +2595 0.51380 0.63303 +2593 0.54972 0.62932 +2594 0.50581 0.61583 +2592 0.53475 0.60379 +2571 0.50449 0.59212 +2592 0.53475 0.60379 +2540 0.50502 0.59364 +2542 0.53239 0.60677 +2539 0.49214 0.60557 +2541 0.51487 0.62266 +2539 0.49214 0.60557 +2574 0.48466 0.60836 +2536 0.45312 0.58929 +2534 0.48457 0.60677 +2533 0.45769 0.58969 +2534 0.48457 0.60677 +2521 0.46241 0.58783 +2535 0.48676 0.59810 +2520 0.46492 0.59033 +2576 0.47639 0.59465 +2520 0.46492 0.59033 +2575 0.45881 0.61081 +2523 0.44546 0.60671 +2579 0.44494 0.62062 +2531 0.43702 0.61673 +2532 0.43778 0.61837 +2499 0.42885 0.60495 +2532 0.43778 0.61837 +2500 0.43067 0.60189 +2530 0.44499 0.61413 +2500 0.43067 0.60189 +2527 0.43209 0.59145 +2513 0.42389 0.59348 +2524 0.43802 0.57883 +2515 0.41198 0.55513 +2524 0.43802 0.57883 +2486 0.43730 0.55788 +2490 0.44149 0.57628 +2489 0.43920 0.58263 +2490 0.44149 0.57628 +2522 0.45048 0.58343 +2490 0.44149 0.57628 +2526 0.45191 0.57874 +2525 0.45871 0.58019 +2537 0.46490 0.58720 +2525 0.45871 0.58019 +2538 0.47110 0.58314 +2525 0.45871 0.58019 +2529 0.48171 0.58408 +2525 0.45871 0.58019 +2524 0.43802 0.57883 +2490 0.44149 0.57628 +SURF 0x24 +mat 0 +refs 26 +2512 0.49153 0.69164 +2511 0.53257 0.62300 +2510 0.52742 0.69658 +2509 0.58010 0.61939 +2510 0.52742 0.69658 +2507 0.60196 0.61812 +2508 0.54740 0.69642 +2505 0.59892 0.60989 +2506 0.54558 0.69380 +2503 0.60571 0.60198 +2504 0.52900 0.69670 +2481 0.62260 0.60500 +2482 0.55066 0.72659 +2479 0.62999 0.62233 +2480 0.56822 0.71175 +2477 0.58640 0.61422 +2478 0.52626 0.70002 +2477 0.58640 0.61422 +2476 0.45155 0.66000 +2475 0.49541 0.57470 +2484 0.43646 0.60993 +2475 0.49541 0.57470 +2483 0.45211 0.54927 +2475 0.49541 0.57470 +2502 0.46074 0.48384 +2501 0.51280 0.44054 +SURF 0x24 +mat 0 +refs 24 +2469 0.45958 0.61816 +2468 0.43695 0.59666 +2470 0.47685 0.57113 +2467 0.45526 0.53904 +2470 0.47685 0.57113 +2471 0.44512 0.54063 +2472 0.47566 0.56853 +2471 0.44512 0.54063 +2474 0.46530 0.59943 +2471 0.44512 0.54063 +2473 0.41541 0.57437 +2463 0.43151 0.52088 +2462 0.39418 0.56645 +2458 0.42403 0.50558 +2459 0.36326 0.52615 +2452 0.42024 0.48474 +2453 0.35510 0.47980 +2452 0.42024 0.48474 +2451 0.35373 0.45676 +2452 0.42024 0.48474 +2447 0.42017 0.47538 +2448 0.45247 0.48444 +2449 0.42510 0.46742 +2450 0.45087 0.47289 +SURF 0x24 +mat 0 +refs 23 +2463 0.43151 0.52088 +2471 0.44512 0.54063 +2463 0.43151 0.52088 +2467 0.45526 0.53904 +2464 0.44472 0.51631 +2468 0.43695 0.59666 +2464 0.44472 0.51631 +2465 0.43592 0.58349 +2464 0.44472 0.51631 +2461 0.44299 0.56495 +2460 0.44289 0.50719 +2456 0.46509 0.53592 +2454 0.44510 0.49347 +2455 0.48178 0.49266 +2454 0.44510 0.49347 +2448 0.45247 0.48444 +2454 0.44510 0.49347 +2452 0.42024 0.48474 +2454 0.44510 0.49347 +2458 0.42403 0.50558 +2460 0.44289 0.50719 +2463 0.43151 0.52088 +2464 0.44472 0.51631 +SURF 0x24 +mat 0 +refs 4 +2455 0.48178 0.49266 +2456 0.46509 0.53592 +2457 0.52212 0.50397 +2466 0.47545 0.61563 +SURF 0x24 +mat 0 +refs 15 +2436 0.46797 0.49030 +2445 0.42797 0.45014 +2436 0.46797 0.49030 +2446 0.41420 0.46474 +2435 0.46636 0.51126 +2443 0.40188 0.48009 +2434 0.45889 0.52693 +2444 0.39325 0.49482 +2433 0.44458 0.53527 +2442 0.37421 0.53486 +2432 0.41630 0.57651 +2437 0.34491 0.58224 +2431 0.39237 0.62931 +2438 0.33048 0.59896 +2439 0.38062 0.64584 +SURF 0x24 +mat 0 +refs 17 +2431 0.39237 0.62931 +2425 0.43241 0.65295 +2432 0.41630 0.57651 +2422 0.45651 0.59974 +2433 0.44458 0.53527 +2426 0.49952 0.55971 +2434 0.45889 0.52693 +2427 0.49506 0.54238 +2435 0.46636 0.51126 +2429 0.49476 0.52911 +2436 0.46797 0.49030 +2429 0.49476 0.52911 +2428 0.49641 0.51520 +2406 0.52574 0.53503 +2428 0.49641 0.51520 +2405 0.53459 0.51652 +2430 0.50330 0.49306 +SURF 0x24 +mat 0 +refs 34 +2403 0.55558 0.53273 +2405 0.53459 0.51652 +2403 0.55558 0.53273 +2406 0.52574 0.53503 +2404 0.54452 0.54377 +2410 0.53551 0.54429 +2411 0.53285 0.54905 +2416 0.49018 0.51392 +2412 0.52207 0.55785 +2413 0.52334 0.56795 +2399 0.53237 0.58279 +2413 0.52334 0.56795 +2415 0.51398 0.55690 +2416 0.49018 0.51392 +2409 0.50280 0.53007 +2416 0.49018 0.51392 +2408 0.52046 0.53276 +2410 0.53551 0.54429 +2408 0.52046 0.53276 +2406 0.52574 0.53503 +2407 0.50253 0.53153 +2429 0.49476 0.52911 +2407 0.50253 0.53153 +2427 0.49506 0.54238 +2414 0.51934 0.57222 +2426 0.49952 0.55971 +2417 0.51705 0.58108 +2422 0.45651 0.59974 +2418 0.48524 0.60470 +2421 0.47135 0.64471 +2418 0.48524 0.60470 +2420 0.48567 0.63475 +2419 0.50223 0.61228 +2423 0.50020 0.63619 +SURF 0x24 +mat 0 +refs 14 +2418 0.48524 0.60470 +2419 0.50223 0.61228 +2418 0.48524 0.60470 +2400 0.53369 0.59661 +2417 0.51705 0.58108 +2400 0.53369 0.59661 +2414 0.51934 0.57222 +2399 0.53237 0.58279 +2414 0.51934 0.57222 +2415 0.51398 0.55690 +2414 0.51934 0.57222 +2409 0.50280 0.53007 +2407 0.50253 0.53153 +2408 0.52046 0.53276 +SURF 0x24 +mat 0 +refs 7 +2422 0.45651 0.59974 +2425 0.43241 0.65295 +2421 0.47135 0.64471 +2424 0.46271 0.66227 +2421 0.47135 0.64471 +2440 0.48039 0.67107 +2441 0.49555 0.66602 +SURF 0x24 +mat 0 +refs 22 +2402 0.57395 0.53320 +2403 0.55558 0.53273 +2401 0.54707 0.55903 +2404 0.54452 0.54377 +2401 0.54707 0.55903 +2411 0.53285 0.54905 +2401 0.54707 0.55903 +2412 0.52207 0.55785 +2397 0.53008 0.57315 +2399 0.53237 0.58279 +2397 0.53008 0.57315 +2400 0.53369 0.59661 +2397 0.53008 0.57315 +2398 0.53414 0.58956 +2394 0.55979 0.59041 +2393 0.54991 0.60456 +2394 0.55979 0.59041 +2388 0.56261 0.62664 +2390 0.57964 0.60294 +2389 0.57829 0.63353 +2391 0.61488 0.60121 +2392 0.63624 0.60194 +SURF 0x24 +mat 0 +refs 6 +2390 0.57964 0.60294 +2396 0.60298 0.58705 +2394 0.55979 0.59041 +2395 0.57320 0.57225 +2397 0.53008 0.57315 +2401 0.54707 0.55903 +SURF 0x24 +mat 0 +refs 28 +2378 0.58206 0.37475 +2373 0.58964 0.35757 +2377 0.59699 0.38248 +2376 0.61088 0.36022 +2379 0.59878 0.38340 +2380 0.61757 0.35305 +2384 0.57076 0.36890 +2382 0.58882 0.33605 +2386 0.54805 0.35714 +2382 0.58882 0.33605 +2385 0.56338 0.32162 +2382 0.58882 0.33605 +2387 0.58111 0.29096 +2382 0.58882 0.33605 +2383 0.49042 0.27101 +2382 0.58882 0.33605 +2381 0.51581 0.29183 +2380 0.61757 0.35305 +2375 0.51136 0.29172 +2376 0.61088 0.36022 +2375 0.51136 0.29172 +2373 0.58964 0.35757 +2374 0.60928 0.31835 +2373 0.58964 0.35757 +2372 0.58645 0.32490 +2371 0.57841 0.35024 +2370 0.58021 0.31476 +2369 0.57235 0.34620 +SURF 0x24 +mat 0 +refs 8 +2367 0.23585 0.46758 +2368 0.24081 0.51436 +2367 0.23585 0.46758 +2364 0.21832 0.52335 +2363 0.21063 0.47673 +2364 0.21832 0.52335 +2365 0.21737 0.47574 +2366 0.23032 0.51385 +SURF 0x24 +mat 0 +refs 11 +2361 0.65014 0.45137 +2362 0.66137 0.43109 +2361 0.65014 0.45137 +2354 0.63973 0.39693 +2357 0.62734 0.42122 +2354 0.63973 0.39693 +2356 0.59632 0.37378 +2355 0.62088 0.36054 +2356 0.59632 0.37378 +2358 0.60086 0.31634 +2360 0.57408 0.33196 +SURF 0x24 +mat 0 +refs 7 +2359 0.65305 0.28591 +2358 0.60086 0.31634 +2359 0.65305 0.28591 +2355 0.62088 0.36054 +2353 0.66597 0.31906 +2354 0.63973 0.39693 +2352 0.68085 0.34796 +SURF 0x24 +mat 0 +refs 10 +2351 0.58656 0.27774 +2350 0.54544 0.32671 +2351 0.58656 0.27774 +2345 0.56708 0.36087 +2344 0.60223 0.30509 +2345 0.56708 0.36087 +2346 0.61595 0.32296 +2347 0.59297 0.39019 +2348 0.51505 0.30674 +2349 0.49388 0.37822 +SURF 0x24 +mat 0 +refs 5 +2341 0.54432 0.38043 +2343 0.59519 0.32231 +2341 0.54432 0.38043 +2342 0.53819 0.32488 +2340 0.51177 0.38241 +SURF 0x24 +mat 0 +refs 17 +2334 0.54041 0.35319 +2330 0.56207 0.31945 +2335 0.57036 0.36869 +2331 0.58370 0.34445 +2336 0.59736 0.38267 +2332 0.60783 0.36480 +2337 0.61749 0.39309 +2332 0.60783 0.36480 +2338 0.50741 0.34721 +2332 0.60783 0.36480 +2339 0.51702 0.32068 +2332 0.60783 0.36480 +2333 0.50192 0.30643 +2331 0.58370 0.34445 +2329 0.60035 0.31753 +2330 0.56207 0.31945 +2328 0.58448 0.29021 +SURF 0x24 +mat 0 +refs 17 +2327 0.76529 0.33357 +2324 0.75011 0.33062 +2326 0.75736 0.25431 +2320 0.72220 0.23672 +2325 0.76469 0.18684 +2320 0.72220 0.23672 +2321 0.69588 0.13174 +2318 0.69128 0.24902 +2319 0.64156 0.15456 +2318 0.69128 0.24902 +2316 0.61887 0.23054 +2317 0.64323 0.28873 +2316 0.61887 0.23054 +2313 0.62633 0.30476 +2316 0.61887 0.23054 +2314 0.60086 0.23968 +2315 0.58804 0.21498 +SURF 0x24 +mat 0 +refs 13 +2313 0.62633 0.30476 +2312 0.62149 0.33488 +2314 0.60086 0.23968 +2309 0.63413 0.26649 +2314 0.60086 0.23968 +2308 0.61700 0.24333 +2307 0.58577 0.21941 +2308 0.61700 0.24333 +2304 0.57181 0.26966 +2306 0.64325 0.29000 +2304 0.57181 0.26966 +2305 0.63448 0.30887 +2303 0.62554 0.32515 +SURF 0x24 +mat 0 +refs 7 +2306 0.64325 0.29000 +2308 0.61700 0.24333 +2306 0.64325 0.29000 +2309 0.63413 0.26649 +2310 0.65255 0.31410 +2312 0.62149 0.33488 +2311 0.61572 0.37753 +SURF 0x24 +mat 0 +refs 7 +2322 0.64952 0.39888 +2317 0.64323 0.28873 +2322 0.64952 0.39888 +2318 0.69128 0.24902 +2323 0.70924 0.35929 +2320 0.72220 0.23672 +2324 0.75011 0.33062 +SURF 0x24 +mat 0 +refs 5 +2300 0.60606 0.45263 +2302 0.63248 0.39509 +2300 0.60606 0.45263 +2301 0.60934 0.37695 +2299 0.58817 0.44844 +SURF 0x24 +mat 0 +refs 5 +2296 0.28163 0.54352 +2298 0.26377 0.51878 +2296 0.28163 0.54352 +2297 0.25570 0.45867 +2295 0.23499 0.51988 +SURF 0x24 +mat 0 +refs 18 +2294 0.57323 0.48753 +2293 0.59496 0.51782 +2294 0.57323 0.48753 +2291 0.61178 0.49385 +2290 0.56927 0.45516 +2291 0.61178 0.49385 +2288 0.61765 0.43570 +2285 0.63067 0.46649 +2289 0.59583 0.42296 +2285 0.63067 0.46649 +2283 0.62180 0.43296 +2284 0.64306 0.49185 +2283 0.62180 0.43296 +2282 0.64639 0.45673 +2283 0.62180 0.43296 +2287 0.65016 0.43569 +2286 0.60291 0.40405 +2292 0.67590 0.37306 +SURF 0x24 +mat 0 +refs 24 +2280 0.35794 0.33174 +2281 0.32745 0.39458 +2278 0.37824 0.34462 +2279 0.34433 0.40508 +2274 0.38104 0.34637 +2275 0.33116 0.42107 +2268 0.38866 0.35121 +2269 0.33644 0.42801 +2268 0.38866 0.35121 +2267 0.35679 0.44093 +2266 0.40688 0.36276 +2263 0.37679 0.45031 +2261 0.42782 0.37605 +2262 0.43033 0.46573 +2260 0.47139 0.40368 +2265 0.47402 0.47325 +2264 0.50346 0.42402 +2265 0.47402 0.47325 +2270 0.51515 0.43143 +2271 0.49052 0.47759 +2272 0.53463 0.44379 +2273 0.50864 0.48530 +2276 0.55332 0.45564 +2277 0.52641 0.49462 +SURF 0x24 +mat 0 +refs 14 +2258 0.51145 0.30020 +2259 0.49725 0.35896 +2258 0.51145 0.30020 +2256 0.59331 0.38055 +2257 0.60563 0.33099 +2256 0.59331 0.38055 +2255 0.59630 0.32717 +2254 0.58036 0.37385 +2253 0.48903 0.31991 +2252 0.59188 0.37981 +2251 0.50922 0.33301 +2250 0.61311 0.39080 +2249 0.51658 0.34051 +2248 0.50646 0.36375 +SURF 0x24 +mat 0 +refs 29 +2246 0.51223 0.48035 +2247 0.52471 0.48525 +2246 0.51223 0.48035 +2239 0.52078 0.50361 +2238 0.50984 0.50054 +2222 0.50138 0.51903 +2238 0.50984 0.50054 +2223 0.49420 0.51785 +2237 0.50122 0.49813 +2236 0.47473 0.51451 +2244 0.48382 0.49325 +2211 0.45487 0.50839 +2245 0.46315 0.48745 +2211 0.45487 0.50839 +2243 0.44455 0.48224 +2210 0.43603 0.50493 +2242 0.41219 0.47317 +2210 0.43603 0.50493 +2231 0.39737 0.50551 +2209 0.42243 0.53619 +2230 0.38698 0.53631 +2212 0.40933 0.56990 +2233 0.37823 0.56659 +2213 0.40150 0.59109 +2232 0.37495 0.58887 +2215 0.40607 0.60769 +2234 0.37430 0.61102 +2217 0.41143 0.62571 +2235 0.37737 0.64027 +SURF 0x24 +mat 0 +refs 65 +2172 0.57914 0.51995 +2127 0.54381 0.58534 +2126 0.55497 0.51318 +2125 0.52504 0.56607 +2124 0.53297 0.50701 +2125 0.52504 0.56607 +2122 0.50897 0.54967 +2123 0.47619 0.61079 +2122 0.50897 0.54967 +2119 0.47062 0.59466 +2122 0.50897 0.54967 +2129 0.49863 0.54813 +2124 0.53297 0.50701 +2129 0.49863 0.54813 +2152 0.51893 0.50307 +2144 0.52181 0.53627 +2151 0.53142 0.50657 +2137 0.54601 0.54035 +2149 0.55444 0.51303 +2106 0.55651 0.53989 +2107 0.56497 0.51600 +2106 0.55651 0.53989 +2095 0.57510 0.51884 +2099 0.56881 0.53812 +2100 0.56448 0.53136 +2120 0.55366 0.56054 +2101 0.55438 0.52874 +2133 0.54330 0.55469 +2102 0.53282 0.52847 +2138 0.52254 0.55480 +2104 0.50130 0.52688 +2130 0.49510 0.55792 +2131 0.46843 0.53039 +2132 0.46485 0.56706 +2155 0.45009 0.56396 +2156 0.44836 0.59986 +2159 0.44209 0.61492 +2177 0.45995 0.63859 +2173 0.46172 0.64358 +2164 0.46559 0.65313 +2173 0.46172 0.64358 +2168 0.47008 0.64643 +2159 0.44209 0.61492 +2174 0.45225 0.61898 +2159 0.44209 0.61492 +2158 0.44771 0.56180 +2155 0.45009 0.56396 +2176 0.45048 0.52609 +2155 0.45009 0.56396 +2153 0.45335 0.52626 +2131 0.46843 0.53039 +2150 0.47562 0.49095 +2131 0.46843 0.53039 +2105 0.50809 0.50005 +2104 0.50130 0.52688 +2103 0.53736 0.50826 +2102 0.53282 0.52847 +2097 0.55919 0.51438 +2101 0.55438 0.52874 +2093 0.56862 0.51702 +2100 0.56448 0.53136 +2093 0.56862 0.51702 +2095 0.57510 0.51884 +2094 0.57254 0.50262 +2096 0.57975 0.49911 +SURF 0x24 +mat 0 +refs 4 +2094 0.57254 0.50262 +2093 0.56862 0.51702 +2098 0.56254 0.49961 +2097 0.55919 0.51438 +SURF 0x24 +mat 0 +refs 107 +2150 0.47562 0.49095 +2153 0.45335 0.52626 +2154 0.46127 0.48692 +2176 0.45048 0.52609 +2184 0.45748 0.48586 +2185 0.47086 0.52970 +2186 0.48390 0.49327 +2221 0.49931 0.53651 +2220 0.50853 0.50017 +2226 0.53193 0.54370 +2241 0.53890 0.50869 +2227 0.53193 0.53390 +2240 0.53697 0.50815 +2229 0.51459 0.52134 +2239 0.52078 0.50361 +2229 0.51459 0.52134 +2222 0.50138 0.51903 +2198 0.48998 0.54304 +2222 0.50138 0.51903 +2197 0.47849 0.54620 +2223 0.49420 0.51785 +2206 0.46005 0.54260 +2236 0.47473 0.51451 +2206 0.46005 0.54260 +2211 0.45487 0.50839 +2207 0.44019 0.53658 +2210 0.43603 0.50493 +2207 0.44019 0.53658 +2209 0.42243 0.53619 +2208 0.42827 0.56593 +2212 0.40933 0.56990 +2214 0.41446 0.59661 +2213 0.40150 0.59109 +2216 0.41961 0.61000 +2215 0.40607 0.60769 +2218 0.42464 0.62601 +2217 0.41143 0.62571 +2188 0.43962 0.64272 +2219 0.43054 0.65275 +2188 0.43962 0.64272 +2178 0.46522 0.66680 +2179 0.47002 0.65261 +2167 0.47799 0.64898 +2171 0.48554 0.64003 +2170 0.48721 0.63272 +2171 0.48554 0.64003 +2180 0.49342 0.63026 +2179 0.47002 0.65261 +2181 0.47102 0.63468 +2179 0.47002 0.65261 +2187 0.45825 0.63618 +2188 0.43962 0.64272 +2187 0.45825 0.63618 +2218 0.42464 0.62601 +2189 0.44020 0.63196 +2216 0.41961 0.61000 +2192 0.43662 0.61614 +2214 0.41446 0.59661 +2194 0.43744 0.60178 +2214 0.41446 0.59661 +2196 0.44639 0.57617 +2208 0.42827 0.56593 +2196 0.44639 0.57617 +2207 0.44019 0.53658 +2196 0.44639 0.57617 +2206 0.46005 0.54260 +2196 0.44639 0.57617 +2197 0.47849 0.54620 +2195 0.45828 0.57383 +2198 0.48998 0.54304 +2199 0.47229 0.56968 +2198 0.48998 0.54304 +2201 0.50218 0.56341 +2229 0.51459 0.52134 +2205 0.51940 0.57199 +2227 0.53193 0.53390 +2205 0.51940 0.57199 +2226 0.53193 0.54370 +2203 0.52273 0.57495 +2221 0.49931 0.53651 +2202 0.48996 0.57284 +2221 0.49931 0.53651 +2175 0.46290 0.56421 +2185 0.47086 0.52970 +2175 0.46290 0.56421 +2176 0.45048 0.52609 +2175 0.46290 0.56421 +2158 0.44771 0.56180 +2175 0.46290 0.56421 +2174 0.45225 0.61898 +2202 0.48996 0.57284 +2182 0.49100 0.61202 +2202 0.48996 0.57284 +2183 0.51120 0.60432 +2203 0.52273 0.57495 +2204 0.50316 0.59992 +2205 0.51940 0.57199 +2200 0.48667 0.59058 +2201 0.50218 0.56341 +2200 0.48667 0.59058 +2199 0.47229 0.56968 +2224 0.45630 0.58908 +2195 0.45828 0.57383 +2193 0.44484 0.59679 +2195 0.45828 0.57383 +2194 0.43744 0.60178 +2196 0.44639 0.57617 +SURF 0x24 +mat 0 +refs 21 +2192 0.43662 0.61614 +2194 0.43744 0.60178 +2192 0.43662 0.61614 +2193 0.44484 0.59679 +2191 0.44866 0.61303 +2224 0.45630 0.58908 +2228 0.46325 0.60834 +2200 0.48667 0.59058 +2225 0.47967 0.62243 +2204 0.50316 0.59992 +2180 0.49342 0.63026 +2183 0.51120 0.60432 +2170 0.48721 0.63272 +2182 0.49100 0.61202 +2170 0.48721 0.63272 +2174 0.45225 0.61898 +2169 0.47976 0.64187 +2168 0.47008 0.64643 +2169 0.47976 0.64187 +2167 0.47799 0.64898 +2170 0.48721 0.63272 +SURF 0x24 +mat 0 +refs 47 +2118 0.42256 0.66955 +2117 0.44744 0.63444 +2119 0.47062 0.59466 +2116 0.47461 0.58559 +2129 0.49863 0.54813 +2116 0.47461 0.58559 +2144 0.52181 0.53627 +2115 0.50301 0.58070 +2137 0.54601 0.54035 +2112 0.53271 0.57695 +2137 0.54601 0.54035 +2109 0.54475 0.57258 +2106 0.55651 0.53989 +2108 0.55499 0.57025 +2099 0.56881 0.53812 +2108 0.55499 0.57025 +2120 0.55366 0.56054 +2121 0.53733 0.59036 +2120 0.55366 0.56054 +2135 0.52715 0.58628 +2133 0.54330 0.55469 +2140 0.51043 0.58433 +2138 0.52254 0.55480 +2146 0.48714 0.58639 +2130 0.49510 0.55792 +2157 0.46222 0.60054 +2132 0.46485 0.56706 +2157 0.46222 0.60054 +2156 0.44836 0.59986 +2145 0.46347 0.63374 +2177 0.45995 0.63859 +2147 0.46402 0.64707 +2177 0.45995 0.63859 +2161 0.46078 0.64925 +2164 0.46559 0.65313 +2162 0.45502 0.67080 +2164 0.46559 0.65313 +2163 0.45567 0.67024 +2165 0.47111 0.65390 +2166 0.45855 0.66757 +2165 0.47111 0.65390 +2178 0.46522 0.66680 +2165 0.47111 0.65390 +2167 0.47799 0.64898 +2165 0.47111 0.65390 +2168 0.47008 0.64643 +2164 0.46559 0.65313 +SURF 0x24 +mat 0 +refs 31 +2162 0.45502 0.67080 +2161 0.46078 0.64925 +2160 0.45693 0.66810 +2147 0.46402 0.64707 +2160 0.45693 0.66810 +2142 0.47269 0.64752 +2148 0.46075 0.66231 +2114 0.48894 0.61470 +2117 0.44744 0.63444 +2114 0.48894 0.61470 +2116 0.47461 0.58559 +2114 0.48894 0.61470 +2115 0.50301 0.58070 +2113 0.52244 0.59890 +2112 0.53271 0.57695 +2113 0.52244 0.59890 +2109 0.54475 0.57258 +2111 0.53179 0.59686 +2110 0.53932 0.59688 +2128 0.52041 0.61243 +2121 0.53733 0.59036 +2136 0.51016 0.61532 +2121 0.53733 0.59036 +2134 0.51636 0.60275 +2135 0.52715 0.58628 +2134 0.51636 0.60275 +2140 0.51043 0.58433 +2139 0.48797 0.62044 +2146 0.48714 0.58639 +2145 0.46347 0.63374 +2157 0.46222 0.60054 +SURF 0x24 +mat 0 +refs 12 +2134 0.51636 0.60275 +2136 0.51016 0.61532 +2139 0.48797 0.62044 +2141 0.47865 0.63520 +2145 0.46347 0.63374 +2141 0.47865 0.63520 +2147 0.46402 0.64707 +2141 0.47865 0.63520 +2142 0.47269 0.64752 +2141 0.47865 0.63520 +2143 0.50824 0.62189 +2136 0.51016 0.61532 +SURF 0x24 +mat 0 +refs 4 +2143 0.50824 0.62189 +2113 0.52244 0.59890 +2142 0.47269 0.64752 +2114 0.48894 0.61470 +SURF 0x24 +mat 0 +refs 4 +2121 0.53733 0.59036 +2108 0.55499 0.57025 +2110 0.53932 0.59688 +2109 0.54475 0.57258 +SURF 0x24 +mat 0 +refs 17 +2089 0.31738 0.47678 +2088 0.31388 0.47719 +2081 0.32295 0.46827 +2087 0.31051 0.47938 +2081 0.32295 0.46827 +2086 0.30890 0.48221 +2081 0.32295 0.46827 +2085 0.30962 0.48467 +2081 0.32295 0.46827 +2084 0.31225 0.48592 +2081 0.32295 0.46827 +2083 0.31585 0.48533 +2081 0.32295 0.46827 +2082 0.31890 0.48340 +2081 0.32295 0.46827 +2079 0.32034 0.48086 +2080 0.31976 0.47831 +SURF 0x24 +mat 0 +refs 17 +2078 0.31732 0.56333 +2077 0.33044 0.56976 +2078 0.31732 0.56333 +2075 0.32941 0.58318 +2076 0.32077 0.56847 +2072 0.32774 0.59621 +2073 0.32532 0.58125 +2067 0.32375 0.61075 +2073 0.32532 0.58125 +2068 0.32451 0.59832 +2074 0.33145 0.57290 +2068 0.32451 0.59832 +2069 0.33169 0.59330 +2063 0.32201 0.60931 +2065 0.33010 0.60861 +2064 0.31572 0.61496 +2066 0.32093 0.61463 +SURF 0x24 +mat 0 +refs 10 +2062 0.31129 0.62076 +2064 0.31572 0.61496 +2062 0.31129 0.62076 +2063 0.32201 0.60931 +2061 0.31720 0.61798 +2068 0.32451 0.59832 +2061 0.31720 0.61798 +2067 0.32375 0.61075 +2071 0.31751 0.63131 +2070 0.33008 0.62611 +SURF 0x24 +mat 0 +refs 5 +2058 0.31914 0.50286 +2060 0.31355 0.50397 +2058 0.31914 0.50286 +2059 0.32571 0.49684 +2057 0.33635 0.49334 +SURF 0x24 +mat 0 +refs 10 +2055 0.37468 0.52044 +2056 0.35291 0.48853 +2053 0.36959 0.52473 +2054 0.35035 0.48992 +2049 0.36471 0.52438 +2050 0.34794 0.48906 +2046 0.36180 0.51949 +2051 0.34660 0.48609 +2048 0.36193 0.51160 +2052 0.34681 0.48207 +SURF 0x24 +mat 0 +refs 5 +2046 0.36180 0.51949 +2048 0.36193 0.51160 +2046 0.36180 0.51949 +2047 0.36956 0.51494 +2045 0.37259 0.52856 +SURF 0x24 +mat 0 +refs 17 +2043 0.18822 0.50796 +2042 0.17809 0.54524 +2041 0.19176 0.50710 +2040 0.18604 0.54299 +2039 0.19465 0.50495 +2038 0.19256 0.53806 +2037 0.19589 0.50230 +2036 0.19504 0.53221 +2035 0.19512 0.49980 +2034 0.19210 0.52789 +2033 0.19263 0.49846 +2032 0.18485 0.52704 +2044 0.18917 0.49914 +2032 0.18485 0.52704 +2030 0.17653 0.52980 +2031 0.19026 0.53071 +2029 0.17895 0.53778 +SURF 0x24 +mat 0 +refs 5 +2026 0.31470 0.60118 +2028 0.32784 0.60474 +2026 0.31470 0.60118 +2027 0.33154 0.58534 +2025 0.31386 0.59065 +SURF 0x24 +mat 0 +refs 17 +2024 0.51445 0.23334 +2023 0.47992 0.27039 +2022 0.54353 0.24195 +2021 0.49625 0.27487 +2020 0.56465 0.25001 +2014 0.52267 0.28289 +2018 0.57266 0.25082 +2015 0.53193 0.28537 +2019 0.51924 0.23196 +2015 0.53193 0.28537 +2017 0.49141 0.26691 +2015 0.53193 0.28537 +2016 0.44824 0.32132 +2015 0.53193 0.28537 +2013 0.47485 0.33140 +2014 0.52267 0.28289 +2012 0.46566 0.32437 +SURF 0x24 +mat 0 +refs 20 +2010 0.54544 0.41939 +2011 0.60246 0.37791 +2010 0.54544 0.41939 +2008 0.57603 0.36990 +2009 0.53448 0.41106 +2008 0.57603 0.36990 +2000 0.52656 0.40318 +1999 0.55970 0.36541 +1996 0.51487 0.35106 +2004 0.59423 0.32836 +1996 0.51487 0.35106 +2002 0.54985 0.31226 +1995 0.48341 0.32954 +2002 0.54985 0.31226 +2001 0.50306 0.28913 +2006 0.59486 0.24259 +2001 0.50306 0.28913 +2005 0.53887 0.22376 +2003 0.44947 0.25248 +2007 0.46321 0.19024 +SURF 0x24 +mat 0 +refs 8 +2001 0.50306 0.28913 +2003 0.44947 0.25248 +2001 0.50306 0.28913 +1998 0.44824 0.30571 +1995 0.48341 0.32954 +1998 0.44824 0.30571 +1993 0.46628 0.37158 +1997 0.45191 0.36750 +SURF 0x24 +mat 0 +refs 6 +1995 0.48341 0.32954 +1993 0.46628 0.37158 +1995 0.48341 0.32954 +1994 0.49218 0.38176 +1996 0.51487 0.35106 +2000 0.52656 0.40318 +SURF 0x24 +mat 0 +refs 17 +1992 0.48094 0.19855 +1991 0.54718 0.25921 +1992 0.48094 0.19855 +1989 0.52795 0.30814 +1990 0.46845 0.26258 +1984 0.51473 0.34544 +1986 0.46254 0.30969 +1984 0.51473 0.34544 +1987 0.45456 0.37664 +1984 0.51473 0.34544 +1985 0.49479 0.39897 +1984 0.51473 0.34544 +1983 0.52802 0.41635 +1984 0.51473 0.34544 +1982 0.57119 0.36193 +1989 0.52795 0.30814 +1988 0.59902 0.32698 +SURF 0x24 +mat 0 +refs 5 +1979 0.37907 0.40751 +1981 0.42981 0.31360 +1979 0.37907 0.40751 +1980 0.47082 0.35612 +1978 0.41631 0.47629 +SURF 0x24 +mat 0 +refs 5 +1975 0.69258 0.46949 +1977 0.67697 0.41316 +1975 0.69258 0.46949 +1976 0.63295 0.46408 +1974 0.60971 0.56421 +SURF 0x24 +mat 0 +refs 96 +1960 0.39785 0.26170 +1973 0.37261 0.25144 +1960 0.39785 0.26170 +1965 0.38595 0.22050 +1961 0.40740 0.24119 +1962 0.42238 0.21707 +1947 0.43145 0.22451 +1962 0.42238 0.21707 +1963 0.46138 0.18554 +1971 0.44686 0.16721 +1972 0.46549 0.17878 +1971 0.44686 0.16721 +1958 0.45064 0.16251 +1968 0.43399 0.13622 +1958 0.45064 0.16251 +1957 0.43831 0.13144 +1956 0.45286 0.16622 +1955 0.43859 0.13963 +1932 0.43850 0.20224 +1953 0.41842 0.18460 +1940 0.40810 0.20552 +1942 0.37815 0.18704 +1940 0.40810 0.20552 +1941 0.36790 0.20791 +1940 0.40810 0.20552 +1939 0.40076 0.22039 +1930 0.42136 0.23681 +1959 0.37318 0.27029 +1930 0.42136 0.23681 +1931 0.39940 0.27389 +1918 0.44041 0.25154 +1931 0.39940 0.27389 +1920 0.42124 0.27992 +1938 0.39127 0.28798 +1923 0.41219 0.29271 +1946 0.38774 0.29238 +1945 0.40652 0.29681 +1946 0.38774 0.29238 +1949 0.41016 0.26584 +1960 0.39785 0.26170 +1949 0.41016 0.26584 +1961 0.40740 0.24119 +1948 0.41932 0.24746 +1947 0.43145 0.22451 +1948 0.41932 0.24746 +1928 0.46391 0.24259 +1948 0.41932 0.24746 +1936 0.45241 0.26326 +1949 0.41016 0.26584 +1950 0.44246 0.28003 +1945 0.40652 0.29681 +1944 0.43410 0.30664 +1923 0.41219 0.29271 +1924 0.44000 0.30492 +1920 0.42124 0.27992 +1921 0.44717 0.29297 +1918 0.44041 0.25154 +1914 0.46363 0.26773 +1918 0.44041 0.25154 +1919 0.44968 0.23419 +1930 0.42136 0.23681 +1933 0.42613 0.21803 +1940 0.40810 0.20552 +1933 0.42613 0.21803 +1932 0.43850 0.20224 +1933 0.42613 0.21803 +1922 0.45877 0.21540 +1919 0.44968 0.23419 +1911 0.47392 0.24920 +1914 0.46363 0.26773 +1912 0.55821 0.30953 +1914 0.46363 0.26773 +1913 0.53944 0.34600 +1921 0.44717 0.29297 +1926 0.52776 0.37424 +1924 0.44000 0.30492 +1937 0.52525 0.37972 +1944 0.43410 0.30664 +1943 0.53552 0.36112 +1944 0.43410 0.30664 +1951 0.54565 0.34624 +1950 0.44246 0.28003 +1934 0.55900 0.32572 +1936 0.45241 0.26326 +1927 0.57071 0.29293 +1928 0.46391 0.24259 +1915 0.57530 0.27822 +1916 0.48344 0.20717 +1902 0.58147 0.26285 +1909 0.48944 0.19937 +1903 0.58469 0.25384 +1908 0.49232 0.20013 +1906 0.57441 0.27342 +1910 0.48242 0.22892 +1911 0.47392 0.24920 +1922 0.45877 0.21540 +SURF 0x24 +mat 0 +refs 6 +1906 0.57441 0.27342 +1911 0.47392 0.24920 +1906 0.57441 0.27342 +1912 0.55821 0.30953 +1907 0.60874 0.29719 +1925 0.59291 0.33118 +SURF 0x24 +mat 0 +refs 14 +1906 0.57441 0.27342 +1907 0.60874 0.29719 +1903 0.58469 0.25384 +1905 0.62376 0.27301 +1903 0.58469 0.25384 +1904 0.62073 0.28418 +1902 0.58147 0.26285 +1917 0.61709 0.29746 +1915 0.57530 0.27822 +1929 0.61558 0.30853 +1927 0.57071 0.29293 +1929 0.61558 0.30853 +1934 0.55900 0.32572 +1935 0.60129 0.34643 +SURF 0x24 +mat 0 +refs 20 +1952 0.39130 0.16024 +1942 0.37815 0.18704 +1952 0.39130 0.16024 +1953 0.41842 0.18460 +1954 0.41570 0.11080 +1955 0.43859 0.13963 +1970 0.41719 0.10751 +1957 0.43831 0.13144 +1969 0.40941 0.12361 +1968 0.43399 0.13622 +1966 0.38423 0.17465 +1964 0.40472 0.18867 +1967 0.36860 0.20650 +1964 0.40472 0.18867 +1965 0.38595 0.22050 +1964 0.40472 0.18867 +1962 0.42238 0.21707 +1964 0.40472 0.18867 +1971 0.44686 0.16721 +1968 0.43399 0.13622 +SURF 0x24 +mat 0 +refs 16 +1900 0.48568 0.25721 +1901 0.44874 0.23966 +1900 0.48568 0.25721 +1899 0.43425 0.27804 +1898 0.47223 0.30121 +1899 0.43425 0.27804 +1897 0.46767 0.32878 +1896 0.42587 0.30742 +1895 0.46723 0.32948 +1894 0.42401 0.31315 +1893 0.47666 0.30962 +1892 0.43208 0.29349 +1888 0.48417 0.29671 +1889 0.44045 0.27757 +1890 0.49575 0.27140 +1891 0.45137 0.25565 +SURF 0x24 +mat 0 +refs 5 +1885 0.43794 0.25067 +1887 0.47558 0.24188 +1885 0.43794 0.25067 +1886 0.58975 0.37322 +1884 0.52757 0.37208 +SURF 0x24 +mat 0 +refs 6 +1873 0.37551 0.36171 +1872 0.37026 0.32492 +1871 0.41552 0.35583 +1870 0.41940 0.32518 +1869 0.42536 0.35589 +1864 0.42726 0.32435 +SURF 0x24 +mat 0 +refs 7 +1867 0.39759 0.36818 +1868 0.42650 0.35864 +1867 0.39759 0.36818 +1862 0.42592 0.32913 +1866 0.39404 0.34116 +1861 0.42962 0.30670 +1865 0.39225 0.31706 +SURF 0x24 +mat 0 +refs 4 +1861 0.42962 0.30670 +1862 0.42592 0.32913 +1863 0.43124 0.30269 +1864 0.42726 0.32435 +SURF 0x24 +mat 0 +refs 5 +1858 0.48353 0.35768 +1860 0.42083 0.24156 +1858 0.48353 0.35768 +1859 0.47186 0.23409 +1857 0.54497 0.36610 +SURF 0x24 +mat 0 +refs 5 +1856 0.57534 0.27210 +1855 0.55782 0.27565 +1846 0.57183 0.27291 +1847 0.48840 0.28914 +1845 0.51769 0.28340 +SURF 0x24 +mat 0 +refs 30 +1854 0.50195 0.28648 +1853 0.46713 0.29331 +1855 0.55782 0.27565 +1851 0.39406 0.30763 +1847 0.48840 0.28914 +1849 0.40846 0.30481 +1848 0.46558 0.29361 +1849 0.40846 0.30481 +1883 0.47553 0.32732 +1849 0.40846 0.30481 +1882 0.41912 0.33556 +1849 0.40846 0.30481 +1850 0.38597 0.30922 +1851 0.39406 0.30763 +1850 0.38597 0.30922 +1880 0.40057 0.33763 +1882 0.41912 0.33556 +1880 0.40057 0.33763 +1881 0.43211 0.35861 +1880 0.40057 0.33763 +1879 0.41597 0.36066 +1876 0.40162 0.33660 +1878 0.41034 0.36052 +1876 0.40162 0.33660 +1877 0.44088 0.35001 +1876 0.40162 0.33660 +1874 0.43378 0.32370 +1876 0.40162 0.33660 +1851 0.39406 0.30763 +1880 0.40057 0.33763 +SURF 0x24 +mat 0 +refs 5 +1842 0.39602 0.27837 +1844 0.39315 0.27761 +1842 0.39602 0.27837 +1843 0.36919 0.25702 +1841 0.37218 0.26098 +SURF 0x24 +mat 0 +refs 7 +1840 0.26990 0.54886 +1839 0.20027 0.58272 +1840 0.26990 0.54886 +1835 0.18707 0.52266 +1837 0.25234 0.46863 +1836 0.17916 0.45464 +1838 0.27486 0.36461 +SURF 0x24 +mat 0 +refs 5 +1832 0.24092 0.39735 +1834 0.29359 0.34785 +1832 0.24092 0.39735 +1833 0.40815 0.40747 +1831 0.32444 0.47318 +SURF 0x24 +mat 0 +refs 5 +1828 0.42783 0.45325 +1830 0.38343 0.52234 +1828 0.42783 0.45325 +1829 0.27501 0.45217 +1827 0.33273 0.39279 +SURF 0x24 +mat 0 +refs 24 +1822 0.54967 0.28287 +1826 0.51592 0.32510 +1822 0.54967 0.28287 +1823 0.48059 0.31181 +1813 0.50843 0.26129 +1814 0.46166 0.30580 +1801 0.47977 0.26697 +1802 0.44168 0.29629 +1789 0.45798 0.26382 +1806 0.38207 0.26985 +1789 0.45798 0.26382 +1790 0.39580 0.24657 +1786 0.40658 0.23079 +1796 0.36860 0.22804 +1786 0.40658 0.23079 +1795 0.38868 0.21073 +1788 0.40737 0.23453 +1795 0.38868 0.21073 +1794 0.38942 0.21468 +1819 0.37126 0.19657 +1794 0.38942 0.21468 +1818 0.37422 0.19656 +1793 0.38368 0.22730 +1817 0.36715 0.21150 +SURF 0x24 +mat 0 +refs 5 +1806 0.38207 0.26985 +1802 0.44168 0.29629 +1806 0.38207 0.26985 +1809 0.42807 0.32554 +1810 0.36993 0.30002 +SURF 0x24 +mat 0 +refs 19 +1822 0.54967 0.28287 +1813 0.50843 0.26129 +1820 0.57798 0.23951 +1811 0.51862 0.24454 +1821 0.57493 0.24645 +1812 0.51762 0.25194 +1824 0.56929 0.25425 +1815 0.51758 0.25879 +1825 0.55163 0.28791 +1815 0.51758 0.25879 +1816 0.51085 0.28454 +1803 0.48768 0.26662 +1804 0.48155 0.28393 +1792 0.46613 0.26551 +1805 0.46173 0.28049 +1798 0.39834 0.25865 +1805 0.46173 0.28049 +1807 0.38918 0.27962 +1808 0.45358 0.30817 +SURF 0x24 +mat 0 +refs 19 +1813 0.50843 0.26129 +1801 0.47977 0.26697 +1811 0.51862 0.24454 +1799 0.48698 0.25535 +1812 0.51762 0.25194 +1800 0.48679 0.26118 +1815 0.51758 0.25879 +1800 0.48679 0.26118 +1803 0.48768 0.26662 +1787 0.46538 0.26018 +1792 0.46613 0.26551 +1787 0.46538 0.26018 +1788 0.40737 0.23453 +1787 0.46538 0.26018 +1786 0.40658 0.23079 +1785 0.46507 0.25421 +1789 0.45798 0.26382 +1799 0.48698 0.25535 +1801 0.47977 0.26697 +SURF 0x24 +mat 0 +refs 4 +1799 0.48698 0.25535 +1785 0.46507 0.25421 +1800 0.48679 0.26118 +1787 0.46538 0.26018 +SURF 0x24 +mat 0 +refs 11 +1793 0.38368 0.22730 +1797 0.37285 0.25021 +1793 0.38368 0.22730 +1798 0.39834 0.25865 +1791 0.40427 0.24375 +1792 0.46613 0.26551 +1791 0.40427 0.24375 +1788 0.40737 0.23453 +1791 0.40427 0.24375 +1794 0.38942 0.21468 +1793 0.38368 0.22730 +SURF 0x24 +mat 0 +refs 36 +1783 0.38174 0.18059 +1767 0.41121 0.18961 +1780 0.39301 0.15766 +1759 0.41919 0.16951 +1781 0.40386 0.13548 +1760 0.43020 0.15143 +1773 0.42157 0.09934 +1762 0.44554 0.11772 +1774 0.42956 0.08317 +1775 0.45256 0.09764 +1782 0.42977 0.08289 +1777 0.44865 0.10024 +1776 0.42307 0.09639 +1764 0.43400 0.12261 +1778 0.39575 0.15206 +1755 0.41600 0.16188 +1779 0.36913 0.20629 +1755 0.41600 0.16188 +1756 0.39529 0.20224 +1737 0.43363 0.17003 +1756 0.39529 0.20224 +1733 0.41910 0.20718 +1757 0.38541 0.22901 +1735 0.41081 0.23640 +1758 0.37969 0.24155 +1736 0.41102 0.24284 +1766 0.39415 0.22390 +1739 0.41782 0.22394 +1767 0.41121 0.18961 +1740 0.43112 0.19659 +1759 0.41919 0.16951 +1742 0.43962 0.17859 +1760 0.43020 0.15143 +1761 0.44803 0.16185 +1762 0.44554 0.11772 +1763 0.46344 0.13326 +SURF 0x24 +mat 0 +refs 22 +1777 0.44865 0.10024 +1784 0.46756 0.11833 +1764 0.43400 0.12261 +1765 0.45371 0.13716 +1755 0.41600 0.16188 +1765 0.45371 0.13716 +1737 0.43363 0.17003 +1738 0.46490 0.14980 +1737 0.43363 0.17003 +1734 0.44793 0.17655 +1733 0.41910 0.20718 +1712 0.43585 0.20950 +1735 0.41081 0.23640 +1710 0.43318 0.24163 +1736 0.41102 0.24284 +1711 0.43669 0.23970 +1739 0.41782 0.22394 +1713 0.44005 0.22831 +1740 0.43112 0.19659 +1741 0.45044 0.20379 +1742 0.43962 0.17859 +1743 0.45939 0.18888 +SURF 0x24 +mat 0 +refs 25 +1712 0.43585 0.20950 +1707 0.46622 0.22178 +1710 0.43318 0.24163 +1705 0.46055 0.24316 +1711 0.43669 0.23970 +1709 0.46377 0.24102 +1713 0.44005 0.22831 +1714 0.46925 0.23258 +1741 0.45044 0.20379 +1714 0.46925 0.23258 +1725 0.47712 0.21808 +1722 0.54189 0.24713 +1724 0.48548 0.20138 +1722 0.54189 0.24713 +1723 0.54988 0.22993 +1732 0.55481 0.25651 +1723 0.54988 0.22993 +1744 0.56478 0.23677 +1746 0.55803 0.20225 +1744 0.56478 0.23677 +1745 0.57785 0.20569 +1750 0.58845 0.24868 +1752 0.60715 0.20630 +1751 0.61957 0.26395 +1772 0.64793 0.20967 +SURF 0x24 +mat 0 +refs 13 +1749 0.60431 0.29418 +1751 0.61957 0.26395 +1749 0.60431 0.29418 +1750 0.58845 0.24868 +1731 0.57590 0.27518 +1744 0.56478 0.23677 +1731 0.57590 0.27518 +1732 0.55481 0.25651 +1731 0.57590 0.27518 +1729 0.56002 0.30816 +1731 0.57590 0.27518 +1754 0.58170 0.33738 +1749 0.60431 0.29418 +SURF 0x24 +mat 0 +refs 11 +1705 0.46055 0.24316 +1707 0.46622 0.22178 +1705 0.46055 0.24316 +1706 0.52437 0.24730 +1704 0.51551 0.27185 +1716 0.53932 0.26038 +1715 0.52711 0.28896 +1727 0.55661 0.28082 +1726 0.53677 0.31977 +1748 0.58959 0.31264 +1747 0.57214 0.35897 +SURF 0x24 +mat 0 +refs 15 +1770 0.64597 0.20463 +1769 0.70916 0.21009 +1753 0.61222 0.24686 +1768 0.67572 0.25503 +1753 0.61222 0.24686 +1771 0.61224 0.32965 +1753 0.61222 0.24686 +1748 0.58959 0.31264 +1753 0.61222 0.24686 +1727 0.55661 0.28082 +1728 0.57688 0.23358 +1716 0.53932 0.26038 +1717 0.55795 0.22756 +1706 0.52437 0.24730 +1718 0.53798 0.21805 +SURF 0x24 +mat 0 +refs 10 +1703 0.46141 0.38950 +1702 0.50342 0.41571 +1697 0.45441 0.37157 +1698 0.51107 0.38844 +1696 0.45736 0.33622 +1695 0.52355 0.34306 +1691 0.45663 0.32539 +1692 0.52872 0.33189 +1693 0.48107 0.17939 +1694 0.54628 0.18265 +SURF 0x24 +mat 0 +refs 5 +1694 0.54628 0.18265 +1701 0.56857 0.29842 +1694 0.54628 0.18265 +1700 0.50072 0.17126 +1699 0.47090 0.17637 +SURF 0x24 +mat 0 +refs 14 +1690 0.67292 0.50545 +1689 0.69023 0.41901 +1683 0.72269 0.47296 +1688 0.75680 0.36561 +1683 0.72269 0.47296 +1687 0.78935 0.35988 +1678 0.76419 0.46136 +1685 0.77748 0.37749 +1679 0.75433 0.46801 +1686 0.73039 0.42598 +1679 0.75433 0.46801 +1681 0.71487 0.49654 +1674 0.73054 0.57049 +1680 0.67776 0.59038 +SURF 0x24 +mat 0 +refs 14 +1682 0.71010 0.58102 +1683 0.72269 0.47296 +1682 0.71010 0.58102 +1678 0.76419 0.46136 +1676 0.72713 0.57258 +1679 0.75433 0.46801 +1676 0.72713 0.57258 +1674 0.73054 0.57049 +1676 0.72713 0.57258 +1675 0.70622 0.64321 +1676 0.72713 0.57258 +1677 0.69865 0.64289 +1682 0.71010 0.58102 +1684 0.68916 0.64451 +SURF 0x24 +mat 0 +refs 6 +1673 0.55109 0.17679 +1669 0.55019 0.33406 +1672 0.48543 0.18955 +1668 0.46478 0.32746 +1671 0.47413 0.19010 +1670 0.45972 0.32752 +SURF 0x24 +mat 0 +refs 13 +1668 0.46478 0.32746 +1669 0.55019 0.33406 +1665 0.47001 0.34191 +1666 0.54749 0.34929 +1665 0.47001 0.34191 +1659 0.53301 0.38713 +1665 0.47001 0.34191 +1662 0.47656 0.37427 +1664 0.45879 0.33789 +1662 0.47656 0.37427 +1663 0.45510 0.37104 +1661 0.48212 0.40085 +1667 0.46161 0.39018 +SURF 0x24 +mat 0 +refs 6 +1661 0.48212 0.40085 +1662 0.47656 0.37427 +1660 0.52632 0.42143 +1659 0.53301 0.38713 +1658 0.55681 0.43617 +1657 0.58421 0.40654 +SURF 0x24 +mat 0 +refs 8 +1656 0.67343 0.24437 +1650 0.61403 0.33552 +1655 0.61441 0.25130 +1646 0.56858 0.32921 +1652 0.54683 0.24506 +1648 0.50443 0.31152 +1653 0.46771 0.25426 +1654 0.45323 0.29211 +SURF 0x24 +mat 0 +refs 6 +1650 0.61403 0.33552 +1651 0.56701 0.38304 +1646 0.56858 0.32921 +1647 0.53253 0.36704 +1648 0.50443 0.31152 +1649 0.47703 0.34115 +SURF 0x24 +mat 0 +refs 7 +1645 0.44377 0.24803 +1644 0.43129 0.29341 +1645 0.44377 0.24803 +1640 0.52705 0.31412 +1638 0.57617 0.26213 +1639 0.58091 0.32950 +1637 0.65593 0.26200 +SURF 0x24 +mat 0 +refs 5 +1639 0.58091 0.32950 +1643 0.53404 0.37222 +1639 0.58091 0.32950 +1642 0.58287 0.38947 +1641 0.63703 0.33520 +SURF 0x24 +mat 0 +refs 8 +1636 0.42861 0.25228 +1635 0.46823 0.28719 +1636 0.42861 0.25228 +1633 0.46790 0.28657 +1634 0.43553 0.25327 +1633 0.46790 0.28657 +1632 0.45038 0.23809 +1631 0.47525 0.26465 +SURF 0x24 +mat 0 +refs 15 +1630 0.50636 0.31702 +1594 0.49570 0.28810 +1629 0.46874 0.32418 +1595 0.45269 0.29653 +1627 0.44594 0.32335 +1596 0.43196 0.30059 +1626 0.45937 0.32032 +1597 0.44390 0.29825 +1628 0.48667 0.31199 +1597 0.44390 0.29825 +1598 0.46762 0.29361 +1597 0.44390 0.29825 +1599 0.52690 0.28199 +1601 0.60255 0.26722 +1600 0.58775 0.27006 +SURF 0x24 +mat 0 +refs 6 +1597 0.44390 0.29825 +1596 0.43196 0.30059 +1597 0.44390 0.29825 +1595 0.45269 0.29653 +1593 0.52079 0.28320 +1594 0.49570 0.28810 +SURF 0x24 +mat 0 +refs 5 +1597 0.44390 0.29825 +1593 0.52079 0.28320 +1601 0.60255 0.26722 +1592 0.58449 0.27065 +1602 0.60220 0.26722 +SURF 0x24 +mat 0 +refs 4 +1593 0.52079 0.28320 +1591 0.54501 0.27841 +1593 0.52079 0.28320 +1592 0.58449 0.27065 +SURF 0x24 +mat 0 +refs 6 +1625 0.39347 0.35096 +1624 0.38487 0.31934 +1620 0.42484 0.34237 +1619 0.41842 0.30903 +1618 0.45169 0.33922 +1611 0.44998 0.30635 +SURF 0x24 +mat 0 +refs 6 +1623 0.41177 0.30365 +1615 0.41553 0.32561 +1612 0.43018 0.30022 +1613 0.43490 0.32314 +1604 0.46227 0.29518 +1614 0.45970 0.31791 +SURF 0x24 +mat 0 +refs 6 +1621 0.39824 0.32750 +1622 0.40301 0.35739 +1615 0.41553 0.32561 +1616 0.42137 0.35395 +1613 0.43490 0.32314 +1617 0.44360 0.34854 +SURF 0x24 +mat 0 +refs 5 +1609 0.47591 0.31186 +1611 0.44998 0.30635 +1609 0.47591 0.31186 +1610 0.45327 0.28980 +1608 0.47665 0.28942 +SURF 0x24 +mat 0 +refs 6 +1608 0.47665 0.28942 +1607 0.47961 0.26342 +1606 0.47845 0.29178 +1605 0.48404 0.26497 +1604 0.46227 0.29518 +1603 0.46381 0.27152 +SURF 0x24 +mat 0 +refs 47 +1589 0.36753 0.33783 +1590 0.33481 0.35745 +1588 0.36276 0.33480 +1587 0.31511 0.36797 +1585 0.36518 0.33634 +1584 0.33813 0.35666 +1585 0.36518 0.33634 +1582 0.34305 0.35124 +1583 0.36273 0.33478 +1578 0.34190 0.35227 +1579 0.36387 0.33551 +1573 0.34218 0.35146 +1574 0.36334 0.33517 +1568 0.34279 0.34886 +1569 0.36202 0.33433 +1563 0.34304 0.34703 +1564 0.36025 0.33321 +1558 0.34259 0.34575 +1559 0.35898 0.33241 +1553 0.34352 0.34229 +1554 0.35714 0.33124 +1548 0.34374 0.33846 +1549 0.35547 0.33018 +1543 0.34400 0.33217 +1544 0.35086 0.32726 +1543 0.34400 0.33217 +1540 0.34169 0.32144 +1543 0.34400 0.33217 +1541 0.33283 0.33541 +1548 0.34374 0.33846 +1546 0.32868 0.34195 +1553 0.34352 0.34229 +1551 0.32689 0.34478 +1558 0.34259 0.34575 +1556 0.32506 0.34767 +1563 0.34304 0.34703 +1561 0.32460 0.34838 +1568 0.34279 0.34886 +1566 0.32370 0.34980 +1573 0.34218 0.35146 +1571 0.32235 0.35193 +1578 0.34190 0.35227 +1576 0.32191 0.35263 +1582 0.34305 0.35124 +1581 0.32120 0.35375 +1584 0.33813 0.35666 +1586 0.31884 0.35746 +SURF 0x24 +mat 0 +refs 37 +1581 0.32120 0.35375 +1580 0.31265 0.33528 +1581 0.32120 0.35375 +1575 0.31372 0.33439 +1576 0.32191 0.35263 +1570 0.31433 0.33380 +1571 0.32235 0.35193 +1565 0.31642 0.33214 +1566 0.32370 0.34980 +1560 0.31797 0.33113 +1561 0.32460 0.34838 +1555 0.31932 0.33099 +1556 0.32506 0.34767 +1550 0.32205 0.32867 +1551 0.32689 0.34478 +1545 0.32543 0.32684 +1546 0.32868 0.34195 +1539 0.33100 0.32393 +1541 0.33283 0.33541 +1539 0.33100 0.32393 +1540 0.34169 0.32144 +1539 0.33100 0.32393 +1542 0.33252 0.31563 +1545 0.32543 0.32684 +1547 0.32874 0.31323 +1550 0.32205 0.32867 +1552 0.32651 0.31181 +1555 0.31932 0.33099 +1557 0.32524 0.31101 +1560 0.31797 0.33113 +1562 0.32489 0.31078 +1565 0.31642 0.33214 +1567 0.32339 0.30983 +1570 0.31433 0.33380 +1572 0.32177 0.30880 +1575 0.31372 0.33439 +1577 0.32099 0.30831 +SURF 0x24 +mat 0 +refs 9 +1500 0.29261 0.29042 +1499 0.18604 0.39726 +1493 0.30155 0.35178 +1496 0.20737 0.44421 +1494 0.31148 0.42936 +1495 0.23029 0.49866 +1494 0.31148 0.42936 +1497 0.26932 0.57163 +1498 0.32188 0.55284 +SURF 0x24 +mat 0 +refs 152 +1493 0.30155 0.35178 +1494 0.31148 0.42936 +1493 0.30155 0.35178 +1463 0.38538 0.41008 +1462 0.40277 0.29874 +1460 0.46288 0.43924 +1459 0.48385 0.31181 +1461 0.52632 0.47387 +1459 0.48385 0.31181 +1458 0.57237 0.37089 +1457 0.52370 0.24886 +1458 0.57237 0.37089 +1468 0.57264 0.27935 +1492 0.63614 0.37106 +1468 0.57264 0.27935 +1469 0.64643 0.36742 +1468 0.57264 0.27935 +1467 0.65360 0.36577 +1449 0.58127 0.25596 +1451 0.66573 0.36130 +1449 0.58127 0.25596 +1450 0.66430 0.34409 +1446 0.58279 0.24710 +1445 0.63547 0.34192 +1444 0.54066 0.24507 +1442 0.64670 0.31848 +1443 0.52506 0.21145 +1442 0.64670 0.31848 +1425 0.52023 0.19809 +1424 0.66329 0.30300 +1423 0.53161 0.20071 +1422 0.69243 0.29175 +1421 0.57088 0.21900 +1420 0.72099 0.29117 +1371 0.61973 0.21084 +1370 0.73044 0.27792 +1369 0.61848 0.21663 +1368 0.71413 0.28348 +1364 0.59340 0.25284 +1366 0.68066 0.30900 +1364 0.59340 0.25284 +1367 0.65069 0.37151 +1364 0.59340 0.25284 +1298 0.56277 0.31507 +1365 0.44747 0.19226 +1298 0.56277 0.31507 +1294 0.44253 0.27688 +1296 0.55484 0.33011 +1292 0.49188 0.31859 +1297 0.55528 0.34849 +1293 0.49087 0.29684 +1347 0.56359 0.33332 +1333 0.49159 0.27000 +1348 0.55791 0.33885 +1277 0.49004 0.27664 +1350 0.53806 0.34940 +1349 0.49135 0.30295 +1350 0.53806 0.34940 +1357 0.48866 0.33231 +1358 0.52331 0.36332 +1357 0.48866 0.33231 +1418 0.48952 0.41042 +1357 0.48866 0.33231 +1363 0.45463 0.37978 +1310 0.44886 0.33278 +1359 0.42742 0.36931 +1312 0.43287 0.33975 +1262 0.41224 0.35855 +1263 0.41890 0.33550 +1243 0.40486 0.34184 +1264 0.41229 0.32164 +1269 0.41726 0.30579 +1268 0.41717 0.30618 +1274 0.42907 0.29064 +1315 0.41619 0.26791 +1316 0.42988 0.26250 +1380 0.41486 0.22925 +1381 0.43042 0.24030 +1390 0.42177 0.21489 +1391 0.43482 0.22529 +1434 0.43911 0.20625 +1435 0.44641 0.21814 +1478 0.45227 0.21131 +1479 0.45471 0.21882 +1488 0.47750 0.23796 +1489 0.47861 0.24182 +1501 0.48446 0.25312 +1481 0.47797 0.24529 +1480 0.47581 0.24711 +1470 0.45078 0.23401 +1472 0.44569 0.23516 +1428 0.43760 0.24256 +1429 0.42822 0.23643 +1385 0.42701 0.25557 +1386 0.41445 0.24568 +1376 0.41452 0.27095 +1377 0.40251 0.25508 +1311 0.41684 0.30208 +1313 0.40813 0.29237 +1263 0.41890 0.33550 +1313 0.40813 0.29237 +1264 0.41229 0.32164 +1314 0.40706 0.27801 +1268 0.41717 0.30618 +1314 0.40706 0.27801 +1315 0.41619 0.26791 +1379 0.40214 0.22755 +1380 0.41486 0.22925 +1389 0.40962 0.21254 +1390 0.42177 0.21489 +1433 0.42973 0.20012 +1434 0.43911 0.20625 +1477 0.44791 0.20764 +1478 0.45227 0.21131 +1487 0.47527 0.23558 +1488 0.47750 0.23796 +1487 0.47527 0.23558 +1501 0.48446 0.25312 +1487 0.47527 0.23558 +1486 0.47271 0.23555 +1477 0.44791 0.20764 +1476 0.44320 0.20890 +1433 0.42973 0.20012 +1432 0.42185 0.20210 +1389 0.40962 0.21254 +1388 0.40336 0.21912 +1379 0.40214 0.22755 +1378 0.39728 0.23719 +1314 0.40706 0.27801 +1378 0.39728 0.23719 +1313 0.40813 0.29237 +1378 0.39728 0.23719 +1377 0.40251 0.25508 +1387 0.40534 0.23183 +1386 0.41445 0.24568 +1430 0.42092 0.22454 +1429 0.42822 0.23643 +1473 0.44115 0.23071 +1472 0.44569 0.23516 +1482 0.47320 0.24691 +1480 0.47581 0.24711 +1482 0.47320 0.24691 +1501 0.48446 0.25312 +1482 0.47320 0.24691 +1483 0.47119 0.24479 +1473 0.44115 0.23071 +1474 0.43896 0.22284 +1430 0.42092 0.22454 +1431 0.41849 0.21142 +1387 0.40534 0.23183 +1388 0.40336 0.21912 +1378 0.39728 0.23719 +SURF 0x24 +mat 0 +refs 16 +1431 0.41849 0.21142 +1388 0.40336 0.21912 +1431 0.41849 0.21142 +1432 0.42185 0.20210 +1475 0.43978 0.21461 +1476 0.44320 0.20890 +1485 0.47074 0.23770 +1486 0.47271 0.23555 +1485 0.47074 0.23770 +1501 0.48446 0.25312 +1484 0.47025 0.24131 +1483 0.47119 0.24479 +1484 0.47025 0.24131 +1474 0.43896 0.22284 +1475 0.43978 0.21461 +1431 0.41849 0.21142 +SURF 0x24 +mat 0 +refs 4 +1475 0.43978 0.21461 +1485 0.47074 0.23770 +1475 0.43978 0.21461 +1484 0.47025 0.24131 +SURF 0x24 +mat 0 +refs 38 +1263 0.41890 0.33550 +1311 0.41684 0.30208 +1312 0.43287 0.33975 +1309 0.42930 0.30715 +1310 0.44886 0.33278 +1307 0.44515 0.30516 +1310 0.44886 0.33278 +1308 0.46077 0.31725 +1357 0.48866 0.33231 +1308 0.46077 0.31725 +1349 0.49135 0.30295 +1306 0.46404 0.29908 +1277 0.49004 0.27664 +1278 0.45743 0.28523 +1276 0.44984 0.27471 +1275 0.44346 0.28097 +1273 0.43502 0.29282 +1274 0.42907 0.29064 +1273 0.43502 0.29282 +1269 0.41726 0.30579 +1270 0.41268 0.30172 +1269 0.41726 0.30579 +1242 0.39377 0.32989 +1243 0.40486 0.34184 +1239 0.36397 0.35680 +1243 0.40486 0.34184 +1244 0.37651 0.37460 +1262 0.41224 0.35855 +1340 0.37833 0.36777 +1359 0.42742 0.36931 +1360 0.39161 0.38625 +1363 0.45463 0.37978 +1360 0.39161 0.38625 +1415 0.40462 0.41064 +1361 0.38763 0.39449 +1414 0.40562 0.42850 +1417 0.39616 0.43768 +1416 0.40331 0.44158 +SURF 0x24 +mat 0 +refs 43 +1417 0.39616 0.43768 +1419 0.39561 0.43907 +1361 0.38763 0.39449 +1362 0.38989 0.41057 +1341 0.37692 0.38158 +1362 0.38989 0.41057 +1355 0.38287 0.39790 +1356 0.40483 0.45737 +1355 0.38287 0.39790 +1354 0.38214 0.40805 +1341 0.37692 0.38158 +1339 0.37728 0.39149 +1340 0.37833 0.36777 +1339 0.37728 0.39149 +1244 0.37651 0.37460 +1238 0.35151 0.36875 +1239 0.36397 0.35680 +1233 0.35583 0.33267 +1239 0.36397 0.35680 +1265 0.37454 0.32322 +1242 0.39377 0.32989 +1266 0.38848 0.32330 +1242 0.39377 0.32989 +1271 0.39856 0.32020 +1270 0.41268 0.30172 +1288 0.41409 0.29618 +1270 0.41268 0.30172 +1272 0.42548 0.28265 +1273 0.43502 0.29282 +1272 0.42548 0.28265 +1276 0.44984 0.27471 +1287 0.44539 0.26007 +1277 0.49004 0.27664 +1287 0.44539 0.26007 +1333 0.49159 0.27000 +1287 0.44539 0.26007 +1293 0.49087 0.29684 +1285 0.44552 0.28431 +1292 0.49188 0.31859 +1282 0.43299 0.30404 +1292 0.49188 0.31859 +1280 0.40343 0.31159 +1294 0.44253 0.27688 +SURF 0x24 +mat 0 +refs 4 +1341 0.37692 0.38158 +1340 0.37833 0.36777 +1361 0.38763 0.39449 +1360 0.39161 0.38625 +SURF 0x24 +mat 0 +refs 25 +1274 0.42907 0.29064 +1275 0.44346 0.28097 +1316 0.42988 0.26250 +1304 0.44234 0.26756 +1381 0.43042 0.24030 +1373 0.44190 0.25443 +1391 0.43482 0.22529 +1383 0.44352 0.23944 +1435 0.44641 0.21814 +1427 0.44884 0.23126 +1479 0.45471 0.21882 +1471 0.45423 0.22758 +1489 0.47861 0.24182 +1471 0.45423 0.22758 +1481 0.47797 0.24529 +1471 0.45423 0.22758 +1470 0.45078 0.23401 +1426 0.44547 0.24059 +1428 0.43760 0.24256 +1384 0.43847 0.25793 +1385 0.42701 0.25557 +1375 0.42992 0.27928 +1376 0.41452 0.27095 +1309 0.42930 0.30715 +1311 0.41684 0.30208 +SURF 0x24 +mat 0 +refs 10 +1307 0.44515 0.30516 +1309 0.42930 0.30715 +1307 0.44515 0.30516 +1375 0.42992 0.27928 +1374 0.44195 0.27803 +1384 0.43847 0.25793 +1382 0.44476 0.25183 +1426 0.44547 0.24059 +1427 0.44884 0.23126 +1471 0.45423 0.22758 +SURF 0x24 +mat 0 +refs 10 +1382 0.44476 0.25183 +1427 0.44884 0.23126 +1382 0.44476 0.25183 +1383 0.44352 0.23944 +1372 0.44668 0.26881 +1373 0.44190 0.25443 +1303 0.45320 0.28070 +1304 0.44234 0.26756 +1278 0.45743 0.28523 +1275 0.44346 0.28097 +SURF 0x24 +mat 0 +refs 12 +1303 0.45320 0.28070 +1278 0.45743 0.28523 +1303 0.45320 0.28070 +1306 0.46404 0.29908 +1305 0.45428 0.29506 +1308 0.46077 0.31725 +1305 0.45428 0.29506 +1307 0.44515 0.30516 +1305 0.45428 0.29506 +1374 0.44195 0.27803 +1372 0.44668 0.26881 +1382 0.44476 0.25183 +SURF 0x24 +mat 0 +refs 4 +1372 0.44668 0.26881 +1303 0.45320 0.28070 +1372 0.44668 0.26881 +1305 0.45428 0.29506 +SURF 0x24 +mat 0 +refs 28 +1443 0.52506 0.21145 +1491 0.44386 0.19266 +1444 0.54066 0.24507 +1448 0.45446 0.22730 +1444 0.54066 0.24507 +1447 0.49605 0.21185 +1446 0.58279 0.24710 +1453 0.49634 0.20260 +1449 0.58127 0.25596 +1453 0.49634 0.20260 +1468 0.57264 0.27935 +1453 0.49634 0.20260 +1457 0.52370 0.24886 +1456 0.45752 0.23128 +1459 0.48385 0.31181 +1456 0.45752 0.23128 +1462 0.40277 0.29874 +1456 0.45752 0.23128 +1466 0.39680 0.22153 +1455 0.44755 0.19047 +1465 0.39213 0.18988 +1455 0.44755 0.19047 +1464 0.38508 0.19584 +1455 0.44755 0.19047 +1452 0.44071 0.19678 +1455 0.44755 0.19047 +1453 0.49634 0.20260 +1456 0.45752 0.23128 +SURF 0x24 +mat 0 +refs 5 +1453 0.49634 0.20260 +1447 0.49605 0.21185 +1452 0.44071 0.19678 +1448 0.45446 0.22730 +1454 0.37492 0.21889 +SURF 0x24 +mat 0 +refs 47 +1351 0.37882 0.43298 +1345 0.37409 0.42972 +1352 0.36632 0.41873 +1344 0.35738 0.41747 +1352 0.36632 0.41873 +1353 0.36986 0.41458 +1356 0.40483 0.45737 +1353 0.36986 0.41458 +1354 0.38214 0.40805 +1343 0.35786 0.40201 +1339 0.37728 0.39149 +1240 0.33482 0.38394 +1238 0.35151 0.36875 +1234 0.30850 0.36361 +1238 0.35151 0.36875 +1232 0.33450 0.35259 +1233 0.35583 0.33267 +1231 0.34181 0.32287 +1279 0.37601 0.31598 +1280 0.40343 0.31159 +1281 0.39455 0.30634 +1282 0.43299 0.30404 +1284 0.42301 0.28574 +1285 0.44552 0.28431 +1284 0.42301 0.28574 +1287 0.44539 0.26007 +1284 0.42301 0.28574 +1272 0.42548 0.28265 +1284 0.42301 0.28574 +1288 0.41409 0.29618 +1284 0.42301 0.28574 +1289 0.40188 0.32175 +1281 0.39455 0.30634 +1286 0.39312 0.32155 +1281 0.39455 0.30634 +1283 0.37749 0.32055 +1279 0.37601 0.31598 +1283 0.37749 0.32055 +1233 0.35583 0.33267 +1267 0.37077 0.32114 +1265 0.37454 0.32322 +1267 0.37077 0.32114 +1322 0.36708 0.30388 +1321 0.36862 0.31066 +1322 0.36708 0.30388 +1331 0.37084 0.29531 +1332 0.36456 0.29139 +SURF 0x24 +mat 0 +refs 7 +1343 0.35786 0.40201 +1353 0.36986 0.41458 +1343 0.35786 0.40201 +1344 0.35738 0.41747 +1338 0.34437 0.42614 +1345 0.37409 0.42972 +1346 0.36179 0.44614 +SURF 0x24 +mat 0 +refs 50 +1335 0.30047 0.47982 +1342 0.28749 0.51452 +1335 0.30047 0.47982 +1257 0.25474 0.50968 +1255 0.24348 0.48283 +1258 0.22063 0.52507 +1255 0.24348 0.48283 +1256 0.22468 0.51971 +1253 0.23362 0.46709 +1254 0.22473 0.51579 +1245 0.22377 0.44875 +1252 0.22478 0.51493 +1247 0.21589 0.47336 +1251 0.22541 0.51817 +1247 0.21589 0.47336 +1334 0.22696 0.52494 +1247 0.21589 0.47336 +1250 0.25631 0.53455 +1247 0.21589 0.47336 +1249 0.24809 0.49231 +1247 0.21589 0.47336 +1248 0.23152 0.42476 +1245 0.22377 0.44875 +1246 0.24728 0.40065 +1245 0.22377 0.44875 +1241 0.29392 0.42432 +1253 0.23362 0.46709 +1241 0.29392 0.42432 +1255 0.24348 0.48283 +1241 0.29392 0.42432 +1335 0.30047 0.47982 +1336 0.32645 0.42209 +1337 0.32375 0.49779 +1336 0.32645 0.42209 +1338 0.34437 0.42614 +1336 0.32645 0.42209 +1343 0.35786 0.40201 +1336 0.32645 0.42209 +1240 0.33482 0.38394 +1241 0.29392 0.42432 +1237 0.27707 0.37496 +1246 0.24728 0.40065 +1236 0.26319 0.39608 +1248 0.23152 0.42476 +1236 0.26319 0.39608 +1249 0.24809 0.49231 +1259 0.24153 0.46253 +1249 0.24809 0.49231 +1260 0.25358 0.57167 +1261 0.26909 0.57878 +SURF 0x24 +mat 0 +refs 19 +1240 0.33482 0.38394 +1237 0.27707 0.37496 +1234 0.30850 0.36361 +1236 0.26319 0.39608 +1234 0.30850 0.36361 +1235 0.27456 0.37069 +1232 0.33450 0.35259 +1230 0.29961 0.34741 +1231 0.34181 0.32287 +1230 0.29961 0.34741 +1291 0.27881 0.34253 +1235 0.27456 0.37069 +1295 0.24470 0.38802 +1236 0.26319 0.39608 +1295 0.24470 0.38802 +1259 0.24153 0.46253 +1299 0.22374 0.44752 +1260 0.25358 0.57167 +1302 0.22382 0.55785 +SURF 0x24 +mat 0 +refs 5 +1299 0.22374 0.44752 +1301 0.17347 0.41065 +1295 0.24470 0.38802 +1300 0.21765 0.31348 +1291 0.27881 0.34253 +SURF 0x24 +mat 0 +refs 20 +1229 0.43053 0.39270 +1228 0.39201 0.34773 +1223 0.46363 0.34789 +1222 0.42020 0.29708 +1218 0.47939 0.33241 +1219 0.43327 0.28157 +1218 0.47939 0.33241 +1217 0.45179 0.26882 +1215 0.49860 0.31783 +1216 0.45680 0.26268 +1214 0.50693 0.31530 +1216 0.45680 0.26268 +1221 0.51735 0.33323 +1220 0.45027 0.27870 +1221 0.51735 0.33323 +1225 0.44774 0.26049 +1224 0.53308 0.32107 +1225 0.44774 0.26049 +1227 0.54769 0.29068 +1226 0.45390 0.24465 +SURF 0x24 +mat 0 +refs 39 +1212 0.40716 0.19628 +1213 0.49998 0.19925 +1210 0.40714 0.22039 +1211 0.49998 0.22082 +1208 0.40993 0.24231 +1209 0.49998 0.24562 +1198 0.42559 0.29577 +1199 0.49998 0.29722 +1194 0.44264 0.33670 +1197 0.49998 0.33519 +1194 0.44264 0.33670 +1183 0.49998 0.34903 +1182 0.44782 0.35296 +1181 0.49998 0.37210 +1179 0.45100 0.37239 +1180 0.49998 0.39423 +1176 0.45265 0.39238 +1178 0.49998 0.42524 +1171 0.45172 0.42027 +1177 0.49998 0.48565 +1171 0.45172 0.42027 +1172 0.46484 0.48011 +1173 0.41079 0.41823 +1174 0.43238 0.47842 +1185 0.37038 0.41971 +1184 0.40086 0.47817 +1185 0.37038 0.41971 +1192 0.37852 0.48102 +1185 0.37038 0.41971 +1191 0.33201 0.42731 +1186 0.35851 0.39979 +1196 0.32416 0.40835 +1187 0.34927 0.38927 +1196 0.32416 0.40835 +1195 0.34227 0.39343 +1204 0.32938 0.40594 +1203 0.34319 0.39461 +1205 0.36363 0.39602 +1207 0.31576 0.38499 +SURF 0x24 +mat 0 +refs 4 +1206 0.31074 0.40942 +1205 0.36363 0.39602 +1206 0.31074 0.40942 +1204 0.32938 0.40594 +SURF 0x24 +mat 0 +refs 26 +1173 0.41079 0.41823 +1185 0.37038 0.41971 +1173 0.41079 0.41823 +1186 0.35851 0.39979 +1175 0.39605 0.39529 +1187 0.34927 0.38927 +1188 0.38154 0.38008 +1189 0.33920 0.38061 +1190 0.37487 0.36405 +1201 0.32333 0.37235 +1193 0.37824 0.34783 +1202 0.32232 0.31360 +1193 0.37824 0.34783 +1200 0.36647 0.29923 +1193 0.37824 0.34783 +1198 0.42559 0.29577 +1193 0.37824 0.34783 +1194 0.44264 0.33670 +1190 0.37487 0.36405 +1182 0.44782 0.35296 +1188 0.38154 0.38008 +1179 0.45100 0.37239 +1175 0.39605 0.39529 +1176 0.45265 0.39238 +1173 0.41079 0.41823 +1171 0.45172 0.42027 +SURF 0x24 +mat 0 +refs 6 +1166 0.40143 0.59901 +1170 0.39725 0.59359 +1166 0.40143 0.59901 +1167 0.40095 0.58360 +1168 0.39122 0.57399 +1169 0.39509 0.56523 +SURF 0x24 +mat 0 +refs 21 +1165 0.45949 0.17736 +1164 0.56002 0.26681 +1163 0.48780 0.17352 +1162 0.57787 0.25325 +1160 0.49568 0.15928 +1161 0.59048 0.24366 +1158 0.48011 0.16666 +1159 0.57266 0.25721 +1157 0.44977 0.19583 +1156 0.53048 0.28926 +1155 0.42713 0.26136 +1154 0.48487 0.32392 +1155 0.42713 0.26136 +1153 0.46081 0.34221 +1152 0.41252 0.29175 +1151 0.44167 0.35676 +1150 0.39679 0.30390 +1149 0.43903 0.35874 +1147 0.38637 0.28597 +1148 0.43184 0.36420 +1146 0.37804 0.28851 +SURF 0x24 +mat 0 +refs 5 +1143 0.33684 0.59556 +1145 0.39569 0.63539 +1143 0.33684 0.59556 +1144 0.37630 0.64613 +1142 0.31288 0.60693 +SURF 0x24 +mat 0 +refs 11 +1141 0.60574 0.37042 +1140 0.67264 0.41815 +1141 0.60574 0.37042 +1138 0.66347 0.41663 +1139 0.58357 0.36910 +1136 0.64506 0.42202 +1137 0.57424 0.36529 +1132 0.64593 0.43559 +1134 0.58333 0.39013 +1133 0.65153 0.46014 +1135 0.59104 0.42891 +SURF 0x24 +mat 0 +refs 23 +1131 0.52236 0.37195 +1130 0.56108 0.38310 +1128 0.59594 0.19821 +1129 0.60483 0.35982 +1128 0.59594 0.19821 +1126 0.61288 0.35834 +1127 0.58689 0.20546 +1125 0.62357 0.37048 +1124 0.58855 0.22901 +1122 0.64258 0.38059 +1123 0.59317 0.25891 +1120 0.65210 0.39144 +1121 0.60428 0.30363 +1118 0.63783 0.38247 +1119 0.60387 0.32573 +1116 0.62183 0.37457 +1117 0.58889 0.31381 +1114 0.59993 0.36263 +1115 0.56709 0.29683 +1110 0.59053 0.35234 +1112 0.53833 0.29859 +1111 0.57834 0.34793 +1113 0.51145 0.30020 +SURF 0x24 +mat 0 +refs 33 +269 0.56215 0.47760 +1109 0.58707 0.42130 +269 0.56215 0.47760 +1108 0.59728 0.39824 +1107 0.56391 0.47362 +1105 0.60040 0.39118 +1106 0.56569 0.46959 +1104 0.60704 0.37617 +264 0.57842 0.44082 +1103 0.61418 0.36004 +261 0.58545 0.42492 +1101 0.62086 0.34494 +1102 0.58953 0.41572 +1101 0.62086 0.34494 +257 0.59010 0.41442 +1100 0.61278 0.36321 +257 0.59010 0.41442 +1098 0.60805 0.37389 +1099 0.58444 0.42720 +1097 0.59878 0.39484 +253 0.57117 0.45720 +1096 0.59193 0.41033 +251 0.56086 0.48051 +1094 0.58720 0.42101 +1095 0.55071 0.50346 +1092 0.58275 0.43107 +1093 0.54145 0.52438 +1090 0.58078 0.43553 +1091 0.53555 0.53772 +1087 0.58130 0.43435 +243 0.54079 0.52588 +1088 0.58272 0.43114 +1089 0.55047 0.50399 +SURF 0x24 +mat 0 +refs 7 +1085 0.41115 0.39363 +1086 0.42297 0.39963 +1083 0.42764 0.37693 +1081 0.43501 0.38399 +1083 0.42764 0.37693 +1082 0.45806 0.37842 +1084 0.45826 0.37167 +SURF 0x24 +mat 0 +refs 5 +1078 0.43523 0.38398 +1080 0.42773 0.37929 +1078 0.43523 0.38398 +1079 0.41709 0.39897 +1077 0.42294 0.39962 +SURF 0x24 +mat 0 +refs 5 +1074 0.34397 0.34754 +1076 0.32320 0.35098 +1074 0.34397 0.34754 +1075 0.31966 0.35568 +1073 0.34090 0.35725 +SURF 0x24 +mat 0 +refs 7 +1071 0.40709 0.39275 +1072 0.42588 0.39951 +1069 0.42366 0.37367 +1067 0.43720 0.38496 +1069 0.42366 0.37367 +1068 0.45804 0.37912 +1070 0.45842 0.36637 +SURF 0x24 +mat 0 +refs 5 +1064 0.43993 0.38493 +1066 0.42373 0.37635 +1064 0.43993 0.38493 +1065 0.41301 0.39881 +1063 0.42540 0.39935 +SURF 0x24 +mat 0 +refs 5 +1060 0.34366 0.34716 +1062 0.32422 0.34873 +1060 0.34366 0.34716 +1061 0.31744 0.35910 +1059 0.34087 0.36206 +SURF 0x24 +mat 0 +refs 7 +1057 0.41050 0.39404 +1058 0.42680 0.39953 +1055 0.42465 0.37379 +1053 0.43801 0.38594 +1055 0.42465 0.37379 +1054 0.45798 0.38074 +1056 0.45836 0.36613 +SURF 0x24 +mat 0 +refs 5 +1050 0.43784 0.38603 +1052 0.41817 0.37525 +1050 0.43784 0.38603 +1051 0.41054 0.39866 +1049 0.42746 0.39937 +SURF 0x24 +mat 0 +refs 5 +1046 0.34157 0.34729 +1048 0.32529 0.34697 +1046 0.34157 0.34729 +1047 0.31605 0.36115 +1045 0.33849 0.36718 +SURF 0x24 +mat 0 +refs 7 +1043 0.41498 0.39412 +1044 0.42680 0.39953 +1041 0.42914 0.37365 +1039 0.43801 0.38594 +1041 0.42914 0.37365 +1040 0.45798 0.38074 +1042 0.45835 0.36639 +SURF 0x24 +mat 0 +refs 5 +1036 0.43784 0.38603 +1038 0.42266 0.37514 +1036 0.43784 0.38603 +1037 0.41503 0.39879 +1035 0.42746 0.39937 +SURF 0x24 +mat 0 +refs 5 +1032 0.34157 0.34729 +1034 0.32529 0.34697 +1032 0.34157 0.34729 +1033 0.31845 0.35736 +1031 0.34109 0.36352 +SURF 0x24 +mat 0 +refs 5 +1028 0.44164 0.38654 +1030 0.42658 0.37568 +1028 0.44164 0.38654 +1029 0.41909 0.39889 +1027 0.42860 0.39938 +SURF 0x24 +mat 0 +refs 5 +1024 0.34369 0.34319 +1026 0.32589 0.34599 +1024 0.34369 0.34319 +1025 0.32061 0.35391 +1023 0.34282 0.35996 +SURF 0x24 +mat 0 +refs 7 +1021 0.41787 0.39836 +1022 0.43433 0.40215 +1019 0.43041 0.37661 +1017 0.44134 0.38715 +1019 0.43041 0.37661 +1018 0.45794 0.38235 +1020 0.45830 0.36922 +SURF 0x24 +mat 0 +refs 5 +1014 0.44164 0.38654 +1016 0.42899 0.37876 +1014 0.44164 0.38654 +1015 0.42159 0.39902 +1013 0.42860 0.39938 +SURF 0x24 +mat 0 +refs 5 +1010 0.34369 0.34319 +1012 0.32589 0.34599 +1010 0.34369 0.34319 +1011 0.32200 0.35183 +1009 0.34186 0.35639 +SURF 0x24 +mat 0 +refs 7 +1007 0.32098 0.35265 +1008 0.33119 0.34248 +1005 0.31103 0.33226 +1003 0.32187 0.32879 +1005 0.31103 0.33226 +1004 0.32621 0.31207 +1006 0.31830 0.30708 +SURF 0x24 +mat 0 +refs 7 +1001 0.34392 0.35128 +1002 0.34335 0.33885 +999 0.32513 0.34677 +997 0.32795 0.34264 +999 0.32513 0.34677 +998 0.32577 0.32647 +1000 0.31357 0.33202 +SURF 0x24 +mat 0 +refs 7 +995 0.32238 0.34440 +996 0.32888 0.34173 +993 0.31653 0.32944 +991 0.32557 0.32674 +993 0.31653 0.32944 +992 0.32849 0.31352 +994 0.32183 0.30932 +SURF 0x24 +mat 0 +refs 7 +989 0.32771 0.33929 +990 0.33285 0.33541 +987 0.32632 0.32892 +985 0.33068 0.32446 +987 0.32632 0.32892 +986 0.33233 0.31595 +988 0.32962 0.31434 +SURF 0x24 +mat 0 +refs 7 +983 0.34038 0.33919 +984 0.34379 0.33248 +981 0.33091 0.33729 +979 0.33276 0.33542 +981 0.33091 0.33729 +980 0.33583 0.32110 +982 0.32642 0.33034 +SURF 0x24 +mat 0 +refs 8 +977 0.32295 0.35079 +978 0.32129 0.36394 +977 0.32295 0.35079 +975 0.34437 0.35963 +976 0.34266 0.34958 +975 0.34437 0.35963 +974 0.36018 0.33361 +973 0.36588 0.33723 +SURF 0x24 +mat 0 +refs 8 +971 0.32469 0.34844 +972 0.31975 0.36779 +971 0.32469 0.34844 +969 0.34484 0.36476 +970 0.34308 0.34721 +969 0.34484 0.36476 +968 0.35959 0.33324 +967 0.37036 0.34007 +SURF 0x24 +mat 0 +refs 8 +965 0.32518 0.34766 +966 0.32059 0.36425 +965 0.32518 0.34766 +963 0.34530 0.36388 +964 0.34272 0.34601 +963 0.34530 0.36388 +962 0.35822 0.33237 +961 0.37053 0.34025 +SURF 0x24 +mat 0 +refs 8 +959 0.32518 0.34766 +960 0.32304 0.36049 +959 0.32518 0.34766 +957 0.34792 0.36023 +958 0.34272 0.34601 +957 0.34792 0.36023 +956 0.35822 0.33237 +955 0.37031 0.34011 +SURF 0x24 +mat 0 +refs 8 +953 0.32723 0.33996 +954 0.32114 0.35571 +953 0.32723 0.33996 +951 0.34618 0.35752 +952 0.34359 0.34256 +951 0.34618 0.35752 +950 0.35686 0.33151 +949 0.36794 0.33856 +SURF 0x24 +mat 0 +refs 8 +947 0.32723 0.33996 +948 0.32238 0.35354 +947 0.32723 0.33996 +945 0.34506 0.35385 +946 0.34359 0.34256 +945 0.34506 0.35385 +944 0.35686 0.33151 +943 0.36475 0.33654 +SURF 0x24 +mat 0 +refs 8 +941 0.32889 0.34173 +942 0.32924 0.34876 +941 0.32889 0.34173 +939 0.34528 0.34767 +940 0.34386 0.33834 +939 0.34528 0.34767 +938 0.35457 0.33006 +937 0.36121 0.33430 +SURF 0x24 +mat 0 +refs 8 +935 0.33291 0.33545 +936 0.33160 0.34176 +935 0.33291 0.33545 +933 0.34157 0.33859 +934 0.34374 0.33275 +933 0.34157 0.33859 +932 0.35074 0.32763 +931 0.35336 0.32939 +SURF 0x24 +mat 0 +refs 13 +929 0.65255 0.60669 +930 0.66605 0.62422 +921 0.62660 0.61763 +922 0.64507 0.64041 +904 0.59718 0.63503 +905 0.61784 0.66186 +888 0.56497 0.64858 +905 0.61784 0.66186 +906 0.59443 0.69474 +907 0.65452 0.71091 +908 0.62485 0.75392 +909 0.67723 0.74139 +910 0.64031 0.79713 +SURF 0x24 +mat 0 +refs 19 +928 0.60374 0.58905 +921 0.62660 0.61763 +917 0.56801 0.59596 +904 0.59718 0.63503 +886 0.54086 0.59595 +888 0.56497 0.64858 +885 0.50784 0.59614 +887 0.53088 0.67048 +885 0.50784 0.59614 +927 0.51653 0.67624 +916 0.49262 0.59397 +927 0.51653 0.67624 +890 0.47006 0.58890 +893 0.47098 0.65579 +892 0.42143 0.54504 +897 0.40488 0.62815 +896 0.39286 0.54873 +899 0.37357 0.61836 +898 0.36623 0.55254 +SURF 0x24 +mat 0 +refs 32 +892 0.42143 0.54504 +891 0.43964 0.52426 +890 0.47006 0.58890 +889 0.45210 0.50973 +877 0.46830 0.57773 +869 0.45667 0.53136 +868 0.45922 0.58671 +866 0.45419 0.57737 +868 0.45922 0.58671 +867 0.47574 0.64988 +868 0.45922 0.58671 +873 0.51002 0.65566 +874 0.48894 0.58641 +876 0.51990 0.64832 +875 0.49969 0.58492 +882 0.56177 0.62684 +883 0.53369 0.57481 +903 0.58691 0.61377 +883 0.53369 0.57481 +902 0.55267 0.57800 +884 0.53331 0.57560 +918 0.55338 0.57806 +884 0.53331 0.57560 +917 0.56801 0.59596 +884 0.53331 0.57560 +886 0.54086 0.59595 +879 0.50161 0.58597 +885 0.50784 0.59614 +878 0.49165 0.58901 +916 0.49262 0.59397 +877 0.46830 0.57773 +890 0.47006 0.58890 +SURF 0x24 +mat 0 +refs 8 +877 0.46830 0.57773 +868 0.45922 0.58671 +878 0.49165 0.58901 +874 0.48894 0.58641 +879 0.50161 0.58597 +875 0.49969 0.58492 +884 0.53331 0.57560 +883 0.53369 0.57481 +SURF 0x24 +mat 0 +refs 7 +887 0.53088 0.67048 +888 0.56497 0.64858 +887 0.53088 0.67048 +906 0.59443 0.69474 +911 0.53803 0.74982 +908 0.62485 0.75392 +912 0.55794 0.81469 +SURF 0x24 +mat 0 +refs 7 +909 0.67723 0.74139 +926 0.69550 0.69281 +909 0.67723 0.74139 +925 0.70166 0.69580 +919 0.68182 0.74985 +920 0.70790 0.69990 +914 0.68676 0.75560 +SURF 0x24 +mat 0 +refs 9 +923 0.66369 0.63651 +924 0.62986 0.59780 +901 0.63643 0.66263 +903 0.58691 0.61377 +901 0.63643 0.66263 +882 0.56177 0.62684 +881 0.60160 0.71635 +876 0.51990 0.64832 +880 0.56074 0.77505 +SURF 0x24 +mat 0 +refs 8 +901 0.63643 0.66263 +881 0.60160 0.71635 +901 0.63643 0.66263 +900 0.62766 0.76594 +913 0.65991 0.71132 +900 0.62766 0.76594 +914 0.68676 0.75560 +915 0.64469 0.81970 +SURF 0x24 +mat 0 +refs 17 +894 0.31434 0.51830 +895 0.37704 0.62181 +871 0.34900 0.49100 +870 0.44306 0.63483 +863 0.36335 0.47969 +864 0.47925 0.63893 +863 0.36335 0.47969 +862 0.46835 0.63647 +861 0.36677 0.47700 +860 0.45810 0.63104 +858 0.37023 0.47427 +859 0.45529 0.60760 +857 0.39494 0.45480 +866 0.45419 0.57737 +865 0.40860 0.44405 +869 0.45667 0.53136 +872 0.41650 0.43782 +SURF 0x24 +mat 0 +refs 4 +856 0.38600 0.46011 +853 0.29126 0.40777 +855 0.40580 0.43337 +854 0.32724 0.36110 +SURF 0x24 +mat 0 +refs 12 +853 0.29126 0.40777 +852 0.32689 0.48840 +853 0.29126 0.40777 +850 0.27127 0.46747 +851 0.21470 0.37007 +850 0.27127 0.46747 +849 0.18168 0.37154 +848 0.22824 0.46514 +844 0.19708 0.38616 +847 0.23931 0.46950 +842 0.25357 0.42328 +846 0.28402 0.48879 +SURF 0x24 +mat 0 +refs 6 +845 0.18118 0.29475 +844 0.19708 0.38616 +839 0.25037 0.36395 +842 0.25357 0.42328 +838 0.33448 0.44805 +843 0.35799 0.48037 +SURF 0x24 +mat 0 +refs 26 +839 0.25037 0.36395 +838 0.33448 0.44805 +839 0.25037 0.36395 +830 0.31906 0.43002 +831 0.21540 0.29729 +830 0.31906 0.43002 +825 0.20938 0.31319 +821 0.26954 0.41963 +817 0.19961 0.31455 +816 0.25194 0.42793 +815 0.19255 0.30642 +816 0.25194 0.42793 +814 0.25730 0.41893 +818 0.34104 0.47551 +819 0.28253 0.38598 +820 0.35408 0.43546 +823 0.31289 0.34992 +824 0.45540 0.39698 +823 0.31289 0.34992 +826 0.47781 0.37105 +827 0.34627 0.32880 +828 0.47774 0.37602 +829 0.33201 0.33006 +828 0.47774 0.37602 +834 0.34970 0.38213 +833 0.48389 0.39584 +SURF 0x24 +mat 0 +refs 5 +818 0.34104 0.47551 +816 0.25194 0.42793 +822 0.34677 0.48343 +821 0.26954 0.41963 +832 0.37710 0.47616 +SURF 0x24 +mat 0 +refs 7 +840 0.32113 0.42853 +841 0.24425 0.29525 +836 0.32640 0.43729 +837 0.26140 0.32952 +836 0.32640 0.43729 +834 0.34970 0.38213 +835 0.38480 0.43956 +SURF 0x24 +mat 0 +refs 10 +812 0.31303 0.38862 +813 0.40530 0.49349 +812 0.31303 0.38862 +810 0.43575 0.45283 +811 0.37765 0.33685 +806 0.47818 0.43247 +807 0.43982 0.29997 +806 0.47818 0.43247 +805 0.50000 0.29258 +804 0.50000 0.42493 +SURF 0x24 +mat 0 +refs 5 +807 0.43982 0.29997 +805 0.50000 0.29258 +807 0.43982 0.29997 +808 0.50000 0.20599 +809 0.37475 0.20781 +SURF 0x24 +mat 0 +refs 14 +803 0.58953 0.41572 +802 0.66880 0.47959 +803 0.58953 0.41572 +800 0.65464 0.46261 +801 0.59010 0.41442 +800 0.65464 0.46261 +796 0.58445 0.42720 +794 0.65043 0.48128 +796 0.58445 0.42720 +795 0.64406 0.50817 +797 0.57117 0.45720 +795 0.64406 0.50817 +799 0.56086 0.48051 +798 0.62054 0.52481 +SURF 0x24 +mat 0 +refs 20 +791 0.43942 0.32223 +792 0.38631 0.36140 +788 0.42772 0.27341 +789 0.31901 0.35393 +784 0.30564 0.21057 +793 0.26009 0.35353 +784 0.30564 0.21057 +786 0.24378 0.26976 +784 0.30564 0.21057 +785 0.22263 0.24435 +782 0.30810 0.17512 +783 0.22031 0.26546 +782 0.30810 0.17512 +780 0.28346 0.19750 +790 0.36869 0.14343 +780 0.28346 0.19750 +779 0.36134 0.16077 +780 0.28346 0.19750 +776 0.30215 0.22628 +781 0.27024 0.29445 +SURF 0x24 +mat 0 +refs 35 +779 0.36134 0.16077 +776 0.30215 0.22628 +775 0.37088 0.17503 +766 0.28584 0.23111 +765 0.38128 0.17444 +760 0.27885 0.22415 +759 0.38510 0.16653 +756 0.28105 0.21361 +755 0.40118 0.18141 +754 0.31441 0.22100 +758 0.43674 0.21314 +754 0.31441 0.22100 +752 0.35795 0.25259 +753 0.27215 0.33338 +752 0.35795 0.25259 +751 0.31923 0.33574 +752 0.35795 0.25259 +761 0.35624 0.34954 +762 0.41311 0.23382 +763 0.34661 0.33895 +764 0.38309 0.24568 +770 0.31587 0.38454 +764 0.38309 0.24568 +767 0.30432 0.28240 +768 0.43881 0.18804 +769 0.32123 0.24801 +774 0.44353 0.18010 +769 0.32123 0.24801 +772 0.35441 0.25206 +771 0.26164 0.38987 +772 0.35441 0.25206 +773 0.29124 0.41422 +772 0.35441 0.25206 +777 0.31652 0.44344 +778 0.38232 0.30764 +SURF 0x24 +mat 0 +refs 5 +753 0.27215 0.33338 +754 0.31441 0.22100 +753 0.27215 0.33338 +756 0.28105 0.21361 +757 0.23066 0.33324 +SURF 0x24 +mat 0 +refs 6 +782 0.30810 0.17512 +790 0.36869 0.14343 +782 0.30810 0.17512 +787 0.39309 0.18045 +784 0.30564 0.21057 +788 0.42772 0.27341 +SURF 0x24 +mat 0 +refs 9 +749 0.43049 0.10697 +750 0.31416 0.17461 +748 0.44214 0.14066 +747 0.31931 0.20541 +745 0.44936 0.16156 +743 0.33114 0.22478 +745 0.44936 0.16156 +744 0.35183 0.24050 +746 0.45622 0.18140 +SURF 0x24 +mat 0 +refs 14 +741 0.40313 0.31553 +742 0.43731 0.39155 +739 0.41235 0.29781 +740 0.44501 0.37963 +735 0.40917 0.29819 +736 0.44981 0.39027 +733 0.40397 0.31419 +734 0.45902 0.43260 +729 0.44053 0.30906 +730 0.49507 0.46655 +731 0.43564 0.28659 +732 0.48970 0.46906 +737 0.40562 0.31817 +738 0.44569 0.47101 +SURF 0x24 +mat 0 +refs 11 +719 0.48022 0.28857 +728 0.49924 0.31300 +719 0.48022 0.28857 +722 0.50038 0.31214 +718 0.47467 0.27976 +721 0.49223 0.31833 +717 0.44091 0.24950 +721 0.49223 0.31833 +720 0.43752 0.23257 +723 0.49732 0.31446 +724 0.40863 0.23369 +SURF 0x24 +mat 0 +refs 15 +718 0.47467 0.27976 +717 0.44091 0.24950 +718 0.47467 0.27976 +711 0.45002 0.26733 +719 0.48022 0.28857 +711 0.45002 0.26733 +715 0.47482 0.29453 +712 0.45031 0.29661 +714 0.47326 0.29853 +713 0.45297 0.30011 +726 0.47373 0.29984 +713 0.45297 0.30011 +725 0.45378 0.30117 +716 0.44771 0.32147 +727 0.44715 0.32003 +SURF 0x24 +mat 0 +refs 16 +716 0.44771 0.32147 +713 0.45297 0.30011 +710 0.44435 0.31497 +712 0.45031 0.29661 +710 0.44435 0.31497 +711 0.45002 0.26733 +710 0.44435 0.31497 +707 0.44176 0.28945 +709 0.45398 0.34740 +707 0.44176 0.28945 +708 0.45626 0.34566 +706 0.44476 0.31158 +704 0.45177 0.34908 +706 0.44476 0.31158 +703 0.41262 0.26257 +705 0.42243 0.25778 +SURF 0x24 +mat 0 +refs 5 +702 0.42648 0.36830 +704 0.45177 0.34908 +702 0.42648 0.36830 +703 0.41262 0.26257 +701 0.34925 0.26968 +SURF 0x24 +mat 0 +refs 13 +699 0.42272 0.38268 +700 0.31095 0.43715 +693 0.41651 0.44968 +694 0.24475 0.52298 +691 0.41612 0.48610 +692 0.25461 0.56393 +691 0.41612 0.48610 +687 0.26364 0.56768 +688 0.41746 0.47501 +683 0.28567 0.54561 +685 0.42181 0.46426 +684 0.35450 0.49859 +686 0.44484 0.45907 +SURF 0x24 +mat 0 +refs 11 +698 0.28902 0.58105 +697 0.41092 0.52750 +698 0.28902 0.58105 +695 0.40261 0.51842 +696 0.27159 0.55920 +690 0.40486 0.48373 +689 0.23465 0.54396 +684 0.35450 0.49859 +682 0.21207 0.53667 +683 0.28567 0.54561 +681 0.16444 0.55374 +SURF 0x24 +mat 0 +refs 11 +680 0.25971 0.55457 +679 0.19432 0.49299 +678 0.29089 0.55304 +677 0.23347 0.47315 +676 0.30113 0.56138 +675 0.25039 0.46113 +674 0.30966 0.57929 +673 0.25513 0.45965 +671 0.31541 0.61532 +672 0.22351 0.44644 +670 0.25059 0.56780 +SURF 0x24 +mat 0 +refs 7 +668 0.41345 0.26501 +667 0.48558 0.29999 +666 0.43408 0.28984 +669 0.51850 0.34484 +666 0.43408 0.28984 +664 0.46109 0.30584 +665 0.39905 0.24327 +SURF 0x24 +mat 0 +refs 23 +664 0.46109 0.30584 +663 0.50251 0.37426 +664 0.46109 0.30584 +661 0.52369 0.34486 +662 0.48016 0.26216 +661 0.52369 0.34486 +660 0.48928 0.24225 +659 0.53291 0.32713 +658 0.48058 0.24109 +657 0.52973 0.32751 +656 0.47678 0.23138 +655 0.52453 0.34352 +652 0.48735 0.21788 +651 0.56109 0.33839 +650 0.50612 0.21946 +649 0.55620 0.31592 +647 0.47855 0.25418 +645 0.52618 0.34749 +647 0.47855 0.25418 +646 0.45583 0.39476 +648 0.40101 0.31606 +653 0.40454 0.38463 +654 0.35827 0.34239 +SURF 0x24 +mat 0 +refs 49 +628 0.53613 0.58643 +632 0.57561 0.55962 +628 0.53613 0.58643 +631 0.56659 0.54405 +629 0.52920 0.57320 +642 0.55425 0.52675 +641 0.51741 0.55464 +633 0.55811 0.53138 +630 0.51777 0.55539 +634 0.57851 0.55413 +630 0.51777 0.55539 +610 0.53868 0.57393 +611 0.47477 0.59541 +610 0.53868 0.57393 +609 0.52043 0.63920 +606 0.56875 0.60874 +603 0.59255 0.63772 +607 0.60328 0.58682 +603 0.59255 0.63772 +608 0.62884 0.61705 +603 0.59255 0.63772 +604 0.64205 0.63478 +599 0.60786 0.66172 +604 0.64205 0.63478 +601 0.59910 0.65416 +605 0.63531 0.62799 +612 0.58870 0.64513 +613 0.62412 0.61578 +635 0.57937 0.63899 +636 0.61284 0.60527 +635 0.57937 0.63899 +640 0.58834 0.58053 +635 0.57937 0.63899 +638 0.55138 0.60971 +635 0.57937 0.63899 +639 0.52596 0.63819 +635 0.57937 0.63899 +637 0.54917 0.67915 +635 0.57937 0.63899 +614 0.55689 0.69421 +612 0.58870 0.64513 +614 0.55689 0.69421 +601 0.59910 0.65416 +600 0.57013 0.71844 +599 0.60786 0.66172 +598 0.57445 0.72700 +603 0.59255 0.63772 +602 0.54811 0.69110 +609 0.52043 0.63920 +SURF 0x24 +mat 0 +refs 35 +617 0.42987 0.61081 +624 0.36974 0.63612 +617 0.42987 0.61081 +623 0.34192 0.59446 +616 0.40802 0.58862 +625 0.33911 0.59389 +619 0.40156 0.58144 +626 0.35798 0.62047 +619 0.40156 0.58144 +622 0.41610 0.59430 +618 0.45312 0.57027 +622 0.41610 0.59430 +621 0.46795 0.58223 +644 0.46292 0.63928 +627 0.49847 0.61179 +643 0.49512 0.68036 +627 0.49847 0.61179 +639 0.52596 0.63819 +627 0.49847 0.61179 +638 0.55138 0.60971 +627 0.49847 0.61179 +628 0.53613 0.58643 +621 0.46795 0.58223 +629 0.52920 0.57320 +618 0.45312 0.57027 +641 0.51741 0.55464 +618 0.45312 0.57027 +630 0.51777 0.55539 +615 0.45615 0.57405 +611 0.47477 0.59541 +616 0.40802 0.58862 +611 0.47477 0.59541 +617 0.42987 0.61081 +609 0.52043 0.63920 +620 0.48662 0.65975 +SURF 0x24 +mat 0 +refs 5 +615 0.45615 0.57405 +616 0.40802 0.58862 +615 0.45615 0.57405 +619 0.40156 0.58144 +618 0.45312 0.57027 +SURF 0x24 +mat 0 +refs 5 +595 0.31386 0.50820 +597 0.39394 0.41364 +595 0.31386 0.50820 +596 0.37254 0.40619 +594 0.24802 0.46949 +SURF 0x24 +mat 0 +refs 5 +591 0.24755 0.43431 +593 0.23690 0.36784 +591 0.24755 0.43431 +592 0.35581 0.43151 +590 0.34549 0.47417 +SURF 0x24 +mat 0 +refs 32 +574 0.64726 0.50345 +575 0.60851 0.52825 +574 0.64726 0.50345 +552 0.59460 0.48600 +573 0.63049 0.46615 +553 0.57520 0.37877 +573 0.63049 0.46615 +576 0.59406 0.36911 +586 0.66405 0.44517 +576 0.59406 0.36911 +585 0.61242 0.35700 +564 0.53797 0.43597 +585 0.61242 0.35700 +555 0.56423 0.41424 +584 0.63666 0.33860 +550 0.56394 0.40929 +549 0.63470 0.33636 +546 0.55677 0.41262 +545 0.62537 0.33950 +541 0.51021 0.42832 +545 0.62537 0.33950 +537 0.58943 0.35805 +554 0.66212 0.44966 +537 0.58943 0.35805 +536 0.65011 0.45932 +532 0.56837 0.36881 +528 0.62213 0.48004 +533 0.55076 0.37720 +528 0.62213 0.48004 +529 0.59962 0.48966 +530 0.64574 0.52079 +531 0.62052 0.53256 +SURF 0x24 +mat 0 +refs 9 +526 0.53108 0.26928 +527 0.56783 0.37945 +526 0.53108 0.26928 +520 0.58151 0.37011 +522 0.54041 0.26614 +521 0.58920 0.36441 +523 0.54237 0.26838 +524 0.56976 0.37496 +525 0.51812 0.28678 +SURF 0x24 +mat 0 +refs 6 +518 0.31089 0.32783 +519 0.41437 0.37633 +517 0.35434 0.28359 +516 0.47222 0.32486 +515 0.39845 0.23975 +514 0.49460 0.30200 +SURF 0x24 +mat 0 +refs 9 +508 0.37652 0.50611 +513 0.31252 0.45337 +508 0.37652 0.50611 +510 0.27179 0.48500 +506 0.33911 0.53491 +509 0.24021 0.50727 +505 0.31401 0.55193 +512 0.21305 0.53432 +511 0.29633 0.56601 +SURF 0x24 +mat 0 +refs 7 +507 0.42162 0.53249 +508 0.37652 0.50611 +507 0.42162 0.53249 +506 0.33911 0.53491 +504 0.38324 0.55975 +505 0.31401 0.55193 +503 0.36904 0.56898 +SURF 0x24 +mat 0 +refs 10 +499 0.28894 0.56921 +502 0.22213 0.53902 +499 0.28894 0.56921 +501 0.27308 0.51039 +497 0.33413 0.53504 +500 0.36300 0.45475 +497 0.33413 0.53504 +496 0.39615 0.49555 +495 0.37124 0.55992 +494 0.42005 0.52710 +SURF 0x24 +mat 0 +refs 5 +497 0.33413 0.53504 +495 0.37124 0.55992 +497 0.33413 0.53504 +498 0.33822 0.58979 +499 0.28894 0.56921 +SURF 0x24 +mat 0 +refs 6 +493 0.27761 0.64906 +492 0.28508 0.64210 +488 0.33540 0.58125 +491 0.33594 0.58929 +486 0.36970 0.54043 +490 0.37186 0.54977 +SURF 0x24 +mat 0 +refs 4 +486 0.36970 0.54043 +487 0.36260 0.51375 +488 0.33540 0.58125 +489 0.32807 0.55987 +SURF 0x24 +mat 0 +refs 7 +472 0.30700 0.53958 +473 0.32818 0.47946 +472 0.30700 0.53958 +471 0.24623 0.46799 +469 0.24213 0.54241 +470 0.18874 0.45442 +468 0.19018 0.53734 +SURF 0x24 +mat 0 +refs 5 +465 0.21096 0.54541 +467 0.22046 0.49371 +465 0.21096 0.54541 +466 0.30874 0.47716 +464 0.28554 0.53814 +SURF 0x24 +mat 0 +refs 99 +443 0.63276 0.46602 +463 0.63450 0.50236 +443 0.63276 0.46602 +462 0.61470 0.51430 +442 0.61161 0.46796 +462 0.61470 0.51430 +440 0.60698 0.46272 +461 0.61454 0.51498 +440 0.60698 0.46272 +460 0.65483 0.48620 +440 0.60698 0.46272 +439 0.64515 0.44141 +432 0.61611 0.43176 +431 0.64217 0.41481 +430 0.61600 0.41108 +431 0.64217 0.41481 +409 0.63702 0.39562 +433 0.67592 0.39792 +409 0.63702 0.39562 +404 0.66462 0.37890 +402 0.56750 0.42712 +394 0.63391 0.46437 +393 0.59186 0.41543 +394 0.63391 0.46437 +390 0.60960 0.40831 +392 0.64516 0.46033 +390 0.60960 0.40831 +391 0.64209 0.46546 +390 0.60960 0.40831 +389 0.60818 0.41186 +399 0.60590 0.38168 +389 0.60818 0.41186 +396 0.60432 0.38538 +395 0.60047 0.41780 +397 0.59253 0.39267 +395 0.60047 0.41780 +400 0.58725 0.42687 +407 0.70206 0.36694 +400 0.58725 0.42687 +405 0.69007 0.37694 +406 0.63029 0.33582 +437 0.66789 0.39539 +406 0.63029 0.33582 +436 0.65168 0.40524 +426 0.61404 0.34504 +427 0.59943 0.35271 +422 0.59983 0.31831 +428 0.57755 0.33290 +423 0.52548 0.40496 +457 0.56153 0.31690 +458 0.51282 0.38807 +459 0.47956 0.40705 +322 0.49336 0.36417 +321 0.45541 0.38611 +322 0.49336 0.36417 +323 0.51550 0.35140 +458 0.51282 0.38807 +456 0.53064 0.37581 +423 0.52548 0.40496 +419 0.54256 0.39473 +422 0.59983 0.31831 +417 0.55325 0.41428 +426 0.61404 0.34504 +417 0.55325 0.41428 +406 0.63029 0.33582 +401 0.57077 0.40567 +400 0.58725 0.42687 +401 0.57077 0.40567 +397 0.59253 0.39267 +411 0.58758 0.37034 +397 0.59253 0.39267 +410 0.60178 0.36187 +396 0.60432 0.38538 +413 0.59932 0.36022 +399 0.60590 0.38168 +412 0.57733 0.36816 +399 0.60590 0.38168 +398 0.57958 0.38489 +390 0.60960 0.40831 +398 0.57958 0.38489 +393 0.59186 0.41543 +403 0.55060 0.39766 +402 0.56750 0.42712 +414 0.52222 0.41831 +402 0.56750 0.42712 +408 0.60293 0.34205 +409 0.63702 0.39562 +425 0.58632 0.35665 +430 0.61600 0.41108 +434 0.62114 0.41564 +432 0.61611 0.43176 +435 0.62107 0.43538 +440 0.60698 0.46272 +435 0.62107 0.43538 +442 0.61161 0.46796 +441 0.63457 0.43201 +443 0.63276 0.46602 +444 0.65719 0.42022 +445 0.66431 0.44747 +SURF 0x24 +mat 0 +refs 49 +436 0.65168 0.40524 +444 0.65719 0.42022 +436 0.65168 0.40524 +441 0.63457 0.43201 +438 0.63203 0.41365 +435 0.62107 0.43538 +438 0.63203 0.41365 +434 0.62114 0.41564 +429 0.59018 0.35666 +425 0.58632 0.35665 +424 0.56842 0.34049 +425 0.58632 0.35665 +420 0.56443 0.34014 +408 0.60293 0.34205 +420 0.56443 0.34014 +414 0.52222 0.41831 +421 0.54876 0.32334 +414 0.52222 0.41831 +415 0.50960 0.40706 +403 0.55060 0.39766 +416 0.54235 0.38428 +398 0.57958 0.38489 +416 0.54235 0.38428 +412 0.57733 0.36816 +451 0.53224 0.36770 +412 0.57733 0.36816 +448 0.56906 0.34510 +413 0.59932 0.36022 +449 0.59368 0.33467 +410 0.60178 0.36187 +446 0.59837 0.33470 +411 0.58758 0.37034 +447 0.58136 0.34746 +411 0.58758 0.37034 +418 0.55886 0.38551 +401 0.57077 0.40567 +418 0.55886 0.38551 +417 0.55325 0.41428 +418 0.55886 0.38551 +419 0.54256 0.39473 +455 0.54985 0.36693 +456 0.53064 0.37581 +324 0.53685 0.33901 +323 0.51550 0.35140 +324 0.53685 0.33901 +314 0.57168 0.31885 +455 0.54985 0.36693 +447 0.58136 0.34746 +418 0.55886 0.38551 +SURF 0x24 +mat 0 +refs 40 +436 0.65168 0.40524 +438 0.63203 0.41365 +427 0.59943 0.35271 +429 0.59018 0.35666 +428 0.57755 0.33290 +424 0.56842 0.34049 +457 0.56153 0.31690 +452 0.54535 0.32881 +459 0.47956 0.40705 +453 0.52005 0.31029 +321 0.45541 0.38611 +320 0.43712 0.39667 +321 0.45541 0.38611 +319 0.44766 0.39059 +323 0.51550 0.35140 +315 0.58765 0.30975 +314 0.57168 0.31885 +313 0.58732 0.30986 +447 0.58136 0.34746 +313 0.58732 0.30986 +446 0.59837 0.33470 +315 0.58765 0.30975 +449 0.59368 0.33467 +316 0.57457 0.31724 +448 0.56906 0.34510 +317 0.52088 0.34826 +451 0.53224 0.36770 +318 0.46858 0.37849 +451 0.53224 0.36770 +450 0.49257 0.38970 +416 0.54235 0.38428 +450 0.49257 0.38970 +415 0.50960 0.40706 +454 0.53177 0.30306 +421 0.54876 0.32334 +453 0.52005 0.31029 +421 0.54876 0.32334 +452 0.54535 0.32881 +420 0.56443 0.34014 +424 0.56842 0.34049 +SURF 0x24 +mat 0 +refs 12 +320 0.43712 0.39667 +453 0.52005 0.31029 +320 0.43712 0.39667 +454 0.53177 0.30306 +319 0.44766 0.39059 +450 0.49257 0.38970 +319 0.44766 0.39059 +318 0.46858 0.37849 +319 0.44766 0.39059 +317 0.52088 0.34826 +315 0.58765 0.30975 +316 0.57457 0.31724 +SURF 0x24 +mat 0 +refs 8 +388 0.31194 0.43668 +387 0.41925 0.41102 +382 0.28773 0.49412 +381 0.39851 0.47960 +380 0.28485 0.52728 +379 0.38280 0.52699 +383 0.31181 0.55589 +386 0.39000 0.54069 +SURF 0x24 +mat 0 +refs 5 +380 0.28485 0.52728 +383 0.31181 0.55589 +380 0.28485 0.52728 +384 0.24930 0.58231 +385 0.17673 0.53226 +SURF 0x24 +mat 0 +refs 14 +378 0.33498 0.63103 +377 0.41441 0.58790 +378 0.33498 0.63103 +371 0.41916 0.63354 +370 0.32603 0.68978 +371 0.41916 0.63354 +367 0.33267 0.73236 +364 0.41854 0.65254 +366 0.33464 0.72062 +365 0.41805 0.65651 +368 0.34425 0.67289 +369 0.41428 0.60024 +373 0.34712 0.59319 +376 0.40076 0.54588 +SURF 0x24 +mat 0 +refs 5 +368 0.34425 0.67289 +373 0.34712 0.59319 +368 0.34425 0.67289 +374 0.32069 0.60227 +375 0.28647 0.71625 +SURF 0x24 +mat 0 +refs 7 +363 0.47415 0.60425 +365 0.41805 0.65651 +363 0.47415 0.60425 +364 0.41854 0.65254 +362 0.47072 0.59748 +371 0.41916 0.63354 +372 0.46827 0.58817 +SURF 0x24 +mat 0 +refs 22 +359 0.55826 0.53647 +361 0.57231 0.52889 +359 0.55826 0.53647 +360 0.58437 0.54352 +356 0.57176 0.55400 +357 0.60580 0.56284 +355 0.59412 0.57923 +349 0.61740 0.57328 +350 0.60709 0.59224 +345 0.62254 0.57492 +344 0.61237 0.59379 +346 0.62805 0.57723 +340 0.61755 0.59649 +347 0.62245 0.56667 +341 0.61019 0.58495 +348 0.60022 0.53794 +341 0.61019 0.58495 +342 0.58301 0.55183 +333 0.60291 0.61325 +334 0.56940 0.56630 +335 0.56562 0.64110 +336 0.54214 0.59241 +SURF 0x24 +mat 0 +refs 15 +335 0.56562 0.64110 +338 0.59247 0.68538 +333 0.60291 0.61325 +337 0.61361 0.62968 +341 0.61019 0.58495 +337 0.61361 0.62968 +340 0.61755 0.59649 +339 0.60737 0.62559 +344 0.61237 0.59379 +343 0.60121 0.62259 +350 0.60709 0.59224 +351 0.58091 0.60538 +355 0.59412 0.57923 +354 0.55078 0.57020 +356 0.57176 0.55400 +SURF 0x24 +mat 0 +refs 7 +358 0.52355 0.59164 +354 0.55078 0.57020 +358 0.52355 0.59164 +351 0.58091 0.60538 +352 0.56023 0.64069 +343 0.60121 0.62259 +353 0.58294 0.67117 +SURF 0x24 +mat 0 +refs 5 +330 0.60777 0.29672 +332 0.50618 0.34758 +330 0.60777 0.29672 +331 0.51389 0.34164 +329 0.54780 0.39525 +SURF 0x24 +mat 0 +refs 5 +326 0.54787 0.34459 +328 0.55086 0.37119 +326 0.54787 0.34459 +327 0.59400 0.34324 +325 0.58163 0.32770 +SURF 0x24 +mat 0 +refs 5 +310 0.22561 0.54436 +312 0.29294 0.57882 +310 0.22561 0.54436 +311 0.27032 0.55875 +309 0.18160 0.51571 +SURF 0x24 +mat 0 +refs 7 +308 0.43385 0.12616 +307 0.41414 0.12263 +305 0.44647 0.14612 +303 0.41180 0.13534 +305 0.44647 0.14612 +304 0.40956 0.14234 +306 0.46590 0.15712 +SURF 0x24 +mat 0 +refs 20 +302 0.65111 0.38117 +301 0.66881 0.47958 +300 0.64560 0.39711 +299 0.65464 0.46261 +298 0.63807 0.41328 +297 0.65043 0.48128 +296 0.62847 0.43630 +295 0.64406 0.50817 +294 0.62759 0.45021 +293 0.62054 0.52480 +292 0.62084 0.46128 +291 0.59857 0.54038 +290 0.61464 0.46820 +289 0.58211 0.55529 +288 0.59692 0.47552 +287 0.57722 0.56410 +286 0.58910 0.46440 +285 0.56875 0.53904 +284 0.57809 0.44175 +283 0.55048 0.50397 +SURF 0x24 +mat 0 +refs 14 +282 0.39928 0.46145 +281 0.36335 0.47969 +282 0.39928 0.46145 +280 0.46836 0.63646 +279 0.44662 0.47607 +280 0.46836 0.63646 +278 0.45482 0.47601 +277 0.45810 0.63104 +275 0.46303 0.46207 +276 0.45529 0.60760 +274 0.47979 0.44856 +273 0.45419 0.57737 +272 0.48709 0.43611 +271 0.45668 0.53136 +SURF 0x24 +mat 0 +refs 32 +270 0.58705 0.42129 +269 0.56215 0.47760 +267 0.59725 0.39822 +268 0.56391 0.47362 +266 0.60037 0.39117 +265 0.56569 0.46959 +263 0.60701 0.37616 +264 0.57842 0.44082 +262 0.61415 0.36002 +261 0.58545 0.42492 +260 0.62083 0.34493 +259 0.58953 0.41572 +260 0.62083 0.34493 +257 0.59010 0.41442 +258 0.61275 0.36319 +257 0.59010 0.41442 +256 0.60802 0.37388 +255 0.58445 0.42720 +254 0.59875 0.39483 +253 0.57117 0.45720 +252 0.59190 0.41032 +251 0.56086 0.48051 +250 0.58717 0.42100 +249 0.55071 0.50346 +248 0.58272 0.43106 +247 0.54145 0.52438 +246 0.58075 0.43551 +245 0.53555 0.53772 +244 0.58127 0.43433 +243 0.54079 0.52588 +242 0.58269 0.43113 +241 0.55047 0.50399 +SURF 0x24 +mat 0 +refs 5 +238 0.40333 0.19986 +240 0.38045 0.20610 +238 0.40333 0.19986 +239 0.37288 0.19927 +237 0.40333 0.19311 +SURF 0x24 +mat 0 +refs 5 +234 0.45488 0.30298 +236 0.45212 0.29001 +234 0.45488 0.30298 +235 0.47548 0.29235 +233 0.47462 0.30251 +SURF 0x24 +mat 0 +refs 8 +231 0.45086 0.32362 +232 0.44283 0.31735 +231 0.45086 0.32362 +229 0.45170 0.29799 +230 0.45487 0.30295 +229 0.45170 0.29799 +228 0.47476 0.30268 +227 0.47370 0.29390 +SURF 0x24 +mat 0 +refs 5 +224 0.40333 0.20056 +226 0.38268 0.20701 +224 0.40333 0.20056 +225 0.36881 0.19613 +223 0.40333 0.18780 +SURF 0x24 +mat 0 +refs 5 +220 0.45681 0.30517 +222 0.45025 0.28631 +220 0.45681 0.30517 +221 0.47551 0.28720 +219 0.47524 0.30484 +SURF 0x24 +mat 0 +refs 8 +217 0.45133 0.32346 +218 0.43833 0.31565 +217 0.45133 0.32346 +215 0.44926 0.29472 +216 0.45663 0.30469 +215 0.44926 0.29472 +214 0.47698 0.30694 +213 0.47347 0.28894 +SURF 0x24 +mat 0 +refs 5 +210 0.40332 0.20218 +212 0.38351 0.20796 +210 0.40332 0.20218 +211 0.36980 0.19622 +209 0.40327 0.18757 +SURF 0x24 +mat 0 +refs 5 +206 0.45737 0.30590 +208 0.45140 0.28977 +206 0.45737 0.30590 +207 0.47604 0.28805 +205 0.47499 0.30607 +SURF 0x24 +mat 0 +refs 8 +203 0.45193 0.32146 +204 0.43436 0.31164 +203 0.45193 0.32146 +201 0.44783 0.29271 +202 0.45790 0.30631 +201 0.44783 0.29271 +200 0.47480 0.30600 +199 0.47083 0.28392 +SURF 0x24 +mat 0 +refs 5 +196 0.40332 0.20218 +198 0.38351 0.20796 +196 0.40332 0.20218 +197 0.37428 0.19595 +195 0.40327 0.18782 +SURF 0x24 +mat 0 +refs 5 +192 0.45737 0.30590 +194 0.45415 0.29331 +192 0.45737 0.30590 +193 0.47897 0.29146 +191 0.47499 0.30607 +SURF 0x24 +mat 0 +refs 8 +189 0.45193 0.32146 +190 0.43689 0.31535 +189 0.45193 0.32146 +187 0.45054 0.29627 +188 0.45790 0.30631 +187 0.45054 0.29627 +186 0.47480 0.30600 +185 0.47374 0.28734 +SURF 0x24 +mat 0 +refs 8 +183 0.45504 0.32487 +184 0.43962 0.31821 +183 0.45504 0.32487 +181 0.45302 0.29950 +182 0.45862 0.30721 +181 0.45302 0.29950 +180 0.47680 0.30927 +179 0.47578 0.29073 +SURF 0x24 +mat 0 +refs 5 +176 0.40332 0.20379 +178 0.38688 0.20907 +176 0.40332 0.20379 +177 0.37564 0.19887 +175 0.40330 0.19065 +SURF 0x24 +mat 0 +refs 5 +172 0.46006 0.31340 +174 0.45267 0.29822 +172 0.46006 0.31340 +173 0.47746 0.29430 +171 0.47614 0.30943 +SURF 0x24 +mat 0 +refs 8 +169 0.38641 0.23522 +170 0.37428 0.24074 +169 0.38641 0.23522 +167 0.36749 0.22153 +168 0.37451 0.22169 +167 0.36749 0.22153 +166 0.38716 0.20846 +165 0.37428 0.20106 +SURF 0x24 +mat 0 +refs 8 +163 0.38031 0.22428 +164 0.36625 0.22110 +163 0.38031 0.22428 +161 0.37814 0.20178 +162 0.38688 0.20907 +161 0.37814 0.20178 +160 0.40332 0.20379 +159 0.40330 0.19443 +SURF 0x24 +mat 0 +refs 8 +157 0.38989 0.23260 +158 0.37970 0.23974 +157 0.38989 0.23260 +155 0.37345 0.22146 +156 0.37844 0.22163 +155 0.37345 0.22146 +154 0.39093 0.21113 +153 0.37970 0.20380 +SURF 0x24 +mat 0 +refs 8 +151 0.37971 0.22193 +152 0.37397 0.21787 +151 0.37971 0.22193 +149 0.38347 0.20491 +150 0.39059 0.21111 +149 0.38347 0.20491 +148 0.40332 0.20649 +147 0.40330 0.19862 +SURF 0x24 +mat 0 +refs 8 +145 0.38717 0.22190 +146 0.38114 0.21963 +145 0.38717 0.22190 +143 0.38915 0.21291 +144 0.39525 0.21420 +143 0.38915 0.21291 +142 0.40333 0.21103 +141 0.40324 0.20788 +SURF 0x24 +mat 0 +refs 8 +139 0.39551 0.22957 +140 0.38801 0.23028 +139 0.39551 0.22957 +137 0.38454 0.22127 +138 0.38711 0.22183 +137 0.38454 0.22127 +136 0.40085 0.21675 +135 0.38801 0.21375 +SURF 0x24 +mat 0 +refs 5 +132 0.40333 0.24401 +134 0.40333 0.25076 +132 0.40333 0.24401 +133 0.37288 0.24460 +131 0.38045 0.23777 +SURF 0x24 +mat 0 +refs 5 +128 0.45514 0.30278 +130 0.44941 0.32167 +128 0.45514 0.30278 +129 0.43939 0.31978 +127 0.44339 0.29665 +SURF 0x24 +mat 0 +refs 5 +124 0.40333 0.24331 +126 0.40333 0.25607 +124 0.40333 0.24331 +125 0.36881 0.24774 +123 0.38268 0.23686 +SURF 0x24 +mat 0 +refs 5 +120 0.45673 0.30522 +122 0.45148 0.32289 +120 0.45673 0.30522 +121 0.43442 0.31844 +119 0.44032 0.29386 +SURF 0x24 +mat 0 +refs 5 +116 0.40332 0.24170 +118 0.40326 0.25631 +116 0.40332 0.24170 +117 0.36980 0.24765 +115 0.38351 0.23591 +SURF 0x24 +mat 0 +refs 5 +112 0.45729 0.30596 +114 0.45274 0.32298 +112 0.45729 0.30596 +113 0.43509 0.31917 +111 0.44334 0.29589 +SURF 0x24 +mat 0 +refs 5 +108 0.40332 0.24170 +110 0.40326 0.25605 +108 0.40332 0.24170 +109 0.37428 0.24792 +107 0.38351 0.23591 +SURF 0x24 +mat 0 +refs 5 +104 0.45729 0.30596 +106 0.45274 0.32298 +104 0.45729 0.30596 +105 0.43759 0.32290 +103 0.44602 0.29949 +SURF 0x24 +mat 0 +refs 5 +100 0.40332 0.24009 +102 0.40330 0.25322 +100 0.40332 0.24009 +101 0.37564 0.24500 +99 0.38688 0.23480 +SURF 0x24 +mat 0 +refs 5 +96 0.46380 0.31056 +98 0.45566 0.32499 +96 0.46380 0.31056 +97 0.44074 0.32221 +95 0.45115 0.29937 +SURF 0x24 +mat 0 +refs 7 +93 0.36625 0.22277 +94 0.38031 0.21959 +91 0.37814 0.24209 +89 0.38688 0.23480 +91 0.37814 0.24209 +90 0.40332 0.24009 +92 0.40330 0.24944 +SURF 0x24 +mat 0 +refs 7 +87 0.37397 0.22600 +88 0.37971 0.22194 +85 0.38347 0.23896 +83 0.39059 0.23276 +85 0.38347 0.23896 +84 0.40332 0.23738 +86 0.40330 0.24525 +SURF 0x24 +mat 0 +refs 7 +81 0.38114 0.22424 +82 0.38717 0.22197 +79 0.38915 0.23096 +77 0.39525 0.22967 +79 0.38915 0.23096 +78 0.40333 0.23284 +80 0.40324 0.23599 +SURF 0x24 +mat 0 +refs 34 +66 0.35987 0.42764 +72 0.37036 0.45094 +66 0.35987 0.42764 +73 0.37572 0.43707 +67 0.36468 0.41521 +74 0.38774 0.42602 +68 0.37545 0.40531 +75 0.40320 0.42076 +69 0.38930 0.40059 +76 0.41795 0.42270 +69 0.38930 0.40059 +70 0.40252 0.40233 +63 0.38071 0.39759 +70 0.40252 0.40233 +64 0.38851 0.39862 +71 0.41157 0.41005 +64 0.38851 0.39862 +54 0.39385 0.40317 +53 0.37596 0.40616 +52 0.39529 0.41005 +53 0.37596 0.40616 +55 0.39245 0.41739 +53 0.37596 0.40616 +56 0.38609 0.42323 +53 0.37596 0.40616 +57 0.37791 0.42602 +53 0.37596 0.40616 +58 0.37010 0.42499 +53 0.37596 0.40616 +59 0.36477 0.42043 +60 0.36332 0.41356 +59 0.36477 0.42043 +66 0.35987 0.42764 +65 0.36231 0.43928 +SURF 0x24 +mat 0 +refs 12 +60 0.36332 0.41356 +66 0.35987 0.42764 +60 0.36332 0.41356 +67 0.36468 0.41521 +61 0.36616 0.40622 +68 0.37545 0.40531 +62 0.37253 0.40038 +69 0.38930 0.40059 +62 0.37253 0.40038 +63 0.38071 0.39759 +53 0.37596 0.40616 +64 0.38851 0.39862 +SURF 0x24 +mat 0 +refs 4 +62 0.37253 0.40038 +53 0.37596 0.40616 +61 0.36616 0.40622 +60 0.36332 0.41356 +SURF 0x24 +mat 0 +refs 19 +51 0.31512 0.36992 +50 0.34050 0.36705 +51 0.31512 0.36992 +41 0.35306 0.36277 +27 0.32637 0.36608 +42 0.36561 0.36705 +28 0.33762 0.36992 +43 0.37480 0.37874 +31 0.34586 0.38040 +44 0.37817 0.39472 +33 0.34887 0.39472 +45 0.37480 0.41069 +35 0.34586 0.40904 +46 0.36561 0.42239 +37 0.33762 0.41952 +47 0.35306 0.42667 +39 0.32637 0.42336 +48 0.34050 0.42239 +49 0.31512 0.41952 +SURF 0x24 +mat 0 +refs 15 +29 0.31142 0.37781 +27 0.32637 0.36608 +29 0.31142 0.37781 +28 0.33762 0.36992 +30 0.31806 0.38008 +31 0.34586 0.38040 +32 0.32293 0.38627 +33 0.34887 0.39472 +34 0.32471 0.39472 +35 0.34586 0.40904 +36 0.32293 0.40317 +37 0.33762 0.41952 +38 0.31806 0.40936 +39 0.32637 0.42336 +40 0.31142 0.41163 +SURF 0x24 +mat 0 +refs 12 +22 0.40860 0.35760 +26 0.38617 0.37982 +22 0.40860 0.35760 +25 0.37779 0.36867 +23 0.40289 0.33253 +24 0.38868 0.35103 +23 0.40289 0.33253 +17 0.39710 0.34146 +12 0.42226 0.31640 +17 0.39710 0.34146 +18 0.42676 0.33337 +19 0.39778 0.34884 +SURF 0x24 +mat 0 +refs 32 +14 0.41985 0.34580 +22 0.40860 0.35760 +14 0.41985 0.34580 +23 0.40289 0.33253 +13 0.42067 0.31616 +12 0.42226 0.31640 +10 0.44515 0.29489 +12 0.42226 0.31640 +9 0.44668 0.29837 +18 0.42676 0.33337 +9 0.44668 0.29837 +20 0.45251 0.32129 +4 0.47394 0.27635 +21 0.47063 0.29747 +5 0.48540 0.27449 +16 0.47905 0.28932 +5 0.48540 0.27449 +15 0.47064 0.30029 +5 0.48540 0.27449 +6 0.47291 0.28710 +3 0.49361 0.26653 +7 0.47592 0.28485 +3 0.49361 0.26653 +8 0.47330 0.30569 +3 0.49361 0.26653 +2 0.48930 0.28471 +1 0.47642 0.27319 +0 0.47472 0.29362 +10 0.44515 0.29489 +11 0.44223 0.32610 +13 0.42067 0.31616 +14 0.41985 0.34580 +SURF 0x24 +mat 0 +refs 6 +10 0.44515 0.29489 +9 0.44668 0.29837 +1 0.47642 0.27319 +4 0.47394 0.27635 +3 0.49361 0.26653 +5 0.48540 0.27449 +SURF 0x24 +mat 0 +refs 88 +529 0.59962 0.48966 +533 0.55076 0.37720 +529 0.59962 0.48966 +535 0.52901 0.39466 +534 0.58292 0.49637 +535 0.52901 0.39466 +539 0.56404 0.50611 +538 0.53486 0.39651 +551 0.56917 0.50296 +547 0.54747 0.39057 +552 0.59460 0.48600 +547 0.54747 0.39057 +553 0.57520 0.37877 +562 0.56493 0.35240 +553 0.57520 0.37877 +578 0.58228 0.34315 +576 0.59406 0.36911 +578 0.58228 0.34315 +564 0.53797 0.43597 +577 0.57171 0.31661 +565 0.52846 0.41375 +579 0.50138 0.39955 +589 0.52160 0.38792 +484 0.48679 0.36753 +485 0.51263 0.35259 +475 0.56043 0.32510 +589 0.52160 0.38792 +587 0.56339 0.36180 +565 0.52846 0.41375 +557 0.56045 0.39182 +564 0.53797 0.43597 +557 0.56045 0.39182 +555 0.56423 0.41424 +556 0.56067 0.38751 +550 0.56394 0.40929 +567 0.55491 0.38931 +546 0.55677 0.41262 +566 0.50682 0.41710 +541 0.51021 0.42832 +558 0.54327 0.32543 +541 0.51021 0.42832 +540 0.54968 0.33727 +537 0.58943 0.35805 +540 0.54968 0.33727 +532 0.56837 0.36881 +543 0.53183 0.34744 +533 0.55076 0.37720 +542 0.51157 0.37113 +535 0.52901 0.39466 +544 0.51856 0.37088 +538 0.53486 0.39651 +548 0.53320 0.36530 +547 0.54747 0.39057 +548 0.53320 0.36530 +562 0.56493 0.35240 +561 0.51841 0.34813 +562 0.56493 0.35240 +563 0.55730 0.32956 +578 0.58228 0.34315 +563 0.55730 0.32956 +577 0.57171 0.31661 +563 0.55730 0.32956 +579 0.50138 0.39955 +580 0.48701 0.40781 +579 0.50138 0.39955 +483 0.46666 0.37916 +484 0.48679 0.36753 +483 0.46666 0.37916 +482 0.41626 0.40829 +580 0.48701 0.40781 +571 0.49864 0.33054 +563 0.55730 0.32956 +571 0.49864 0.33054 +561 0.51841 0.34813 +572 0.48177 0.33852 +561 0.51841 0.34813 +570 0.50381 0.35531 +548 0.53320 0.36530 +570 0.50381 0.35531 +544 0.51856 0.37088 +560 0.49843 0.35700 +542 0.51157 0.37113 +560 0.49843 0.35700 +543 0.53183 0.34744 +559 0.52391 0.33714 +543 0.53183 0.34744 +558 0.54327 0.32543 +540 0.54968 0.33727 +SURF 0x24 +mat 0 +refs 41 +559 0.52391 0.33714 +558 0.54327 0.32543 +568 0.47464 0.39966 +566 0.50682 0.41710 +569 0.50796 0.38367 +567 0.55491 0.38931 +583 0.56147 0.35640 +556 0.56067 0.38751 +582 0.56773 0.35483 +557 0.56045 0.39182 +582 0.56773 0.35483 +587 0.56339 0.36180 +474 0.56350 0.32319 +475 0.56043 0.32510 +476 0.54808 0.33224 +484 0.48679 0.36753 +480 0.40356 0.41563 +482 0.41626 0.40829 +481 0.39642 0.41976 +571 0.49864 0.33054 +481 0.39642 0.41976 +572 0.48177 0.33852 +480 0.40356 0.41563 +572 0.48177 0.33852 +581 0.48243 0.33721 +570 0.50381 0.35531 +581 0.48243 0.33721 +560 0.49843 0.35700 +581 0.48243 0.33721 +559 0.52391 0.33714 +588 0.50866 0.31456 +568 0.47464 0.39966 +479 0.43511 0.39740 +568 0.47464 0.39966 +478 0.46802 0.37837 +569 0.50796 0.38367 +477 0.49874 0.36062 +583 0.56147 0.35640 +476 0.54808 0.33224 +582 0.56773 0.35483 +474 0.56350 0.32319 +SURF 0x24 +mat 0 +refs 8 +477 0.49874 0.36062 +476 0.54808 0.33224 +478 0.46802 0.37837 +480 0.40356 0.41563 +479 0.43511 0.39740 +480 0.40356 0.41563 +588 0.50866 0.31456 +581 0.48243 0.33721 +SURF 0x24 +mat 0 +refs 84 +1398 0.38175 0.26849 +1330 0.37769 0.30512 +1328 0.38034 0.26924 +1329 0.37613 0.30080 +1318 0.37246 0.29730 +1317 0.37348 0.30998 +1283 0.37749 0.32055 +1317 0.37348 0.30998 +1267 0.37077 0.32114 +1317 0.37348 0.30998 +1321 0.36862 0.31066 +1329 0.37613 0.30080 +1321 0.36862 0.31066 +1330 0.37769 0.30512 +1331 0.37084 0.29531 +1330 0.37769 0.30512 +1399 0.37606 0.26287 +1398 0.38175 0.26849 +1404 0.38203 0.23507 +1400 0.38739 0.23809 +1405 0.37403 0.20622 +1400 0.38739 0.23809 +1403 0.37264 0.19459 +1400 0.38739 0.23809 +1402 0.37627 0.20792 +1401 0.38599 0.24155 +1413 0.36715 0.19814 +1412 0.37189 0.24155 +1436 0.36718 0.19438 +1411 0.37039 0.24397 +1441 0.38218 0.20908 +1410 0.39191 0.26007 +1441 0.38218 0.20908 +1440 0.39649 0.23848 +1490 0.37517 0.18364 +1439 0.39787 0.22685 +1490 0.37517 0.18364 +1437 0.39189 0.23168 +1438 0.37344 0.20065 +1437 0.39189 0.23168 +1407 0.37964 0.24616 +1406 0.40346 0.27574 +1396 0.38178 0.27589 +1395 0.40355 0.28896 +1323 0.38437 0.29200 +1324 0.40364 0.30206 +1266 0.38848 0.32330 +1324 0.40364 0.30206 +1271 0.39856 0.32020 +1326 0.41052 0.30683 +1271 0.39856 0.32020 +1290 0.40210 0.32057 +1288 0.41409 0.29618 +1290 0.40210 0.32057 +1289 0.40188 0.32175 +1290 0.40210 0.32057 +1325 0.40935 0.30821 +1326 0.41052 0.30683 +1397 0.40955 0.29938 +1326 0.41052 0.30683 +1394 0.41058 0.29527 +1324 0.40364 0.30206 +1394 0.41058 0.29527 +1395 0.40355 0.28896 +1408 0.41069 0.27970 +1406 0.40346 0.27574 +1408 0.41069 0.27970 +1437 0.39189 0.23168 +1408 0.41069 0.27970 +1439 0.39787 0.22685 +1408 0.41069 0.27970 +1440 0.39649 0.23848 +1409 0.40991 0.28426 +1410 0.39191 0.26007 +1393 0.39483 0.29092 +1410 0.39191 0.26007 +1392 0.37278 0.28176 +1411 0.37039 0.24397 +1327 0.37155 0.27090 +1412 0.37189 0.24155 +1328 0.38034 0.26924 +1401 0.38599 0.24155 +1398 0.38175 0.26849 +1400 0.38739 0.23809 +SURF 0x24 +mat 0 +refs 18 +1328 0.38034 0.26924 +1318 0.37246 0.29730 +1327 0.37155 0.27090 +1319 0.37367 0.29398 +1392 0.37278 0.28176 +1319 0.37367 0.29398 +1393 0.39483 0.29092 +1320 0.39671 0.30475 +1397 0.40955 0.29938 +1320 0.39671 0.30475 +1325 0.40935 0.30821 +1320 0.39671 0.30475 +1289 0.40188 0.32175 +1320 0.39671 0.30475 +1286 0.39312 0.32155 +1319 0.37367 0.29398 +1283 0.37749 0.32055 +1318 0.37246 0.29730 +SURF 0x24 +mat 0 +refs 5 +1393 0.39483 0.29092 +1397 0.40955 0.29938 +1409 0.40991 0.28426 +1394 0.41058 0.29527 +1408 0.41069 0.27970 +SURF 0x24 +mat 0 +refs 24 +1715 0.52711 0.28896 +1726 0.53677 0.31977 +1719 0.53325 0.28922 +1730 0.54353 0.32154 +1721 0.54259 0.27889 +1729 0.56002 0.30816 +1721 0.54259 0.27889 +1732 0.55481 0.25651 +1721 0.54259 0.27889 +1722 0.54189 0.24713 +1720 0.53025 0.26506 +1714 0.46925 0.23258 +1720 0.53025 0.26506 +1709 0.46377 0.24102 +1708 0.52232 0.27278 +1705 0.46055 0.24316 +1708 0.52232 0.27278 +1704 0.51551 0.27185 +1708 0.52232 0.27278 +1715 0.52711 0.28896 +1708 0.52232 0.27278 +1719 0.53325 0.28922 +1720 0.53025 0.26506 +1721 0.54259 0.27889 +SURF 0x24 +mat 0 +refs 8 +1874 0.43378 0.32370 +1851 0.39406 0.30763 +1874 0.43378 0.32370 +1852 0.42982 0.30062 +1875 0.46648 0.31560 +1852 0.42982 0.30062 +1853 0.46713 0.29331 +1851 0.39406 0.30763 +SURF 0x24 +mat 0 +refs 15 +2225 0.47967 0.62243 +2180 0.49342 0.63026 +2190 0.46173 0.62926 +2181 0.47102 0.63468 +2190 0.46173 0.62926 +2187 0.45825 0.63618 +2190 0.46173 0.62926 +2189 0.44020 0.63196 +2190 0.46173 0.62926 +2192 0.43662 0.61614 +2190 0.46173 0.62926 +2191 0.44866 0.61303 +2190 0.46173 0.62926 +2228 0.46325 0.60834 +2225 0.47967 0.62243 +SURF 0x24 +mat 0 +refs 60 +2529 0.48171 0.58408 +2524 0.43802 0.57883 +2528 0.46222 0.60087 +2527 0.43209 0.59145 +2528 0.46222 0.60087 +2530 0.44499 0.61413 +2577 0.45693 0.61955 +2530 0.44499 0.61413 +2578 0.44824 0.62328 +2532 0.43778 0.61837 +2578 0.44824 0.62328 +2579 0.44494 0.62062 +2598 0.45852 0.62729 +2575 0.45881 0.61081 +2599 0.48803 0.62112 +2576 0.47639 0.59465 +2590 0.51168 0.60835 +2535 0.48676 0.59810 +2589 0.51325 0.61073 +2534 0.48457 0.60677 +2582 0.50732 0.62353 +2574 0.48466 0.60836 +2573 0.50988 0.62625 +2541 0.51487 0.62266 +2543 0.54441 0.62751 +2541 0.51487 0.62266 +2544 0.56462 0.62054 +2542 0.53239 0.60677 +2581 0.56857 0.62125 +2592 0.53475 0.60379 +2581 0.56857 0.62125 +2593 0.54972 0.62932 +2581 0.56857 0.62125 +2586 0.56442 0.63803 +2581 0.56857 0.62125 +2580 0.58251 0.63332 +2544 0.56462 0.62054 +2546 0.57163 0.62980 +2543 0.54441 0.62751 +2545 0.55555 0.63114 +2573 0.50988 0.62625 +2591 0.54192 0.62884 +2582 0.50732 0.62353 +2584 0.55463 0.62466 +2589 0.51325 0.61073 +2583 0.55803 0.62627 +2590 0.51168 0.60835 +2585 0.53840 0.63371 +2599 0.48803 0.62112 +2587 0.50570 0.63434 +2598 0.45852 0.62729 +2597 0.46232 0.62992 +2578 0.44824 0.62328 +2597 0.46232 0.62992 +2577 0.45693 0.61955 +2596 0.46896 0.62502 +2577 0.45693 0.61955 +2572 0.47793 0.60528 +2528 0.46222 0.60087 +2529 0.48171 0.58408 +SURF 0x24 +mat 0 +refs 11 +2586 0.56442 0.63803 +2587 0.50570 0.63434 +2586 0.56442 0.63803 +2585 0.53840 0.63371 +2580 0.58251 0.63332 +2583 0.55803 0.62627 +2580 0.58251 0.63332 +2584 0.55463 0.62466 +2546 0.57163 0.62980 +2591 0.54192 0.62884 +2545 0.55555 0.63114 +SURF 0x24 +mat 0 +refs 75 +1526 0.50334 0.56759 +1528 0.47265 0.54415 +1526 0.50334 0.56759 +1538 0.48423 0.55063 +1525 0.51664 0.56671 +1537 0.49907 0.54965 +1524 0.52930 0.55938 +1536 0.51320 0.54147 +1523 0.53794 0.54757 +1535 0.52283 0.52829 +1522 0.54022 0.53443 +1534 0.52538 0.51363 +1521 0.53556 0.52350 +1533 0.52017 0.50144 +1520 0.52518 0.51770 +1532 0.50860 0.49496 +1519 0.51188 0.51858 +1531 0.49376 0.49594 +1518 0.49921 0.52591 +1530 0.47963 0.50412 +1517 0.49058 0.53772 +1529 0.47000 0.51730 +1515 0.48829 0.55085 +1527 0.46744 0.53196 +1516 0.49296 0.56179 +1528 0.47265 0.54415 +1516 0.49296 0.56179 +1526 0.50334 0.56759 +1514 0.51780 0.56849 +1526 0.50334 0.56759 +1513 0.52566 0.56797 +1525 0.51664 0.56671 +1512 0.53314 0.56365 +1524 0.52930 0.55938 +1511 0.53823 0.55667 +1523 0.53794 0.54757 +1510 0.53959 0.54892 +1522 0.54022 0.53443 +1509 0.53683 0.54246 +1521 0.53556 0.52350 +1508 0.53070 0.53903 +1520 0.52518 0.51770 +1507 0.52285 0.53955 +1519 0.51188 0.51858 +1506 0.51537 0.54388 +1518 0.49921 0.52591 +1505 0.51027 0.55086 +1517 0.49058 0.53772 +1504 0.50892 0.55861 +1515 0.48829 0.55085 +1502 0.51168 0.56507 +1516 0.49296 0.56179 +1502 0.51168 0.56507 +1514 0.51780 0.56849 +1503 0.52864 0.55864 +1513 0.52566 0.56797 +1503 0.52864 0.55864 +1512 0.53314 0.56365 +1503 0.52864 0.55864 +1511 0.53823 0.55667 +1503 0.52864 0.55864 +1510 0.53959 0.54892 +1503 0.52864 0.55864 +1509 0.53683 0.54246 +1503 0.52864 0.55864 +1508 0.53070 0.53903 +1503 0.52864 0.55864 +1507 0.52285 0.53955 +1503 0.52864 0.55864 +1506 0.51537 0.54388 +1503 0.52864 0.55864 +1505 0.51027 0.55086 +1503 0.52864 0.55864 +1504 0.50892 0.55861 +1502 0.51168 0.56507 +kids 0 diff --git a/test/models/glTF2/IndexOutOfRange/AllIndicesOutOfRange.bin b/test/models/glTF2/IndexOutOfRange/AllIndicesOutOfRange.bin new file mode 100644 index 000000000..8fef5c7c0 Binary files /dev/null and b/test/models/glTF2/IndexOutOfRange/AllIndicesOutOfRange.bin differ diff --git a/test/models/glTF2/IndexOutOfRange/AllIndicesOutOfRange.gltf b/test/models/glTF2/IndexOutOfRange/AllIndicesOutOfRange.gltf new file mode 100644 index 000000000..3dbb6efe4 --- /dev/null +++ b/test/models/glTF2/IndexOutOfRange/AllIndicesOutOfRange.gltf @@ -0,0 +1,142 @@ +{ + "asset": { + "generator": "COLLADA2GLTF", + "version": "2.0" + }, + "scene": 0, + "scenes": [ + { + "nodes": [ + 0 + ] + } + ], + "nodes": [ + { + "children": [ + 1 + ], + "matrix": [ + 1.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + -1.0, + 0.0, + 0.0, + 1.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + { + "mesh": 0 + } + ], + "meshes": [ + { + "primitives": [ + { + "attributes": { + "NORMAL": 1, + "POSITION": 2 + }, + "indices": 0, + "mode": 4, + "material": 0 + } + ], + "name": "Mesh" + } + ], + "accessors": [ + { + "bufferView": 0, + "byteOffset": 0, + "componentType": 5123, + "count": 36, + "max": [ + 255 + ], + "min": [ + 0 + ], + "type": "SCALAR" + }, + { + "bufferView": 1, + "byteOffset": 0, + "componentType": 5126, + "count": 24, + "max": [ + 1.0, + 1.0, + 1.0 + ], + "min": [ + -1.0, + -1.0, + -1.0 + ], + "type": "VEC3" + }, + { + "bufferView": 1, + "byteOffset": 288, + "componentType": 5126, + "count": 24, + "max": [ + 0.5, + 0.5, + 0.5 + ], + "min": [ + -0.5, + -0.5, + -0.5 + ], + "type": "VEC3" + } + ], + "materials": [ + { + "pbrMetallicRoughness": { + "baseColorFactor": [ + 0.800000011920929, + 0.0, + 0.0, + 1.0 + ], + "metallicFactor": 0.0 + }, + "name": "Red" + } + ], + "bufferViews": [ + { + "buffer": 0, + "byteOffset": 576, + "byteLength": 72, + "target": 34963 + }, + { + "buffer": 0, + "byteOffset": 0, + "byteLength": 576, + "byteStride": 12, + "target": 34962 + } + ], + "buffers": [ + { + "byteLength": 648, + "uri": "AllIndicesOutOfRange.bin" + } + ] +} diff --git a/test/models/glTF2/IndexOutOfRange/IndexOutOfRange.bin b/test/models/glTF2/IndexOutOfRange/IndexOutOfRange.bin new file mode 100644 index 000000000..b7cfe377b Binary files /dev/null and b/test/models/glTF2/IndexOutOfRange/IndexOutOfRange.bin differ diff --git a/test/models/glTF2/IndexOutOfRange/IndexOutOfRange.gltf b/test/models/glTF2/IndexOutOfRange/IndexOutOfRange.gltf new file mode 100644 index 000000000..67561c591 --- /dev/null +++ b/test/models/glTF2/IndexOutOfRange/IndexOutOfRange.gltf @@ -0,0 +1,142 @@ +{ + "asset": { + "generator": "COLLADA2GLTF", + "version": "2.0" + }, + "scene": 0, + "scenes": [ + { + "nodes": [ + 0 + ] + } + ], + "nodes": [ + { + "children": [ + 1 + ], + "matrix": [ + 1.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + -1.0, + 0.0, + 0.0, + 1.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + { + "mesh": 0 + } + ], + "meshes": [ + { + "primitives": [ + { + "attributes": { + "NORMAL": 1, + "POSITION": 2 + }, + "indices": 0, + "mode": 4, + "material": 0 + } + ], + "name": "Mesh" + } + ], + "accessors": [ + { + "bufferView": 0, + "byteOffset": 0, + "componentType": 5123, + "count": 36, + "max": [ + 255 + ], + "min": [ + 0 + ], + "type": "SCALAR" + }, + { + "bufferView": 1, + "byteOffset": 0, + "componentType": 5126, + "count": 24, + "max": [ + 1.0, + 1.0, + 1.0 + ], + "min": [ + -1.0, + -1.0, + -1.0 + ], + "type": "VEC3" + }, + { + "bufferView": 1, + "byteOffset": 288, + "componentType": 5126, + "count": 24, + "max": [ + 0.5, + 0.5, + 0.5 + ], + "min": [ + -0.5, + -0.5, + -0.5 + ], + "type": "VEC3" + } + ], + "materials": [ + { + "pbrMetallicRoughness": { + "baseColorFactor": [ + 0.800000011920929, + 0.0, + 0.0, + 1.0 + ], + "metallicFactor": 0.0 + }, + "name": "Red" + } + ], + "bufferViews": [ + { + "buffer": 0, + "byteOffset": 576, + "byteLength": 72, + "target": 34963 + }, + { + "buffer": 0, + "byteOffset": 0, + "byteLength": 576, + "byteStride": 12, + "target": 34962 + } + ], + "buffers": [ + { + "byteLength": 648, + "uri": "IndexOutOfRange.bin" + } + ] +} diff --git a/test/unit/UnitTestFileGenerator.h b/test/unit/UnitTestFileGenerator.h index 91d69357f..2166c6939 100644 --- a/test/unit/UnitTestFileGenerator.h +++ b/test/unit/UnitTestFileGenerator.h @@ -44,21 +44,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include #include -#if defined(__GNUC__) || defined(__clang__) -#define TMP_PATH "/tmp/" -inline FILE* MakeTmpFile(char* tmplate) -{ - auto fd = mkstemp(tmplate); - EXPECT_NE(-1, fd); - if(fd == -1) - { - return nullptr; - } - auto fs = fdopen(fd, "w+"); - EXPECT_NE(nullptr, fs); - return fs; -} -#elif defined(_MSC_VER) +#if defined(_MSC_VER) #include #define TMP_PATH "./" inline FILE* MakeTmpFile(char* tmplate) @@ -73,4 +59,18 @@ inline FILE* MakeTmpFile(char* tmplate) EXPECT_NE(fs, nullptr); return fs; } +#elif defined(__GNUC__) || defined(__clang__) +#define TMP_PATH "/tmp/" +inline FILE* MakeTmpFile(char* tmplate) +{ + auto fd = mkstemp(tmplate); + EXPECT_NE(-1, fd); + if(fd == -1) + { + return nullptr; + } + auto fs = fdopen(fd, "w+"); + EXPECT_NE(nullptr, fs); + return fs; +} #endif diff --git a/test/unit/utACImportExport.cpp b/test/unit/utACImportExport.cpp index a7f432a56..573e716b6 100644 --- a/test/unit/utACImportExport.cpp +++ b/test/unit/utACImportExport.cpp @@ -101,6 +101,12 @@ TEST(utACImportExport, importWuson) { ASSERT_NE(nullptr, scene); } +TEST(utACImportExport, importWusonACC) { + Assimp::Importer importer; + const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/AC/Wuson.acc", aiProcess_ValidateDataStructure); + ASSERT_NE(nullptr, scene); +} + TEST(utACImportExport, testFormatDetection) { Assimp::Importer importer; const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/AC/TestFormatDetection", aiProcess_ValidateDataStructure); diff --git a/test/unit/utColladaImportExport.cpp b/test/unit/utColladaImportExport.cpp index 451c8e235..100ca548a 100644 --- a/test/unit/utColladaImportExport.cpp +++ b/test/unit/utColladaImportExport.cpp @@ -157,7 +157,6 @@ public: static inline void CheckNodeIdNames(IdNameMap &nodeIdMap, IdNameMap &nodeNameMap, const aiNode *parent, size_t index) { IdNameString namePair = GetItemIdName(parent, index); - const auto result = nodeNameMap.insert(namePair); IdNameString idPair = GetColladaIdName(parent, index); ReportDuplicate(nodeIdMap, idPair, typeid(aiNode).name()); diff --git a/test/unit/utglTF2ImportExport.cpp b/test/unit/utglTF2ImportExport.cpp index 6791d5f89..e991b04f3 100644 --- a/test/unit/utglTF2ImportExport.cpp +++ b/test/unit/utglTF2ImportExport.cpp @@ -46,11 +46,13 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include #include #include +#include +#include + #include #include - using namespace Assimp; class utglTF2ImportExport : public AbstractImportExportBase { @@ -541,3 +543,34 @@ TEST_F(utglTF2ImportExport, norootnode_issue_3269) { const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/glTF2/issue_3269/texcoord_crash.gltf", aiProcess_ValidateDataStructure); ASSERT_EQ(scene, nullptr); } + +TEST_F(utglTF2ImportExport, indexOutOfRange) { + // The contents of an asset should not lead to an assert. + Assimp::Importer importer; + + struct LogObserver : Assimp::LogStream { + bool m_observedWarning = false; + void write(const char *message) override { + m_observedWarning = m_observedWarning || std::strstr(message, "faces were dropped"); + } + }; + LogObserver logObserver; + + DefaultLogger::get()->attachStream(&logObserver); + const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/glTF2/IndexOutOfRange/IndexOutOfRange.gltf", aiProcess_ValidateDataStructure); + ASSERT_NE(scene, nullptr); + ASSERT_NE(scene->mRootNode, nullptr); + ASSERT_EQ(scene->mNumMeshes, 1u); + EXPECT_EQ(scene->mMeshes[0]->mNumFaces, 11u); + DefaultLogger::get()->detachStream(&logObserver); + EXPECT_TRUE(logObserver.m_observedWarning); +} + +TEST_F(utglTF2ImportExport, allIndicesOutOfRange) { + // The contents of an asset should not lead to an assert. + Assimp::Importer importer; + const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/glTF2/IndexOutOfRange/AllIndicesOutOfRange.gltf", aiProcess_ValidateDataStructure); + ASSERT_EQ(scene, nullptr); + std::string error = importer.GetErrorString(); + ASSERT_NE(error.find("Mesh \"Mesh\" has no faces"), std::string::npos); +}