summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CMakeInstallation.cmake58
-rw-r--r--CMakeLists.txt52
-rw-r--r--MANIFEST10
-rw-r--r--README.txt2
-rwxr-xr-xbin/cmakehdf567
-rwxr-xr-xbin/h5vers47
-rwxr-xr-xbin/snapshot4
-rw-r--r--c++/examples/Makefile.am5
-rw-r--r--c++/examples/Makefile.in5
-rw-r--r--c++/src/H5CommonFG.cpp6
-rw-r--r--c++/src/H5CommonFG.h1
-rw-r--r--c++/src/H5DataType.cpp15
-rw-r--r--c++/src/H5File.cpp31
-rw-r--r--c++/src/Makefile.in2
-rw-r--r--c++/src/cpp_doc_config2
-rw-r--r--config/cmake/ConfigureChecks.cmake39
-rw-r--r--config/cmake/H5pubconf.h.in35
-rw-r--r--config/cmake/HDF518_Examples.cmake.in10
-rw-r--r--config/cmake/hdf5-config.cmake.in20
-rw-r--r--config/cmake/libhdf5.settings.cmake.in10
-rwxr-xr-xconfig/cmake/scripts/CTestScript.cmake282
-rwxr-xr-xconfig/cmake/scripts/HDF518config.cmake172
-rw-r--r--config/lt_vers.am2
-rwxr-xr-xconfigure43
-rw-r--r--configure.ac23
-rw-r--r--fortran/examples/Makefile.am1
-rw-r--r--fortran/examples/Makefile.in1
-rw-r--r--fortran/src/H5Zf.c2
-rw-r--r--fortran/src/H5_f.c5
-rw-r--r--fortran/src/H5f90global.f903
-rw-r--r--fortran/src/Makefile.in2
-rw-r--r--hl/c++/examples/Makefile.am1
-rw-r--r--hl/c++/examples/Makefile.in1
-rw-r--r--hl/c++/src/Makefile.in2
-rw-r--r--hl/fortran/examples/Makefile.am1
-rw-r--r--hl/fortran/examples/Makefile.in1
-rw-r--r--hl/fortran/src/Makefile.in2
-rw-r--r--hl/src/Makefile.in2
-rw-r--r--release_docs/INSTALL_CMake.txt272
-rw-r--r--release_docs/INSTALL_Cygwin.txt8
-rw-r--r--release_docs/INSTALL_parallel174
-rw-r--r--release_docs/RELEASE.txt19
-rw-r--r--release_docs/USING_HDF5_CMake.txt4
-rw-r--r--src/CMakeLists.txt12
-rw-r--r--src/H5A.c2
-rw-r--r--src/H5AC.c133
-rw-r--r--src/H5ACprivate.h11
-rw-r--r--src/H5Adense.c2
-rw-r--r--src/H5Aint.c26
-rw-r--r--src/H5Apkg.h4
-rw-r--r--src/H5B2hdr.c8
-rw-r--r--src/H5B2int.c14
-rw-r--r--src/H5B2pkg.h6
-rw-r--r--src/H5D.c5
-rw-r--r--src/H5Dbtree.c71
-rw-r--r--src/H5Dchunk.c1042
-rw-r--r--src/H5Dcompact.c17
-rw-r--r--src/H5Dcontig.c47
-rw-r--r--src/H5Ddbg.c2
-rw-r--r--src/H5Ddeprec.c32
-rw-r--r--src/H5Defl.c15
-rw-r--r--src/H5Dfill.c2
-rw-r--r--src/H5Dint.c76
-rw-r--r--src/H5Dio.c17
-rw-r--r--src/H5Dmpio.c15
-rw-r--r--src/H5Dpkg.h29
-rw-r--r--src/H5F.c10
-rw-r--r--src/H5FAdblock.c2
-rw-r--r--src/H5FD.c6
-rw-r--r--src/H5FDcore.c4
-rw-r--r--src/H5FDdirect.c2
-rw-r--r--src/H5FDfamily.c4
-rw-r--r--src/H5FDlog.c2
-rw-r--r--src/H5FDmulti.c47
-rw-r--r--src/H5FDprivate.h2
-rw-r--r--src/H5FDsec2.c2
-rw-r--r--src/H5FScache.c4
-rw-r--r--src/H5Faccum.c14
-rw-r--r--src/H5Fio.c3
-rw-r--r--src/H5Fprivate.h7
-rw-r--r--src/H5Fpublic.h6
-rw-r--r--src/H5Fsuper.c2
-rw-r--r--src/H5Fsuper_cache.c6
-rw-r--r--src/H5G.c4
-rw-r--r--src/H5Gdeprec.c6
-rw-r--r--src/H5Glink.c2
-rw-r--r--src/H5Gtest.c80
-rw-r--r--src/H5HFdbg.c6
-rw-r--r--src/H5HFdblock.c4
-rw-r--r--src/H5HFdtable.c4
-rw-r--r--src/H5HFhdr.c2
-rw-r--r--src/H5HFhuge.c6
-rw-r--r--src/H5HLcache.c4
-rw-r--r--src/H5I.c71
-rw-r--r--src/H5MF.c2
-rw-r--r--src/H5O.c15
-rw-r--r--src/H5Oattr.c2
-rw-r--r--src/H5Ocache.c2
-rw-r--r--src/H5Ocopy.c14
-rw-r--r--src/H5Ofill.c2
-rw-r--r--src/H5Olayout.c1
-rw-r--r--src/H5Omessage.c4
-rw-r--r--src/H5Oprivate.h4
-rw-r--r--src/H5PL.c3
-rw-r--r--src/H5Pencdec.c4
-rw-r--r--src/H5Pgcpl.c2
-rw-r--r--src/H5R.c4
-rw-r--r--src/H5Rdeprec.c2
-rw-r--r--src/H5Rpublic.h2
-rw-r--r--src/H5S.c11
-rw-r--r--src/H5Shyper.c20
-rw-r--r--src/H5Smpio.c6
-rw-r--r--src/H5Sselect.c4
-rw-r--r--src/H5T.c524
-rw-r--r--src/H5Tarray.c2
-rw-r--r--src/H5Tcommit.c5
-rw-r--r--src/H5Tconv.c18
-rw-r--r--src/H5Tdeprec.c5
-rw-r--r--src/H5Tfloat.c2
-rw-r--r--src/H5Tnative.c6
-rw-r--r--src/H5VLnative.c4
-rw-r--r--src/H5VM.c94
-rw-r--r--src/H5VMprivate.h29
-rw-r--r--src/H5Zdeflate.c6
-rw-r--r--src/H5Znbit.c2
-rw-r--r--src/H5Zscaleoffset.c2
-rw-r--r--src/H5Zszip.c12
-rw-r--r--src/H5detect.c303
-rw-r--r--src/H5private.h7
-rw-r--r--src/H5public.h4
-rw-r--r--src/Makefile.in2
-rw-r--r--src/libhdf5.settings.in2
-rw-r--r--test/dsets.c14
-rw-r--r--test/getname.c59
-rw-r--r--test/links.c4
-rw-r--r--tools/h5dump/CMakeTests.cmake3
-rw-r--r--tools/h5dump/testh5dump.sh.in3
-rw-r--r--tools/h5ls/h5ls.c6
-rw-r--r--tools/h5repack/CMakeTests.cmake4
-rw-r--r--tools/h5repack/h5repack.sh.in8
-rw-r--r--tools/h5repack/testfiles/README (renamed from tools/testfiles/README)5
-rw-r--r--tools/h5repack/testfiles/h5repack_nested_8bit_enum.h5bin0 -> 273992 bytes
-rw-r--r--tools/h5repack/testfiles/h5repack_nested_8bit_enum_deflated.h5 (renamed from tools/testfiles/tcompound_enum.h5)bin120630 -> 120630 bytes
-rw-r--r--tools/testfiles/tcompound_enum.ddl25749
144 files changed, 2670 insertions, 27662 deletions
diff --git a/CMakeInstallation.cmake b/CMakeInstallation.cmake
index 0380adc..74bf85f 100644
--- a/CMakeInstallation.cmake
+++ b/CMakeInstallation.cmake
@@ -139,7 +139,7 @@ configure_file (
)
install (
FILES ${HDF5_BINARY_DIR}/libhdf5.settings
- DESTINATION ${HDF5_INSTALL_CMAKE_DIR}
+ DESTINATION ${HDF5_INSTALL_LIB_DIR}
COMPONENT libraries
)
@@ -466,10 +466,22 @@ The HDF5 data model, file format, API, library, and tools are open and distribut
if (HDF5_PACKAGE_EXTLIBS)
if (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
if (ZLIB_FOUND AND ZLIB_USE_EXTERNAL)
- set (CPACK_INSTALL_CMAKE_PROJECTS "${CPACK_INSTALL_CMAKE_PROJECTS};${ZLIB_INCLUDE_DIR_GEN};ZLIB;ALL;/")
+ if (WIN32)
+ set (CPACK_INSTALL_CMAKE_PROJECTS "${CPACK_INSTALL_CMAKE_PROJECTS};${ZLIB_INCLUDE_DIR_GEN};ZLIB;ALL;/")
+ else (WIN32)
+ set (CPACK_INSTALL_CMAKE_PROJECTS "${CPACK_INSTALL_CMAKE_PROJECTS};${ZLIB_INCLUDE_DIR_GEN};ZLIB;libraries;/")
+ set (CPACK_INSTALL_CMAKE_PROJECTS "${CPACK_INSTALL_CMAKE_PROJECTS};${ZLIB_INCLUDE_DIR_GEN};ZLIB;headers;/")
+ set (CPACK_INSTALL_CMAKE_PROJECTS "${CPACK_INSTALL_CMAKE_PROJECTS};${ZLIB_INCLUDE_DIR_GEN};ZLIB;configinstall;/")
+ endif (WIN32)
endif (ZLIB_FOUND AND ZLIB_USE_EXTERNAL)
if (SZIP_FOUND AND SZIP_USE_EXTERNAL)
- set (CPACK_INSTALL_CMAKE_PROJECTS "${CPACK_INSTALL_CMAKE_PROJECTS};${SZIP_INCLUDE_DIR_GEN};SZIP;ALL;/")
+ if (WIN32)
+ set (CPACK_INSTALL_CMAKE_PROJECTS "${CPACK_INSTALL_CMAKE_PROJECTS};${SZIP_INCLUDE_DIR_GEN};SZIP;ALL;/")
+ else (WIN32)
+ set (CPACK_INSTALL_CMAKE_PROJECTS "${CPACK_INSTALL_CMAKE_PROJECTS};${SZIP_INCLUDE_DIR_GEN};SZIP;libraries;/")
+ set (CPACK_INSTALL_CMAKE_PROJECTS "${CPACK_INSTALL_CMAKE_PROJECTS};${SZIP_INCLUDE_DIR_GEN};SZIP;headers;/")
+ set (CPACK_INSTALL_CMAKE_PROJECTS "${CPACK_INSTALL_CMAKE_PROJECTS};${SZIP_INCLUDE_DIR_GEN};SZIP;configinstall;/")
+ endif (WIN32)
endif (SZIP_FOUND AND SZIP_USE_EXTERNAL)
endif (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
endif (HDF5_PACKAGE_EXTLIBS)
@@ -592,24 +604,28 @@ The HDF5 data model, file format, API, library, and tools are open and distribut
GROUP Applications
INSTALL_TYPES Full Developer User
)
- CPACK_ADD_COMPONENT (hlcpplibraries
- DISPLAY_NAME "HDF5 HL C++ Libraries"
- DEPENDS hllibraries
- GROUP Runtime
- INSTALL_TYPES Full Developer User
- )
- CPACK_ADD_COMPONENT (hlcppheaders
- DISPLAY_NAME "HDF5 HL C++ Headers"
- DEPENDS hlcpplibraries
- GROUP Development
- INSTALL_TYPES Full Developer
- )
- CPACK_ADD_COMPONENT (hlfortlibraries
- DISPLAY_NAME "HDF5 HL Fortran Libraries"
- DEPENDS fortlibraries
- GROUP Runtime
- INSTALL_TYPES Full Developer User
- )
+ if (HDF5_BUILD_CPP_LIB)
+ CPACK_ADD_COMPONENT (hlcpplibraries
+ DISPLAY_NAME "HDF5 HL C++ Libraries"
+ DEPENDS hllibraries
+ GROUP Runtime
+ INSTALL_TYPES Full Developer User
+ )
+ CPACK_ADD_COMPONENT (hlcppheaders
+ DISPLAY_NAME "HDF5 HL C++ Headers"
+ DEPENDS hlcpplibraries
+ GROUP Development
+ INSTALL_TYPES Full Developer
+ )
+ endif (HDF5_BUILD_CPP_LIB)
+ if (HDF5_BUILD_FORTRAN)
+ CPACK_ADD_COMPONENT (hlfortlibraries
+ DISPLAY_NAME "HDF5 HL Fortran Libraries"
+ DEPENDS fortlibraries
+ GROUP Runtime
+ INSTALL_TYPES Full Developer User
+ )
+ endif (HDF5_BUILD_FORTRAN)
endif (HDF5_BUILD_HL_LIB)
endif (NOT HDF5_EXTERNALLY_CONFIGURED AND NOT HDF5_NO_PACKAGES)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index a6994ef..a3d537c 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -10,6 +10,24 @@ PROJECT (HDF5 C CXX)
# set CMAKE_INSTALL_PREFIX to the required install path.
# Make install can be used to install all components for system-wide use.
#
+if ("${CMAKE_CURRENT_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_BINARY_DIR}")
+ MESSAGE(FATAL_ERROR "\nERROR! ${PROJECT_NAME} DOES NOT SUPPORT IN SOURCE BUILDS!\n"
+ "CMAKE_CURRENT_SOURCE_DIR=${CMAKE_CURRENT_SOURCE_DIR}"
+ " == CMAKE_CURRENT_BINARY_DIR=${CMAKE_CURRENT_BINARY_DIR}\n"
+ "NEXT STEPS:\n"
+ "(1) Delete the CMakeCache.txt file and the CMakeFiles/ directory\n"
+ " under the source directory for ${PROJECT_NAME}, otherwise you\n"
+ " will not be able to configure ${PROJECT_NAME} correctly!\n"
+ " * For example, on linux machines do:\n"
+ " $ rm -r CMakeCache.txt CMakeFiles/\n"
+ "(2) Create a different directory and configure ${PROJECT_NAME} in that directory.\n"
+ " * For example, on linux machines do:\n"
+ " $ mkdir MY_BUILD\n"
+ " $ cd MY_BUILD\n"
+ " $ cmake [OPTIONS] ..\n"
+ )
+endif ()
+
#-----------------------------------------------------------------------------
# Instructions for use : Sub-Project Build
#
@@ -454,7 +472,7 @@ endif (HDF5_DISABLE_COMPILER_WARNINGS)
# CDash is configured to only allow 3000 warnings, so
# break into groups (from the config/gnu-flags file)
#-----------------------------------------------------------------------------
-if (NOT MSVC)
+if (NOT MSVC AND CMAKE_COMPILER_IS_GNUCC)
if (NOT ${CMAKE_SYSTEM_NAME} MATCHES "SunOS")
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wextra -Wundef -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-qual -Wcast-align -Wwrite-strings -Wconversion -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wnested-externs -Winline")
else (NOT ${CMAKE_SYSTEM_NAME} MATCHES "SunOS")
@@ -517,7 +535,7 @@ if (NOT MSVC)
# Append more extra warning flags that only gcc 4.7+ know about
set (H5_CFLAGS5 "${H5_CFLAGS5} -Wstack-usage=8192 -Wvector-operation-performance -Wsuggest-attribute=pure -Wsuggest-attribute=noreturn")
-endif (NOT MSVC)
+endif (NOT MSVC AND CMAKE_COMPILER_IS_GNUCC)
#-----------------------------------------------------------------------------
# Option to allow the user to enable all warnings
@@ -530,7 +548,9 @@ if (HDF5_ENABLE_ALL_WARNINGS)
string (REGEX REPLACE "(^| )([/-])W[0-9]( |$)" " " CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /Wall")
else (MSVC)
- set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -pedantic ${H5_CFLAGS1} ${H5_CFLAGS2} ${H5_CFLAGS3} ${H5_CFLAGS4}")
+ if (CMAKE_COMPILER_IS_GNUCC)
+ set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -pedantic ${H5_CFLAGS1} ${H5_CFLAGS2} ${H5_CFLAGS3} ${H5_CFLAGS4}")
+ endif (CMAKE_COMPILER_IS_GNUCC)
endif (MSVC)
endif (HDF5_ENABLE_ALL_WARNINGS)
@@ -545,7 +565,9 @@ if (HDF5_ENABLE_GROUPZERO_WARNINGS)
string (REGEX REPLACE "(^| )([/-])W[0-9]( |$)" " " CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W1")
else (MSVC)
- set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -pedantic")
+ if (CMAKE_COMPILER_IS_GNUCC)
+ set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -pedantic")
+ endif (CMAKE_COMPILER_IS_GNUCC)
endif (MSVC)
endif (HDF5_ENABLE_GROUPZERO_WARNINGS)
@@ -763,7 +785,7 @@ endif (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN" OR HDF5_ALLOW_EXTERNAL_SUPPORT
#-----------------------------------------------------------------------------
# Dashboard and Testing Settings
#-----------------------------------------------------------------------------
-option (BUILD_TESTING "Build HDF5 Unit Testing" OFF)
+option (BUILD_TESTING "Build HDF5 Unit Testing" ON)
if (BUILD_TESTING)
set (DART_TESTING_TIMEOUT 1200
CACHE INTEGER
@@ -795,6 +817,16 @@ if (BUILD_TESTING)
endif (BUILD_TESTING)
#-----------------------------------------------------------------------------
+# Option to build HDF5 Tools
+#-----------------------------------------------------------------------------
+if (EXISTS "${HDF5_SOURCE_DIR}/tools" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/tools")
+ option (HDF5_BUILD_TOOLS "Build HDF5 Tools" ON)
+ if (HDF5_BUILD_TOOLS)
+ add_subdirectory (${HDF5_SOURCE_DIR}/tools ${PROJECT_BINARY_DIR}/tools)
+ endif (HDF5_BUILD_TOOLS)
+endif (EXISTS "${HDF5_SOURCE_DIR}/tools" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/tools")
+
+#-----------------------------------------------------------------------------
# Option to build examples
#-----------------------------------------------------------------------------
if (EXISTS "${HDF5_SOURCE_DIR}/examples" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/examples")
@@ -876,16 +908,6 @@ if (EXISTS "${HDF5_SOURCE_DIR}/c++" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/c++")
endif (EXISTS "${HDF5_SOURCE_DIR}/c++" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/c++")
#-----------------------------------------------------------------------------
-# Option to build HDF5 Tools
-#-----------------------------------------------------------------------------
-if (EXISTS "${HDF5_SOURCE_DIR}/tools" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/tools")
- option (HDF5_BUILD_TOOLS "Build HDF5 Tools" ON)
- if (HDF5_BUILD_TOOLS)
- add_subdirectory (${HDF5_SOURCE_DIR}/tools ${PROJECT_BINARY_DIR}/tools)
- endif (HDF5_BUILD_TOOLS)
-endif (EXISTS "${HDF5_SOURCE_DIR}/tools" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/tools")
-
-#-----------------------------------------------------------------------------
# Check if Fortran's default real is double precision. If it is and HL is
# being built then configure should fail due to bug HDFFV-889.
#-----------------------------------------------------------------------------
diff --git a/MANIFEST b/MANIFEST
index dd8411d..aebce8a 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -1371,7 +1371,6 @@
./tools/h5stat/testfiles/h5stat_tsohm.h5
# h5dump test files
-./tools/testfiles/README
./tools/testfiles/charsets.h5
./tools/testfiles/charsets.ddl
./tools/testfiles/family_file00000.h5
@@ -1482,8 +1481,6 @@
./tools/testfiles/tcompound.h5
./tools/testfiles/tcompound2.h5
./tools/testfiles/tcompound_complex.h5
-./tools/testfiles/tcompound_enum.ddl
-./tools/testfiles/tcompound_enum.h5
./tools/testfiles/tdatareg.h5
./tools/testfiles/tdatareg.ddl
./tools/testfiles/tdataregR.ddl
@@ -2141,6 +2138,7 @@
./tools/h5diff/testfiles/tmpSingleSiteBethe.output.h5
#test files for h5repack
+./tools/h5repack/testfiles/README
./tools/h5repack/testfiles/h5repack_attr.h5
./tools/h5repack/testfiles/h5repack_attr_refs.h5
./tools/h5repack/testfiles/h5repack_deflate.h5
@@ -2158,6 +2156,8 @@
./tools/h5repack/testfiles/h5repack_layout3.h5
./tools/h5repack/testfiles/h5repack_layout.UD.h5
./tools/h5repack/testfiles/h5repack_named_dtypes.h5
+./tools/h5repack/testfiles/h5repack_nested_8bit_enum_deflated.h5
+./tools/h5repack/testfiles/h5repack_nested_8bit_enum.h5
./tools/h5repack/testfiles/h5repack_nbit.h5
./tools/h5repack/testfiles/h5repack_objs.h5
./tools/h5repack/testfiles/h5repack_refs.h5
@@ -2520,3 +2520,7 @@
./tools/misc/CMakeTests.cmake
./tools/perform/CMakeLists.txt
./tools/perform/CMakeTests.cmake
+
+# CMake-specific User Scripts
+./config/cmake/scripts/CTestScript.cmake _DO_NOT_DISTRIBUTE_
+./config/cmake/scripts/HDF518config.cmake _DO_NOT_DISTRIBUTE_
diff --git a/README.txt b/README.txt
index 9f22b0f..e17dadf 100644
--- a/README.txt
+++ b/README.txt
@@ -1,4 +1,4 @@
-HDF5 version 1.9.216 currently under development
+HDF5 version 1.9.218 currently under development
Please refer to the release_docs/INSTALL file for installation instructions.
------------------------------------------------------------------------------
diff --git a/bin/cmakehdf5 b/bin/cmakehdf5
index 1f0fb7c..715d6d7 100755
--- a/bin/cmakehdf5
+++ b/bin/cmakehdf5
@@ -23,6 +23,7 @@ makelog="#${progname}_2build.log"
testlog="#${progname}_3test.log"
packlog="#${progname}_4pack.log"
installlog="#${progname}_5install.log"
+config_summary=libhdf5.settings
exit_code=0
# This command should be in the source directory's bin/
@@ -51,6 +52,7 @@ build_testing=-DBUILD_TESTING:BOOL=ON # Build tests default on
build_tools=-DHDF5_BUILD_TOOLS:BOOL=ON # Build tools default on
with_zlib=-DHDF5_ENABLE_Z_LIB_SUPPORT=ON # enable zlib filter default on
with_szlib=-DHDF5_ENABLE_SZIP_SUPPORT=OFF # enables zlib filter default off
+shared_lib=-DBUILD_SHARED_LIBS:BOOL=ON # enables shared lib; default on
#=============
@@ -80,16 +82,14 @@ Usage: $progname [<options>]
enable or disable c++ API. Default is off.
--enable-hl | --disable-hl:
enable or disable high level API. Default is on.
+ --enable-shared | --disable-shared:
+ enable or disable shared lib. Default is on.
--enable-tools | --disable-tools:
enable or disable building tools. Default is on.
--enable-testing | --disable-testing:
enable or disable building tests. Default is on.
- --with-zlib=INC,LIB | --without-zlib:
+ --with-zlib | --without-zlib:
Use zlib library for external deflate I/O filter. Default is on.
- INC and LIB are the include and lib directories.
- --with-szlib=INC,LIB| --without-szlib:
- Use szip library for external szip library I/O filter. Default is off.
- INC and LIB are the include and lib directories.
--help: shows details help page
EOF
}
@@ -125,6 +125,40 @@ STEP()
}
+# Install the generated installation image file. Different platform uses
+# different image files.
+# Linux: HDF5-<version>-Linux.sh file
+# Mac OS X: Not implemented yet
+# Others: Not implemented yet
+INSTALL_HDF5()
+{
+ myos="`uname -s`"
+ case "$myos" in
+ Linux)
+ install_file=./HDF5-${version}-Linux.sh
+ $install_file --skip-license $*
+ ;;
+ Darwin) # Mac OSX DMG file
+ install_file=HDF5-${version}-Darwin.dmg
+ test -d hdf5 || mkdir hdf5
+ basename=`basename $install_file .dmg`
+ # mount the DMG file as /Volumes/$basename
+ # echo 'Y' as yes for license.
+ echo Y | hdiutil mount $install_file
+ # copy the contents to the install location
+ cp -R "/Volumes/$basename/HDF_Group" hdf5
+ # unmount the DMG file
+ hdiutil unmount /Volumes/$basename
+ ;;
+ *) # unknown/unsupported OS.
+ echo "INSTALL_HDF5: Error--unknown/unsupported OS($myos)"
+ return 1
+ ;;
+ esac
+ return 0
+}
+
+
#==========
# main
#==========
@@ -166,6 +200,12 @@ while [ $# -gt 0 ]; do
--disable-hl)
build_hl_lib=-DHDF5_BUILD_HL_LIB:BOOL=OFF
;;
+ --enable-shared)
+ shared_lib=-DBUILD_SHARED_LIBS:BOOL=ON
+ ;;
+ --disable-shared)
+ shared_lib=-DBUILD_SHARED_LIBS:BOOL=OFF
+ ;;
--enable-tools)
build_tools=-DHDF5_BUILD_TOOLS:BOOL=ON
;;
@@ -178,6 +218,12 @@ while [ $# -gt 0 ]; do
--disable-testing)
build_testing=-DBUILD_TESTING:BOOL=OFF
;;
+ --with-zlib)
+ with_zlib=-DHDF5_ENABLE_Z_LIB_SUPPORT:BOOL=ON
+ ;;
+ --without-zlib)
+ with_zlib=-DHDF5_ENABLE_Z_LIB_SUPPORT:BOOL=OFF
+ ;;
--help)
# print the detail help page and exit
HELP
@@ -212,20 +258,22 @@ if [ $? != 0 ]; then
echo $vers failed. Aborted.
exit 1
fi
-echo Running Cmake for HDF5-${version} ...
-
+echo Running Cmake for HDF5-${version} ...
# 4. Configure the C library, tools and tests with this command:
+# If successful, append the configure summary to the configure logfile.
STEP "Configure..." "cmake \
-C $cacheinit \
$build_cpp_lib \
$build_fortran \
$enable_f2003 \
$build_hl_lib \
+ $shared_lib \
$build_testing \
$build_tools \
$with_zlib \
$with_szlib \
- $srcdir" $configlog
+ $srcdir" $configlog &&\
+ cat $config_summary >> $configlog
# 5. Build the C library, tools and tests with this command:
STEP "Build the library, tools and tests, ..." "cmake --build . --config Release" $makelog
@@ -237,7 +285,8 @@ STEP "Test the library and tools..." "ctest . -C Release" $testlog
STEP "Create an install image..." "cpack -C Release CPackConfig.cmake" $packlog
# 8. Install with this command:
-STEP "Install..." "./HDF5-${version}-Linux.sh --skip-license" $installlog
+#STEP "Install..." "./HDF5-${version}-Linux.sh --skip-license" $installlog
+STEP "Install..." "INSTALL_HDF5" $installlog
# save the last exit code
exit_code=$?
diff --git a/bin/h5vers b/bin/h5vers
index cb4b9e0..2aa8023 100755
--- a/bin/h5vers
+++ b/bin/h5vers
@@ -187,6 +187,10 @@ die "unable to read file: $RELEASE\n" unless -r $file;
my $CONFIGURE = $file;
$CONFIGURE =~ s/[^\/]*$/..\/configure.ac/;
die "unable to read file: $CONFIGURE\n" unless -r $file;
+# cpp_doc_config
+my $CPP_DOC_CONFIG = $file;
+$CPP_DOC_CONFIG =~ s/[^\/]*$/..\/c++\/src\/cpp_doc_config/;
+die "unable to read file: $CPP_DOC_CONFIG\n" unless -r $file;
# Get the current version number.
open FILE, $file or die "unable to open $file: $!\n";
@@ -234,7 +238,8 @@ if ($set) {
$README = "";
$RELEASE = "";
$CONFIGURE = "";
- $LT_VERS = "";
+ $CPP_DOC_CONFIG = "";
+ $LT_VERS = "";
@newver = @curver;
}
@@ -309,6 +314,46 @@ if ($RELEASE) {
close FILE;
}
+# Update the c++/src/cpp_doc_config file
+if ($CPP_DOC_CONFIG) {
+ my $data = read_file($CPP_DOC_CONFIG);
+ my $version_string = sprintf("HDF5 version %d.%d.%d%s %s",
+ @newver[0,1,2],
+ $newver[3] eq "" ? "" : "-".$newver[3],
+ "currently under development");
+
+ $data =~ s/PROJECT_NUMBER\s*=.*/PROJECT_NUMBER = $version_string/;
+
+ write_file($CPP_DOC_CONFIG, $data);
+}
+
+# helper function to read the file for updating c++/src/cpp_doc_config file.
+# The version string in that file is not at the top, so the string replacement
+# is not for the first line, and reading/writing the entire file as one string
+# facilitates the substring replacement.
+sub read_file {
+ my ($filename) = @_;
+
+ open my $in, $filename or die "Could not open '$filename' for reading $!";
+ local $/ = undef;
+ my $all = <$in>;
+ close $in;
+
+ return $all;
+}
+
+# helper function to write the file for updating c++/src/cpp_doc_config file.
+sub write_file {
+ my ($filename, $content) = @_;
+
+ open my $out, ">$filename" or die "Could not open '$filename' for writing $!";;
+ print $out $content;
+ close $out;
+
+ return;
+}
+
+
sub gen_configure {
my ($name, $conf) = @_;
diff --git a/bin/snapshot b/bin/snapshot
index b4adf5e..a496edd 100755
--- a/bin/snapshot
+++ b/bin/snapshot
@@ -67,8 +67,8 @@ ReleaseDir_default=release_dir
ZLIB_default=
ZLIB=$ZLIB_default
-# What compression methods to use? (md5 does checksum).
-METHODS="gzip zip bzip2 md5 doc"
+# What compression methods to use?
+METHODS="gzip zip bzip2 doc"
# Use User's MAKE if set. Else use generic make.
MAKE=${MAKE:-make}
diff --git a/c++/examples/Makefile.am b/c++/examples/Makefile.am
index 5bb8d59..2408217 100644
--- a/c++/examples/Makefile.am
+++ b/c++/examples/Makefile.am
@@ -42,8 +42,8 @@ INSTALL_FILES=create.cpp readdata.cpp writedata.cpp compound.cpp \
# Some of the examples depend on files created by running other examples
readdata.chkexe_: create.chkexe_
chunks.chkexe_: extend_ds.chkexe_
-h5tutr_rdwt.chkexe_: h5tutrcrtdat.chkexe
-h5tutrcrtatt.chkexe_: h5tutrcrtdat.chkexe
+h5tutr_rdwt.chkexe_: h5tutr_crtdat.chkexe
+h5tutrcrtatt.chkexe_: h5tutr_crtdat.chkexe
h5tutr_crtgrpd.chkexe_: h5tutr_crtgrpar.chkexe
# Tell conclude.am that these are C++ tests.
@@ -52,6 +52,7 @@ CXX_API=yes
# Where to install examples
# Note: no '/' after DESTDIR. Explanation in commence.am
EXAMPLEDIR=${DESTDIR}$(exec_prefix)/share/hdf5_examples/c++
+EXAMPLETOPDIR=${DESTDIR}$(exec_prefix)/share/hdf5_examples
# How to build programs using h5c++
$(EXTRA_PROG): $(H5CPP)
diff --git a/c++/examples/Makefile.in b/c++/examples/Makefile.in
index c8d6b18..03bd135 100644
--- a/c++/examples/Makefile.in
+++ b/c++/examples/Makefile.in
@@ -627,6 +627,7 @@ CXX_API = yes
# Where to install examples
# Note: no '/' after DESTDIR. Explanation in commence.am
EXAMPLEDIR = ${DESTDIR}$(exec_prefix)/share/hdf5_examples/c++
+EXAMPLETOPDIR = ${DESTDIR}$(exec_prefix)/share/hdf5_examples
# Assume that all tests in this directory are examples, and tell
# conclude.am when to build them.
@@ -1020,8 +1021,8 @@ help:
# Some of the examples depend on files created by running other examples
readdata.chkexe_: create.chkexe_
chunks.chkexe_: extend_ds.chkexe_
-h5tutr_rdwt.chkexe_: h5tutrcrtdat.chkexe
-h5tutrcrtatt.chkexe_: h5tutrcrtdat.chkexe
+h5tutr_rdwt.chkexe_: h5tutr_crtdat.chkexe
+h5tutrcrtatt.chkexe_: h5tutr_crtdat.chkexe
h5tutr_crtgrpd.chkexe_: h5tutr_crtgrpar.chkexe
# How to build programs using h5c++
diff --git a/c++/src/H5CommonFG.cpp b/c++/src/H5CommonFG.cpp
index 1547a5b..dbe26b4 100644
--- a/c++/src/H5CommonFG.cpp
+++ b/c++/src/H5CommonFG.cpp
@@ -1130,6 +1130,7 @@ H5O_type_t CommonFG::childObjType(hsize_t index, H5_index_t index_type, H5_iter_
unsigned CommonFG::childObjVersion(const char* objname) const
{
H5O_info_t objinfo;
+ unsigned version = 0;
// Use C API to get information of the object
herr_t ret_value = H5Oget_info_by_name(getLocId(), objname, &objinfo, H5P_DEFAULT);
@@ -1140,12 +1141,11 @@ unsigned CommonFG::childObjVersion(const char* objname) const
// Return a valid version or throw an exception for invalid value
else
{
- unsigned version = objinfo.hdr.version;
+ version = objinfo.hdr.version;
if (version != H5O_VERSION_1 && version != H5O_VERSION_2)
throwException("childObjVersion", "Invalid version for object");
- else
- return(version);
}
+ return(version);
}
//--------------------------------------------------------------------------
diff --git a/c++/src/H5CommonFG.h b/c++/src/H5CommonFG.h
index b726e52..d36d78c 100644
--- a/c++/src/H5CommonFG.h
+++ b/c++/src/H5CommonFG.h
@@ -21,6 +21,7 @@
namespace H5 {
#endif
+// Class forwarding
class Group;
class H5File;
class ArrayType;
diff --git a/c++/src/H5DataType.cpp b/c++/src/H5DataType.cpp
index a227843..cdcd1e6 100644
--- a/c++/src/H5DataType.cpp
+++ b/c++/src/H5DataType.cpp
@@ -106,7 +106,7 @@ DataType::DataType( const H5T_class_t type_class, size_t size ) : H5Object()
// Jul, 2008
// Added for application convenience.
//--------------------------------------------------------------------------
-DataType::DataType(const H5Location& loc, const void* ref, H5R_type_t ref_type, const PropList& plist) : H5Object(), id(H5I_INVALID_HID)
+DataType::DataType(const H5Location& loc, const void* ref, H5R_type_t ref_type, const PropList& plist) : H5Object()
{
id = H5Location::p_dereference(loc.getId(), ref, ref_type, plist, "constructor - by dereference");
}
@@ -148,13 +148,18 @@ DataType::DataType(const DataType& original) : H5Object()
///\exception H5::DataTypeIException
// Programmer Binh-Minh Ribler - 2000
// Description
-// This is so that when a predefined type is passed in, a
-// copy of it is made, not just a duplicate of the HDF5 id.
+// Copying the type so that when a predefined type is passed in,
+// a copy of it is made, not just a duplicate of the HDF5 id.
+// Note: calling DataType::copy will invoke DataType::close()
+// unnecessarily and will produce undefined behavior.
+// -BMR, Apr 2015
//--------------------------------------------------------------------------
DataType::DataType(const PredType& pred_type) : H5Object()
{
- // use DataType::copy to make a copy of this predefined type
- copy(pred_type);
+ // call C routine to copy the datatype
+ id = H5Tcopy( pred_type.getId() );
+ if (id < 0)
+ throw DataTypeIException("DataType constructor", "H5Tcopy failed");
}
//--------------------------------------------------------------------------
diff --git a/c++/src/H5File.cpp b/c++/src/H5File.cpp
index 2e70e30..de23d78 100644
--- a/c++/src/H5File.cpp
+++ b/c++/src/H5File.cpp
@@ -73,9 +73,6 @@ H5File::H5File() : H5Location(), CommonFG(), id(H5I_INVALID_HID) {}
/// exists, and fail, otherwise
/// \li \c H5F_ACC_RDWR - Open file for read/write, if it already
/// exists, and fail, otherwise
-/// \li \c H5F_ACC_DEBUG - print debug information. This flag is
-/// used only by HDF5 library developers; it is neither
-/// tested nor supported for use in applications.
///\par
/// For info on file creation in the case of an already-open file,
/// please refer to the \b Special \b case section in the C layer
@@ -133,25 +130,25 @@ void H5File::p_get_file(const char* name, unsigned int flags, const FileCreatPro
{
// These bits only set for creation, so if any of them are set,
// create the file.
- if( flags & (H5F_ACC_EXCL|H5F_ACC_TRUNC|H5F_ACC_DEBUG))
+ if( flags & (H5F_ACC_EXCL|H5F_ACC_TRUNC))
{
- hid_t create_plist_id = create_plist.getId();
- hid_t access_plist_id = access_plist.getId();
- id = H5Fcreate( name, flags, create_plist_id, access_plist_id );
- if( id < 0 ) // throw an exception when open/create fail
- {
- throw FileIException("H5File constructor", "H5Fcreate failed");
- }
+ hid_t create_plist_id = create_plist.getId();
+ hid_t access_plist_id = access_plist.getId();
+ id = H5Fcreate( name, flags, create_plist_id, access_plist_id );
+ if( id < 0 ) // throw an exception when open/create fail
+ {
+ throw FileIException("H5File constructor", "H5Fcreate failed");
+ }
}
// Open the file if none of the bits above are set.
else
{
- hid_t access_plist_id = access_plist.getId();
- id = H5Fopen( name, flags, access_plist_id );
- if( id < 0 ) // throw an exception when open/create fail
- {
- throw FileIException("H5File constructor", "H5Fopen failed");
- }
+ hid_t access_plist_id = access_plist.getId();
+ id = H5Fopen( name, flags, access_plist_id );
+ if( id < 0 ) // throw an exception when open/create fail
+ {
+ throw FileIException("H5File constructor", "H5Fopen failed");
+ }
}
}
diff --git a/c++/src/Makefile.in b/c++/src/Makefile.in
index 55c3577..0487f69 100644
--- a/c++/src/Makefile.in
+++ b/c++/src/Makefile.in
@@ -670,7 +670,7 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.clog *.clog2
# After making changes, run bin/reconfigure to update other configure related
# files like Makefile.in.
LT_VERS_INTERFACE = 6
-LT_VERS_REVISION = 206
+LT_VERS_REVISION = 208
LT_VERS_AGE = 0
# This is our main target
diff --git a/c++/src/cpp_doc_config b/c++/src/cpp_doc_config
index f2caed2..4072c1b 100644
--- a/c++/src/cpp_doc_config
+++ b/c++/src/cpp_doc_config
@@ -38,7 +38,7 @@ PROJECT_NAME = "HDF5 C++ API"
# could be handy for archiving the generated documentation or if some version
# control system is used.
-PROJECT_NUMBER = 1.8.13
+PROJECT_NUMBER = HDF5 version 1.9.218 currently under development
# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a
diff --git a/config/cmake/ConfigureChecks.cmake b/config/cmake/ConfigureChecks.cmake
index 2a4e363..4df6e8a 100644
--- a/config/cmake/ConfigureChecks.cmake
+++ b/config/cmake/ConfigureChecks.cmake
@@ -93,45 +93,6 @@ SET (H5_DEFAULT_VOL H5VL_NATIVE)
# ----------------------------------------------------------------------
CHECK_FUNCTION_EXISTS (difftime H5_HAVE_DIFFTIME)
-#CHECK_FUNCTION_EXISTS (gettimeofday H5_HAVE_GETTIMEOFDAY)
-# Since gettimeofday is not defined any where standard, lets look in all the
-# usual places. On MSVC we are just going to use ::clock()
-if (NOT MSVC)
- if ("H5_HAVE_TIME_GETTIMEOFDAY" MATCHES "^H5_HAVE_TIME_GETTIMEOFDAY$")
- TRY_COMPILE (HAVE_TIME_GETTIMEOFDAY
- ${CMAKE_BINARY_DIR}
- ${HDF_RESOURCES_EXT_DIR}/GetTimeOfDayTest.cpp
- COMPILE_DEFINITIONS -DTRY_TIME_H
- OUTPUT_VARIABLE OUTPUT
- )
- if (HAVE_TIME_GETTIMEOFDAY STREQUAL "TRUE")
- set (H5_HAVE_TIME_GETTIMEOFDAY "1" CACHE INTERNAL "H5_HAVE_TIME_GETTIMEOFDAY")
- set (H5_HAVE_GETTIMEOFDAY "1" CACHE INTERNAL "H5_HAVE_GETTIMEOFDAY")
- endif (HAVE_TIME_GETTIMEOFDAY STREQUAL "TRUE")
- endif ("H5_HAVE_TIME_GETTIMEOFDAY" MATCHES "^H5_HAVE_TIME_GETTIMEOFDAY$")
-
- if ("H5_HAVE_SYS_TIME_GETTIMEOFDAY" MATCHES "^H5_HAVE_SYS_TIME_GETTIMEOFDAY$")
- TRY_COMPILE (HAVE_SYS_TIME_GETTIMEOFDAY
- ${CMAKE_BINARY_DIR}
- ${HDF_RESOURCES_EXT_DIR}/GetTimeOfDayTest.cpp
- COMPILE_DEFINITIONS -DTRY_SYS_TIME_H
- OUTPUT_VARIABLE OUTPUT
- )
- if (HAVE_SYS_TIME_GETTIMEOFDAY STREQUAL "TRUE")
- set (H5_HAVE_SYS_TIME_GETTIMEOFDAY "1" CACHE INTERNAL "H5_HAVE_SYS_TIME_GETTIMEOFDAY")
- set (H5_HAVE_GETTIMEOFDAY "1" CACHE INTERNAL "H5_HAVE_GETTIMEOFDAY")
- endif (HAVE_SYS_TIME_GETTIMEOFDAY STREQUAL "TRUE")
- endif ("H5_HAVE_SYS_TIME_GETTIMEOFDAY" MATCHES "^H5_HAVE_SYS_TIME_GETTIMEOFDAY$")
-
- if (NOT HAVE_SYS_TIME_GETTIMEOFDAY AND NOT H5_HAVE_GETTIMEOFDAY)
- message (STATUS "---------------------------------------------------------------")
- message (STATUS "Function 'gettimeofday()' was not found. HDF5 will use its")
- message (STATUS " own implementation.. This can happen on older versions of")
- message (STATUS " MinGW on Windows. Consider upgrading your MinGW installation")
- message (STATUS " to a newer version such as MinGW 3.12")
- message (STATUS "---------------------------------------------------------------")
- endif (NOT HAVE_SYS_TIME_GETTIMEOFDAY AND NOT H5_HAVE_GETTIMEOFDAY)
-endif (NOT MSVC)
# Find the library containing clock_gettime()
if (NOT WINDOWS)
diff --git a/config/cmake/H5pubconf.h.in b/config/cmake/H5pubconf.h.in
index da6c82d..d618dd7 100644
--- a/config/cmake/H5pubconf.h.in
+++ b/config/cmake/H5pubconf.h.in
@@ -91,10 +91,6 @@
/* Define if Darwin or Mac OS X */
#cmakedefine H5_HAVE_DARWIN @H5_HAVE_DARWIN@
-/* Define to 1 if you have the declaration of `tzname', and to 0 if you don't.
- */
-#cmakedefine H5_HAVE_DECL_TZNAME @H5_HAVE_DECL_TZNAME@
-
/* Define to 1 if you have the `difftime' function. */
#cmakedefine H5_HAVE_DIFFTIME @H5_HAVE_DIFFTIME@
@@ -170,12 +166,6 @@
/* Define to 1 if you have the `gettimeofday' function. */
#cmakedefine H5_HAVE_GETTIMEOFDAY @H5_HAVE_GETTIMEOFDAY@
-/* Define to 1 if you have the `gettimeofday' function declared in time.h . */
-#cmakedefine H5_HAVE_TIME_GETTIMEOFDAY @H5_HAVE_TIME_GETTIMEOFDAY@
-
-/* Define to 1 if you have the `gettimeofday' function declared in sys/time.h . */
-#cmakedefine H5_HAVE_SYS_TIME_GETTIMEOFDAY @H5_HAVE_SYS_TIME_GETTIMEOFDAY@
-
/* Define to 1 if you have the `get_fpc_csr' function. */
#cmakedefine H5_HAVE_GET_FPC_CSR @H5_HAVE_GET_FPC_CSR@
@@ -204,15 +194,6 @@
/* Define to 1 if you have the `mpe' library (-lmpe). */
#cmakedefine H5_HAVE_LIBMPE @H5_HAVE_LIBMPE@
-/* Define to 1 if you have the `mpi' library (-lmpi). */
-#cmakedefine H5_HAVE_LIBMPI @H5_HAVE_LIBMPI@
-
-/* Define to 1 if you have the `mpich' library (-lmpich). */
-#cmakedefine H5_HAVE_LIBMPICH @H5_HAVE_LIBMPICH@
-
-/* Define to 1 if you have the `mpio' library (-lmpio). */
-#cmakedefine H5_HAVE_LIBMPIO @H5_HAVE_LIBMPIO@
-
/* Define to 1 if you have the `nsl' library (-lnsl). */
#cmakedefine H5_HAVE_LIBNSL @H5_HAVE_LIBNSL@
@@ -282,9 +263,6 @@
/* Define to 1 if you have the `setsysinfo' function. */
#cmakedefine H5_HAVE_SETSYSINFO @H5_HAVE_SETSYSINFO@
-/* Define to 1 if you have the `sigaction' function. */
-#cmakedefine H5_HAVE_SIGACTION @H5_HAVE_SIGACTION@
-
/* Define to 1 if you have the `siglongjmp' function. */
#cmakedefine H5_HAVE_SIGLONGJMP @H5_HAVE_SIGLONGJMP@
@@ -366,9 +344,6 @@
/* Define to 1 if you have the <sys/timeb.h> header file. */
#cmakedefine H5_HAVE_SYS_TIMEB_H @H5_HAVE_SYS_TIMEB_H@
-/* Define to 1 if you have the <time.h> header file. */
-#cmakedefine H5_HAVE_TIME_H @H5_HAVE_TIME_H@
-
/* Define to 1 if you have the <sys/time.h> header file. */
#cmakedefine H5_HAVE_SYS_TIME_H @H5_HAVE_SYS_TIME_H@
@@ -399,9 +374,6 @@
/* Define to 1 if you have the <unistd.h> header file. */
#cmakedefine H5_HAVE_UNISTD_H @H5_HAVE_UNISTD_H@
-/* Define to 1 if you have the `asprintf' function. */
-#cmakedefine H5_HAVE_ASPRINTF @H5_HAVE_ASPRINTF@
-
/* Define to 1 if you have the `vasprintf' function. */
#cmakedefine H5_HAVE_VASPRINTF @H5_HAVE_VASPRINTF@
@@ -623,9 +595,6 @@
/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
#cmakedefine H5_TIME_WITH_SYS_TIME @H5_TIME_WITH_SYS_TIME@
-/* Define to 1 if your <sys/time.h> declares `struct tm'. */
-#cmakedefine H5_TM_IN_SYS_TIME @H5_TM_IN_SYS_TIME@
-
/* Define using v1.6 public API symbols by default */
#cmakedefine H5_USE_16_API_DEFAULT @H5_USE_16_API_DEFAULT@
@@ -684,8 +653,4 @@
/* Define to `long' if <sys/types.h> does not define. */
#cmakedefine H5_ssize_t
-#if defined(__cplusplus) && defined(inline)
-#undef inline
-#endif
-
#endif
diff --git a/config/cmake/HDF518_Examples.cmake.in b/config/cmake/HDF518_Examples.cmake.in
index 27dc7bf..febf20a 100644
--- a/config/cmake/HDF518_Examples.cmake.in
+++ b/config/cmake/HDF518_Examples.cmake.in
@@ -13,7 +13,7 @@ set(CTEST_DASHBOARD_ROOT ${CTEST_SCRIPT_DIRECTORY})
set(CTEST_BUILD_CONFIGURATION "Release")
#set(NO_MAC_FORTRAN "true")
#set(BUILD_OPTIONS "${BUILD_OPTIONS} -DHDF_BUILD_FORTRAN:BOOL=ON")
-set(BUILD_OPTIONS "${BUILD_OPTIONS} -DHDF_ENABLE_F2003:BOOL=ON)
+set(BUILD_OPTIONS "${BUILD_OPTIONS} -DHDF_ENABLE_F2003:BOOL=ON")
#set(CTEST_USE_TAR_SOURCE "${CTEST_SCRIPT_ARG}")
###############################################################################################################
@@ -21,17 +21,17 @@ set(BUILD_OPTIONS "${BUILD_OPTIONS} -DHDF_ENABLE_F2003:BOOL=ON)
###############################################################################################################
if(WIN32)
if(STATICLIBRARIES)
- set(BUILD_OPTIONS "${BUILD_OPTIONS} -DUSE_SHARED_LIBS:BOOL=OFF")
+ set(BUILD_OPTIONS "${BUILD_OPTIONS} -DBUILD_SHARED_LIBS:BOOL=OFF")
endif(STATICLIBRARIES)
- set(ENV{HDF5_DIR} "${INSTALLDIR}/cmake/hdf5")
+ set(ENV{HDF5_DIR} "${INSTALLDIR}/cmake")
set(CTEST_BINARY_NAME ${CTEST_SOURCE_NAME}\\build)
set(CTEST_SOURCE_DIRECTORY "${CTEST_DASHBOARD_ROOT}\\${CTEST_SOURCE_NAME}")
set(CTEST_BINARY_DIRECTORY "${CTEST_DASHBOARD_ROOT}\\${CTEST_BINARY_NAME}")
else(WIN32)
if(STATICLIBRARIES)
- set(BUILD_OPTIONS "${BUILD_OPTIONS} -DUSE_SHARED_LIBS:BOOL=OFF -DCMAKE_ANSI_CFLAGS:STRING=-fPIC")
+ set(BUILD_OPTIONS "${BUILD_OPTIONS} -DBUILD_SHARED_LIBS:BOOL=OFF -DCMAKE_ANSI_CFLAGS:STRING=-fPIC")
endif(STATICLIBRARIES)
- set(ENV{HDF5_DIR} "${INSTALLDIR}/share/cmake/hdf5")
+ set(ENV{HDF5_DIR} "${INSTALLDIR}/share/cmake")
set(ENV{LD_LIBRARY_PATH} "${INSTALLDIR}/lib")
set(CTEST_BINARY_NAME ${CTEST_SOURCE_NAME}/build)
set(CTEST_SOURCE_DIRECTORY "${CTEST_DASHBOARD_ROOT}/${CTEST_SOURCE_NAME}")
diff --git a/config/cmake/hdf5-config.cmake.in b/config/cmake/hdf5-config.cmake.in
index da5304d..667d3e6 100644
--- a/config/cmake/hdf5-config.cmake.in
+++ b/config/cmake/hdf5-config.cmake.in
@@ -105,20 +105,20 @@ endif ()
list (REMOVE_DUPLICATES ${HDF5_PACKAGE_NAME}_FIND_COMPONENTS)
foreach (comp IN LISTS ${HDF5_PACKAGE_NAME}_FIND_COMPONENTS)
set (hdf5_comp2)
- if (${comp} MATCHES "C")
+ if (${comp} STREQUAL "C")
set (hdf5_comp "hdf5")
- elseif (${comp} MATCHES "CXX")
+ elseif (${comp} STREQUAL "CXX")
set (hdf5_comp "hdf5_cpp")
- elseif (${comp} MATCHES "HL")
+ elseif (${comp} STREQUAL "HL")
set (hdf5_comp "hdf5_hl")
- elseif (${comp} MATCHES "CXX_HL")
+ elseif (${comp} STREQUAL "CXX_HL")
set (hdf5_comp "hdf5_hl_cpp")
- elseif (${comp} MATCHES "Tools")
+ elseif (${comp} STREQUAL "Tools")
set (hdf5_comp "hdf5_tools")
- elseif (${comp} MATCHES "Fortran")
+ elseif (${comp} STREQUAL "Fortran")
set (hdf5_comp2 "hdf5_f90cstub")
set (hdf5_comp "hdf5_fortran")
- elseif (${comp} MATCHES "Fortran_HL")
+ elseif (${comp} STREQUAL "Fortran_HL")
set (hdf5_comp2 "hdf5_hl_f90cstub")
set (hdf5_comp "hdf5_hl_fortran")
endif ()
@@ -133,17 +133,15 @@ list (REMOVE_DUPLICATES ${HDF5_PACKAGE_NAME}_FIND_COMPONENTS)
else ()
set (${HDF5_PACKAGE_NAME}_${comp}_FOUND 1)
string(TOUPPER ${HDF5_PACKAGE_NAME}_${comp}_LIBRARY COMP_LIBRARY)
- set (${COMP_LIBRARY} ${${COMP_LIBRARY}} ${hdf5_comp2} ${hdf5_comp})
+ set (${HDF5_PACKAGE_NAME}_LIBRARIES ${${HDF5_PACKAGE_NAME}_LIBRARIES} ${hdf5_comp2} ${hdf5_comp})
endif ()
else ()
set (${HDF5_PACKAGE_NAME}_${comp}_FOUND 1)
string(TOUPPER ${HDF5_PACKAGE_NAME}_${comp}_LIBRARY COMP_LIBRARY)
- set (${COMP_LIBRARY} ${${COMP_LIBRARY}} ${hdf5_comp})
+ set (${HDF5_PACKAGE_NAME}_LIBRARIES ${${HDF5_PACKAGE_NAME}_LIBRARIES} ${hdf5_comp})
endif ()
endif ()
endforeach ()
check_required_components(${HDF5_PACKAGE_NAME}_FIND_COMPONENTS)
-
-set (${HDF5_PACKAGE_NAME}_LIBRARIES ${${COMP_LIBRARY}})
\ No newline at end of file
diff --git a/config/cmake/libhdf5.settings.cmake.in b/config/cmake/libhdf5.settings.cmake.in
index a036ff8..e2124e1 100644
--- a/config/cmake/libhdf5.settings.cmake.in
+++ b/config/cmake/libhdf5.settings.cmake.in
@@ -23,8 +23,8 @@ Compiling Options:
CPPFLAGS: @CPPFLAGS@
H5_CPPFLAGS: @H5_CPPFLAGS@
AM_CPPFLAGS: @AM_CPPFLAGS@
- Shared Libraries: @H5_ENABLE_SHARED_LIB@
- Static Libraries: @H5_ENABLE_STATIC_LIB@
+ Shared C Library: @H5_ENABLE_SHARED_LIB@
+ Static C Library: @H5_ENABLE_STATIC_LIB@
Statically Linked Executables: @BUILD_STATIC_EXECS@
LDFLAGS: @CMAKE_SHARED_LINKER_FLAGS@
AM_LDFLAGS: @AM_LDFLAGS@
@@ -42,11 +42,16 @@ Languages:
@BUILD_FORTRAN_CONDITIONAL_TRUE@ Fortran Flags: @CMAKE_Fortran_FLAGS@
@BUILD_FORTRAN_CONDITIONAL_TRUE@ H5 Fortran Flags: @H5_FCFLAGS@
@BUILD_FORTRAN_CONDITIONAL_TRUE@ AM Fortran Flags: @AM_FCFLAGS@
+@BUILD_FORTRAN_CONDITIONAL_TRUE@ Shared Fortran Library: @H5_ENABLE_SHARED_LIB@
+@BUILD_FORTRAN_CONDITIONAL_TRUE@ Static Fortran Library: @H5_ENABLE_STATIC_LIB@
+
C++: @HDF5_BUILD_CPP_LIB@
@BUILD_CXX_CONDITIONAL_TRUE@ C++ Compiler: @CMAKE_CXX_COMPILER@
@BUILD_CXX_CONDITIONAL_TRUE@ C++ Flags: @CMAKE_CXX_FLAGS@
@BUILD_CXX_CONDITIONAL_TRUE@ H5 C++ Flags: @H5_CXXFLAGS@
@BUILD_CXX_CONDITIONAL_TRUE@ AM C++ Flags: @AM_CXXFLAGS@
+@BUILD_CXX_CONDITIONAL_TRUE@ Shared C++ Library: @H5_ENABLE_SHARED_LIB@
+@BUILD_CXX_CONDITIONAL_TRUE@ Static C++ Library: @H5_ENABLE_STATIC_LIB@
Features:
---------
@@ -56,7 +61,6 @@ Features:
Default API Mapping: @DEFAULT_API_VERSION@
With Deprecated Public Symbols: @HDF5_ENABLE_DEPRECATED_SYMBOLS@
I/O filters (external): @EXTERNAL_FILTERS@
- I/O filters (internal): @FILTERS@
MPE: @H5_HAVE_LIBLMPE@
Direct VFD: @H5_HAVE_DIRECT@
dmalloc: @H5_HAVE_LIBDMALLOC@
diff --git a/config/cmake/scripts/CTestScript.cmake b/config/cmake/scripts/CTestScript.cmake
new file mode 100755
index 0000000..0cd686a
--- /dev/null
+++ b/config/cmake/scripts/CTestScript.cmake
@@ -0,0 +1,282 @@
+cmake_minimum_required(VERSION 3.1.0 FATAL_ERROR)
+########################################################
+# This dashboard is maintained by The HDF Group
+# For any comments please contact cdashhelp@hdfgroup.org
+#
+########################################################
+# -----------------------------------------------------------
+# -- Get environment
+# -----------------------------------------------------------
+if(NOT SITE_OS_NAME)
+ ## machine name not provided - attempt to discover with uname
+ ## -- set hostname
+ ## --------------------------
+ find_program(HOSTNAME_CMD NAMES hostname)
+ exec_program(${HOSTNAME_CMD} ARGS OUTPUT_VARIABLE HOSTNAME)
+ set(CTEST_SITE "${HOSTNAME}${CTEST_SITE_EXT}")
+ find_program(UNAME NAMES uname)
+ macro(getuname name flag)
+ exec_program("${UNAME}" ARGS "${flag}" OUTPUT_VARIABLE "${name}")
+ endmacro(getuname)
+
+ getuname(osname -s)
+ getuname(osrel -r)
+ getuname(cpu -m)
+ message(STATUS "Dashboard script uname output: ${osname}-${osrel}-${cpu}\n")
+
+ set(CTEST_BUILD_NAME "${osname}-${osrel}-${cpu}")
+ if(USE_AUTOTOOLS)
+ set(CTEST_BUILD_NAME "AT-${CTEST_BUILD_NAME}")
+ endif()
+ if(SITE_BUILDNAME_SUFFIX)
+ set(CTEST_BUILD_NAME "${CTEST_BUILD_NAME}-${SITE_BUILDNAME_SUFFIX}")
+ endif()
+ set(BUILD_OPTIONS "${ADD_BUILD_OPTIONS}")
+else(NOT SITE_OS_NAME)
+ ## machine name provided
+ ## --------------------------
+ if(CMAKE_HOST_UNIX)
+ set(CTEST_BUILD_NAME "${SITE_OS_NAME}-${SITE_OS_VERSION}-${SITE_OS_BITS}-${SITE_COMPILER_NAME}-${SITE_COMPILER_VERSION}")
+ else()
+ set(CTEST_BUILD_NAME "${SITE_OS_NAME}-${SITE_OS_VERSION}-${SITE_COMPILER_NAME}")
+ endif()
+ if(SITE_BUILDNAME_SUFFIX)
+ set(CTEST_BUILD_NAME ${CTEST_BUILD_NAME}-${SITE_BUILDNAME_SUFFIX})
+ endif()
+ set(BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DSITE:STRING=${CTEST_SITE} -DBUILDNAME:STRING=${CTEST_BUILD_NAME}")
+endif(NOT SITE_OS_NAME)
+
+#-----------------------------------------------------------------------------
+# MAC machines need special option
+#-----------------------------------------------------------------------------
+if(APPLE)
+ # Compiler choice
+ execute_process(COMMAND xcrun --find cc OUTPUT_VARIABLE XCODE_CC OUTPUT_STRIP_TRAILING_WHITESPACE)
+ execute_process(COMMAND xcrun --find c++ OUTPUT_VARIABLE XCODE_CXX OUTPUT_STRIP_TRAILING_WHITESPACE)
+ set(ENV{CC} "${XCODE_CC}")
+ set(ENV{CXX} "${XCODE_CXX}")
+
+ set(BUILD_OPTIONS "${BUILD_OPTIONS} -DCTEST_USE_LAUNCHERS:BOOL=ON -DCMAKE_BUILD_WITH_INSTALL_RPATH:BOOL=OFF")
+endif(APPLE)
+
+#-----------------------------------------------------------------------------
+set(NEED_REPOSITORY_CHECKOUT 0)
+set(CTEST_CMAKE_COMMAND "\"${CMAKE_COMMAND}\"")
+if(CTEST_USE_TAR_SOURCE)
+ ## Uncompress source if tar file provided
+ ## --------------------------
+ if(WIN32)
+ message(STATUS "extracting... [${CMAKE_EXECUTABLE_NAME} x ${CTEST_USE_TAR_SOURCE}.zip]")
+ execute_process(COMMAND ${CMAKE_EXECUTABLE_NAME} -E tar -xvf ${CTEST_DASHBOARD_ROOT}\\${CTEST_USE_TAR_SOURCE}.zip RESULT_VARIABLE rv)
+ else()
+ message(STATUS "extracting... [${CMAKE_EXECUTABLE_NAME} -E tar -xvf ${CTEST_USE_TAR_SOURCE}.tar]")
+ execute_process(COMMAND ${CMAKE_EXECUTABLE_NAME} -E tar -xvf ${CTEST_DASHBOARD_ROOT}/${CTEST_USE_TAR_SOURCE}.tar RESULT_VARIABLE rv)
+ endif()
+
+ if(NOT rv EQUAL 0)
+ message(STATUS "extracting... [error-(${rv}) clean up]")
+ file(REMOVE_RECURSE "${CTEST_SOURCE_DIRECTORY}")
+ message(FATAL_ERROR "error: extract of ${CTEST_USE_TAR_SOURCE} failed")
+ endif()
+
+ file(RENAME ${CTEST_DASHBOARD_ROOT}/${CTEST_USE_TAR_SOURCE} ${CTEST_SOURCE_DIRECTORY})
+else(CTEST_USE_TAR_SOURCE)
+ if(LOCAL_UPDATE)
+ if(CTEST_USE_GIT_SOURCE)
+ find_program(CTEST_GIT_COMMAND NAMES git git.cmd)
+ set(CTEST_GIT_UPDATE_OPTIONS)
+
+ if(NOT EXISTS "${CTEST_SOURCE_DIRECTORY}")
+ set(NEED_REPOSITORY_CHECKOUT 1)
+ endif()
+
+ if(${NEED_REPOSITORY_CHECKOUT})
+ if(REPOSITORY_BRANCH)
+ set(GITUpdateOptions "clone \"${REPOSITORY_URL}\" --branch \"${REPOSITORY_BRANCH}\" \"${CTEST_SOURCE_DIRECTORY}\" --recurse-submodules")
+ else()
+ set(GITUpdateOptions "clone \"${REPOSITORY_URL}\" \"${CTEST_SOURCE_DIRECTORY}\" --recurse-submodules")
+ endif()
+ set(CTEST_CHECKOUT_COMMAND "${CTEST_GIT_COMMAND} ${GITUpdateOptions}")
+ else()
+ set(GITUpdateOptions "pull")
+ endif()
+ set(CTEST_UPDATE_COMMAND "${CTEST_GIT_COMMAND}")
+ else(CTEST_USE_GIT_SOURCE)
+ ## --------------------------
+ ## use subversion to get source
+ #-----------------------------------------------------------------------------
+ ## cygwin does not handle the find_package() call
+ ## --------------------------
+ set(CTEST_UPDATE_COMMAND "SVNCommand")
+ if(NOT SITE_CYGWIN})
+ find_package (Subversion)
+ set(CTEST_SVN_COMMAND "${Subversion_SVN_EXECUTABLE}")
+ set(CTEST_UPDATE_COMMAND "${Subversion_SVN_EXECUTABLE}")
+ else()
+ set(CTEST_SVN_COMMAND "/usr/bin/svn")
+ set(CTEST_UPDATE_COMMAND "/usr/bin/svn")
+ endif()
+
+ if(NOT EXISTS "${CTEST_SOURCE_DIRECTORY}")
+ set(NEED_REPOSITORY_CHECKOUT 1)
+ endif()
+
+ if(NOT CTEST_REPO_VERSION)
+ set(CTEST_REPO_VERSION "HEAD")
+ endif()
+ if(${NEED_REPOSITORY_CHECKOUT})
+ set(CTEST_CHECKOUT_COMMAND
+ "${CTEST_SVN_COMMAND} co ${REPOSITORY_URL} \"${CTEST_SOURCE_DIRECTORY}\" -r ${CTEST_REPO_VERSION}")
+ else(${NEED_REPOSITORY_CHECKOUT})
+ if(CTEST_REPO_VERSION)
+ set(CTEST_SVN_UPDATE_OPTIONS "-r ${CTEST_REPO_VERSION}")
+ endif()
+ endif(${NEED_REPOSITORY_CHECKOUT})
+ endif(CTEST_USE_GIT_SOURCE)
+ endif(LOCAL_UPDATE)
+endif(CTEST_USE_TAR_SOURCE)
+
+#-----------------------------------------------------------------------------
+## Clear the build directory
+## --------------------------
+set(CTEST_START_WITH_EMPTY_BINARY_DIRECTORY TRUE)
+if(NOT EXISTS "${CTEST_BINARY_DIRECTORY}")
+ file(MAKE_DIRECTORY "${CTEST_BINARY_DIRECTORY}")
+else()
+ ctest_empty_binary_directory(${CTEST_BINARY_DIRECTORY})
+endif()
+
+# Use multiple CPU cores to build
+include(ProcessorCount)
+ProcessorCount(N)
+if(NOT N EQUAL 0)
+ if(NOT WIN32)
+ set(CTEST_BUILD_FLAGS -j${N})
+ endif()
+ set(ctest_test_args ${ctest_test_args} PARALLEL_LEVEL ${N})
+endif()
+
+#-----------------------------------------------------------------------------
+# Send the main script as a note.
+list(APPEND CTEST_NOTES_FILES
+ "${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}"
+ "${CMAKE_CURRENT_LIST_FILE}"
+ "${CTEST_SOURCE_DIRECTORY}/config/cmake/cacheinit.cmake"
+)
+
+#-----------------------------------------------------------------------------
+# Check for required variables.
+# --------------------------
+foreach(req
+ CTEST_CMAKE_GENERATOR
+ CTEST_SITE
+ CTEST_BUILD_NAME
+ )
+ if(NOT DEFINED ${req})
+ message(FATAL_ERROR "The containing script must set ${req}")
+ endif()
+endforeach(req)
+
+#-----------------------------------------------------------------------------
+# Initialize the CTEST commands
+#------------------------------
+if(LOCAL_MEMCHECK_TEST)
+ find_program(CTEST_MEMORYCHECK_COMMAND NAMES valgrind)
+ set (CTEST_CONFIGURE_COMMAND
+ "${CTEST_CMAKE_COMMAND} -C \"${CTEST_SOURCE_DIRECTORY}/config/cmake/mccacheinit.cmake\" -DCMAKE_BUILD_TYPE:STRING=${CTEST_BUILD_CONFIGURATION} ${BUILD_OPTIONS} \"-G${CTEST_CMAKE_GENERATOR}\" \"${CTEST_SOURCE_DIRECTORY}\""
+ )
+else()
+ if(LOCAL_COVERAGE_TEST)
+ find_program(CTEST_COVERAGE_COMMAND NAMES gcov)
+ endif()
+ set (CTEST_CONFIGURE_COMMAND
+ "${CTEST_CMAKE_COMMAND} -C \"${CTEST_SOURCE_DIRECTORY}/config/cmake/cacheinit.cmake\" -DCMAKE_BUILD_TYPE:STRING=${CTEST_BUILD_CONFIGURATION} ${BUILD_OPTIONS} \"-G${CTEST_CMAKE_GENERATOR}\" \"${CTEST_SOURCE_DIRECTORY}\""
+ )
+endif()
+
+#-----------------------------------------------------------------------------
+## -- set output to english
+set($ENV{LC_MESSAGES} "en_EN")
+
+# Print summary information.
+foreach(v
+ CTEST_SITE
+ CTEST_BUILD_NAME
+ CTEST_SOURCE_DIRECTORY
+ CTEST_BINARY_DIRECTORY
+ CTEST_CMAKE_GENERATOR
+ CTEST_BUILD_CONFIGURATION
+ CTEST_GIT_COMMAND
+ CTEST_CHECKOUT_COMMAND
+ CTEST_CONFIGURE_COMMAND
+ CTEST_SCRIPT_DIRECTORY
+ CTEST_USE_LAUNCHERS
+ )
+ set(vars "${vars} ${v}=[${${v}}]\n")
+endforeach(v)
+message(STATUS "Dashboard script configuration:\n${vars}\n")
+
+#-----------------------------------------------------------------------------
+#-----------------------------------------------------------------------------
+ ## NORMAL process
+ ## -- LOCAL_UPDATE updates the source folder from svn
+ ## -- LOCAL_SUBMIT reports to CDash server
+ ## -- LOCAL_SKIP_TEST skips the test process (only builds)
+ ## -- LOCAL_MEMCHECK_TEST executes the Valgrind testing
+ ## -- LOCAL_COVERAGE_TEST executes code coverage process
+ ## --------------------------
+ ctest_start (${MODEL} TRACK ${MODEL})
+ if(LOCAL_UPDATE)
+ ctest_update (SOURCE "${CTEST_SOURCE_DIRECTORY}")
+ endif()
+ configure_file(${CTEST_SOURCE_DIRECTORY}/config/cmake/CTestCustom.cmake ${CTEST_BINARY_DIRECTORY}/CTestCustom.cmake)
+ ctest_read_custom_files ("${CTEST_BINARY_DIRECTORY}")
+ ctest_configure (BUILD "${CTEST_BINARY_DIRECTORY}")
+ if(LOCAL_SUBMIT)
+ ctest_submit (PARTS Update Configure Notes)
+ endif()
+
+ ctest_build (BUILD "${CTEST_BINARY_DIRECTORY}" APPEND)
+ if(LOCAL_SUBMIT)
+ ctest_submit (PARTS Build)
+ endif()
+
+ if(NOT LOCAL_SKIP_TEST)
+ if(NOT LOCAL_MEMCHECK_TEST)
+ ctest_test (BUILD "${CTEST_BINARY_DIRECTORY}" APPEND ${ctest_test_args} RETURN_VALUE res)
+ if(LOCAL_SUBMIT)
+ ctest_submit (PARTS Test)
+ endif()
+ if(res GREATER 0)
+ message(FATAL_ERROR "Failed tests: ${res}\n")
+ endif()
+ else()
+ ctest_memcheck (BUILD "${CTEST_BINARY_DIRECTORY}" APPEND ${ctest_test_args})
+ if(LOCAL_SUBMIT)
+ ctest_submit (PARTS MemCheck)
+ endif(LOCAL_SUBMIT)
+ endif()
+ if(LOCAL_COVERAGE_TEST)
+ ctest_coverage (BUILD "${CTEST_BINARY_DIRECTORY}" APPEND)
+ if(LOCAL_SUBMIT)
+ ctest_submit (PARTS Coverage)
+ endif()
+ endif()
+ endif(NOT LOCAL_SKIP_TEST)
+
+ if(NOT LOCAL_MEMCHECK_TEST AND NOT LOCAL_NO_PACKAGE)
+ ##-----------------------------------------------
+ ## Package the product
+ ##-----------------------------------------------
+ execute_process(COMMAND cpack -C ${CTEST_BUILD_CONFIGURATION} -V
+ WORKING_DIRECTORY ${CTEST_BINARY_DIRECTORY}
+ RESULT_VARIABLE cpackResult
+ OUTPUT_VARIABLE cpackLog
+ ERROR_VARIABLE cpackLog.err
+ )
+ file(WRITE ${CTEST_BINARY_DIRECTORY}/cpack.log "${cpackLog.err}" "${cpackLog}")
+ if(cpackResult GREATER 0)
+ message (FATAL_ERROR "Failed packaging: ${cpackResult}\n")
+ endif()
+ endif(NOT LOCAL_MEMCHECK_TEST AND NOT LOCAL_NO_PACKAGE)
+#-----------------------------------------------------------------------------
diff --git a/config/cmake/scripts/HDF518config.cmake b/config/cmake/scripts/HDF518config.cmake
new file mode 100755
index 0000000..f0aceea
--- /dev/null
+++ b/config/cmake/scripts/HDF518config.cmake
@@ -0,0 +1,172 @@
+##########################################################################
+### For Windows ${CTEST_SCRIPT_ARG} is one of ###
+### [64-VS2013, 32-VS2013, 64-VS2012, 32-VS2012] ###
+### ctest -S HDF518config.cmake,32-VS2012 -C Release -VV -O hdf518.log ###
+### ###
+### Other platforms do not use ${CTEST_SCRIPT_ARG} ###
+### ctest -S HDF518config.cmake -C Release -VV -O hdf518.log ###
+##########################################################################
+
+cmake_minimum_required(VERSION 3.1.0 FATAL_ERROR)
+set(CTEST_SOURCE_VERSION 1.8.15)
+set(CTEST_SOURCE_NAME hdf5-${CTEST_SOURCE_VERSION})
+set(CTEST_BINARY_NAME "build")
+set(CTEST_DASHBOARD_ROOT "${CTEST_SCRIPT_DIRECTORY}")
+if(WIN32)
+ set(CTEST_SOURCE_DIRECTORY "${CTEST_DASHBOARD_ROOT}\\${CTEST_SOURCE_NAME}")
+ set(CTEST_BINARY_DIRECTORY "${CTEST_DASHBOARD_ROOT}\\${CTEST_BINARY_NAME}")
+else()
+ set(CTEST_SOURCE_DIRECTORY "${CTEST_DASHBOARD_ROOT}/${CTEST_SOURCE_NAME}")
+ set(CTEST_BINARY_DIRECTORY "${CTEST_DASHBOARD_ROOT}/${CTEST_BINARY_NAME}")
+endif()
+
+###################################################################
+### Following Line is one of [Release, RelWithDebInfo, Debug] #####
+set(CTEST_BUILD_CONFIGURATION "Release")
+###################################################################
+
+###################################################################
+######### Following describes compiler ############
+if(WIN32)
+ set(SITE_OS_NAME "Windows")
+ set(SITE_OS_VERSION "WIN7")
+ if(${CTEST_SCRIPT_ARG} STREQUAL "64-VS2013")
+ set(CTEST_CMAKE_GENERATOR "Visual Studio 12 2013 Win64")
+ set(SITE_OS_BITS "64")
+ set(SITE_COMPILER_NAME "vs2013")
+ set(SITE_COMPILER_VERSION "12")
+ elseif(${CTEST_SCRIPT_ARG} STREQUAL "32-VS2013")
+ set(CTEST_CMAKE_GENERATOR "Visual Studio 12 2013")
+ set(SITE_OS_BITS "32")
+ set(SITE_COMPILER_NAME "vs2013")
+ set(SITE_COMPILER_VERSION "12")
+ elseif(${CTEST_SCRIPT_ARG} STREQUAL "64-VS2012")
+ set(CTEST_CMAKE_GENERATOR "Visual Studio 11 2012 Win64")
+ set(SITE_OS_BITS "64")
+ set(SITE_COMPILER_NAME "vs2012")
+ set(SITE_COMPILER_VERSION "11")
+ elseif(${CTEST_SCRIPT_ARG} STREQUAL "32-VS2012")
+ set(CTEST_CMAKE_GENERATOR "Visual Studio 11 2012")
+ set(SITE_OS_BITS "32")
+ set(SITE_COMPILER_NAME "vs2012")
+ set(SITE_COMPILER_VERSION "11")
+ endif()
+## Set the following to unique id your computer ##
+ set(CTEST_SITE "WIN7${CTEST_SCRIPT_ARG}.XXXX")
+else()
+ set(CTEST_CMAKE_GENERATOR "Unix Makefiles")
+## Set the following to unique id your computer ##
+ if(APPLE)
+ set(CTEST_SITE "MAC.XXXX")
+ else()
+ set(CTEST_SITE "LINUX.XXXX")
+ endif()
+endif()
+###################################################################
+
+###################################################################
+######### Following is for submission to CDash ############
+###################################################################
+set(MODEL "Experimental")
+######### Following describes computer ############
+## following is optional to describe build ##
+set(SITE_BUILDNAME_SUFFIX "STATIC")
+###################################################################
+
+###################################################################
+##### Following controls CDash submission #####
+#set(LOCAL_SUBMIT "TRUE")
+##### Following controls test process #####
+#set(LOCAL_SKIP_TEST "TRUE")
+#set(LOCAL_MEMCHECK_TEST "TRUE")
+#set(LOCAL_COVERAGE_TEST "TRUE")
+##### Following controls cpack command #####
+#set(LOCAL_NO_PACKAGE "TRUE")
+##### Following controls source update #####
+#set(LOCAL_UPDATE "TRUE")
+set(REPOSITORY_URL "http://svn.hdfgroup.uiuc.edu/hdf5/branches/hdf5_1_8")
+#uncomment to use a compressed source file: *.tar on linux or mac *.zip on windows
+#set(CTEST_USE_TAR_SOURCE "${CTEST_SOURCE_VERSION}")
+###################################################################
+
+###################################################################
+#### Change default configuration of options in config/cmake/cacheinit.cmake file ###
+#### format: set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DXXX:YY=ZZZZ")
+
+### uncomment/comment or change the following lines for configuration options
+
+### comment the following line or change OFF to ON in order to build shared libraries
+set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DBUILD_SHARED_LIBS:BOOL=OFF")
+
+#### ext libraries ####
+### ext libs from tgz
+set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ALLOW_EXTERNAL_SUPPORT:STRING=TGZ -DTGZPATH:PATH=\"${CTEST_SCRIPT_DIRECTORY}\"")
+### ext libs from svn
+#set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ALLOW_EXTERNAL_SUPPORT:STRING=SVN")
+### ext libs on system
+#set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DZLIB_LIBRARY:FILEPATH=some_location/lib/zlib.lib -DZLIB_INCLUDE_DIR:PATH=some_location/include")
+#set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DSZIP_LIBRARY:FILEPATH=some_location/lib/szlib.lib -DSZIP_INCLUDE_DIR:PATH=some_location/include")
+### disable ext libs building
+#set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_Z_LIB_SUPPORT:BOOL=OFF")
+#set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_SZIP_SUPPORT:BOOL=OFF")
+#set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_SZIP_ENCODING:BOOL=OFF")
+#### fortran ####
+### enable Fortran 2003 depends on HDF5_BUILD_FORTRAN
+set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_F2003:BOOL=ON")
+### disable Fortran; change OFF to ON in order to build FORTRAN libraries
+set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_BUILD_FORTRAN:BOOL=OFF")
+
+### disable test program builds
+#set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DBUILD_TESTING:BOOL=OFF")
+
+### disable packaging
+#set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_NO_PACKAGES:BOOL=ON")
+### Create install package with external libraries (szip, zlib, jpeg)
+set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_PACKAGE_EXTLIBS:BOOL=ON")
+
+### change install prefix
+#set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DCMAKE_INSTALL_PREFIX:PATH=install")
+
+###################################################################
+
+if(WIN32)
+ include(${CTEST_SCRIPT_DIRECTORY}\\CTestScript.cmake)
+ if(EXISTS "${CTEST_BINARY_DIRECTORY}\\HDF5-${CTEST_SOURCE_VERSION}-win${SITE_OS_BITS}.exe")
+ file(COPY "${CTEST_BINARY_DIRECTORY}\\HDF5-${CTEST_SOURCE_VERSION}-win${SITE_OS_BITS}.exe" DESTINATION ${CTEST_SCRIPT_DIRECTORY})
+ endif()
+ if(EXISTS "${CTEST_BINARY_DIRECTORY}\\HDF5-${CTEST_SOURCE_VERSION}-win${SITE_OS_BITS}.msi")
+ file(COPY "${CTEST_BINARY_DIRECTORY}\\HDF5-${CTEST_SOURCE_VERSION}-win${SITE_OS_BITS}.msi" DESTINATION ${CTEST_SCRIPT_DIRECTORY})
+ endif()
+ if(EXISTS "${CTEST_BINARY_DIRECTORY}\\HDF5-${CTEST_SOURCE_VERSION}-win${SITE_OS_BITS}.zip")
+ file(COPY "${CTEST_BINARY_DIRECTORY}\\HDF5-${CTEST_SOURCE_VERSION}-win${SITE_OS_BITS}.zip" DESTINATION ${CTEST_SCRIPT_DIRECTORY})
+ endif()
+else()
+ include(${CTEST_SCRIPT_DIRECTORY}/CTestScript.cmake)
+ if(APPLE)
+ if(EXISTS "${CTEST_BINARY_DIRECTORY}/HDF5-${CTEST_SOURCE_VERSION}-Darwin.dmg")
+ file(COPY "${CTEST_BINARY_DIRECTORY}/HDF5-${CTEST_SOURCE_VERSION}-Darwin.dmg" DESTINATION ${CTEST_SCRIPT_DIRECTORY})
+ endif()
+ if(EXISTS "${CTEST_BINARY_DIRECTORY}/HDF5-${CTEST_SOURCE_VERSION}-Darwin.tar.gz")
+ file(COPY "${CTEST_BINARY_DIRECTORY}/HDF5-${CTEST_SOURCE_VERSION}-Darwin.tar.gz" DESTINATION ${CTEST_SCRIPT_DIRECTORY})
+ endif()
+ if(EXISTS "${CTEST_BINARY_DIRECTORY}/HDF5-${CTEST_SOURCE_VERSION}-Darwin.sh")
+ file(COPY "${CTEST_BINARY_DIRECTORY}/HDF5-${CTEST_SOURCE_VERSION}-Darwin.sh" DESTINATION ${CTEST_SCRIPT_DIRECTORY})
+ endif()
+ else()
+ if(CYGWIN)
+ if(EXISTS "${CTEST_BINARY_DIRECTORY}/HDF5-${CTEST_SOURCE_VERSION}-CYGWIN.sh")
+ file(COPY "${CTEST_BINARY_DIRECTORY}/HDF5-${CTEST_SOURCE_VERSION}-CYGWIN.sh" DESTINATION ${CTEST_SCRIPT_DIRECTORY})
+ endif()
+ if(EXISTS "${CTEST_BINARY_DIRECTORY}/HDF5-${CTEST_SOURCE_VERSION}-CYGWIN.tar.gz")
+ file(COPY "${CTEST_BINARY_DIRECTORY}/HDF5-${CTEST_SOURCE_VERSION}-CYGWIN.tar.gz" DESTINATION ${CTEST_SCRIPT_DIRECTORY})
+ endif()
+ else()
+ if(EXISTS "${CTEST_BINARY_DIRECTORY}/HDF5-${CTEST_SOURCE_VERSION}-Linux.sh")
+ file(COPY "${CTEST_BINARY_DIRECTORY}/HDF5-${CTEST_SOURCE_VERSION}-Linux.sh" DESTINATION ${CTEST_SCRIPT_DIRECTORY})
+ endif()
+ if(EXISTS "${CTEST_BINARY_DIRECTORY}/HDF5-${CTEST_SOURCE_VERSION}-Linux.tar.gz")
+ file(COPY "${CTEST_BINARY_DIRECTORY}/HDF5-${CTEST_SOURCE_VERSION}-Linux.tar.gz" DESTINATION ${CTEST_SCRIPT_DIRECTORY})
+ endif()
+ endif()
+ endif()
+endif()
diff --git a/config/lt_vers.am b/config/lt_vers.am
index 41d7e81..38a6357 100644
--- a/config/lt_vers.am
+++ b/config/lt_vers.am
@@ -19,7 +19,7 @@
# After making changes, run bin/reconfigure to update other configure related
# files like Makefile.in.
LT_VERS_INTERFACE = 6
-LT_VERS_REVISION = 206
+LT_VERS_REVISION = 208
LT_VERS_AGE = 0
## If the API changes *at all*, increment LT_VERS_INTERFACE and
diff --git a/configure b/configure
index 5467659..0fe6071 100755
--- a/configure
+++ b/configure
@@ -1,7 +1,7 @@
#! /bin/sh
# From configure.ac Id: configure.ac 22697 2012-08-19 14:35:47Z hdftest .
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for HDF5 1.9.216.
+# Generated by GNU Autoconf 2.69 for HDF5 1.9.218.
#
# Report bugs to <help@hdfgroup.org>.
#
@@ -591,8 +591,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='HDF5'
PACKAGE_TARNAME='hdf5'
-PACKAGE_VERSION='1.9.216'
-PACKAGE_STRING='HDF5 1.9.216'
+PACKAGE_VERSION='1.9.218'
+PACKAGE_STRING='HDF5 1.9.218'
PACKAGE_BUGREPORT='help@hdfgroup.org'
PACKAGE_URL=''
@@ -1472,7 +1472,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures HDF5 1.9.216 to adapt to many kinds of systems.
+\`configure' configures HDF5 1.9.218 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1542,7 +1542,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of HDF5 1.9.216:";;
+ short | recursive ) echo "Configuration of HDF5 1.9.218:";;
esac
cat <<\_ACEOF
@@ -1731,7 +1731,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-HDF5 configure 1.9.216
+HDF5 configure 1.9.218
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2668,7 +2668,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by HDF5 $as_me 1.9.216, which was
+It was created by HDF5 $as_me 1.9.218, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -3539,7 +3539,7 @@ fi
# Define the identity of the package.
PACKAGE='hdf5'
- VERSION='1.9.216'
+ VERSION='1.9.218'
cat >>confdefs.h <<_ACEOF
@@ -7684,6 +7684,19 @@ fi
## ----------------------------------------------------------------------
+## Disable shared libraries on CYGWIN. (LK - 04/16/15)
+## A number of tests run by "make check" fail on CYGWIN, so for HDF5 v1.8.15
+## we will change the default for shared libraries to disabled.
+
+
+case "`uname`" in
+ CYGWIN*)
+ enable_shared="no"
+ CHECK_WARN="Shared libraries are not currently supported on CYGWIN."
+ ;;
+esac
+
+## ----------------------------------------------------------------------
## Fortran libraries are not currently supported on Mac. Disable them.
## (this is overridable with --enable-unsupported).
##
@@ -21435,6 +21448,8 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
## ----------------------------------------------------------------------
## Check if we should install only statically linked executables.
## This check needs to occur after libtool is initialized because
@@ -28562,7 +28577,7 @@ Usage: $0 [OPTIONS]
Report bugs to <bug-libtool@gnu.org>."
lt_cl_version="\
-HDF5 config.lt 1.9.216
+HDF5 config.lt 1.9.218
configured by $0, generated by GNU Autoconf 2.69.
Copyright (C) 2011 Free Software Foundation, Inc.
@@ -30678,7 +30693,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by HDF5 $as_me 1.9.216, which was
+This file was extended by HDF5 $as_me 1.9.218, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -30744,7 +30759,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-HDF5 config.status 1.9.216
+HDF5 config.status 1.9.218
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
@@ -33130,5 +33145,11 @@ cat >> src/H5config.h <<EOF
#endif
EOF
+## HDF5 configure code created by autotools with gcc 4.9.2 is adding problematic
+## linker flags: -l with no library name; -l <libname>, specifically gfortran or m.
+## This sed script corrects "-l <libname>" first and then "-l " with no library name.
+## If the order is not preserved, all instances of "-l " will be removed.
+sed -e '/^postdeps/ s/-l \(a-zA-Z\)/-l\1/g' -e '/^postdeps/ s/-l //g' -i libtool
+
## show the configure settings
cat src/libhdf5.settings
diff --git a/configure.ac b/configure.ac
index 41951a8..a5ded98 100644
--- a/configure.ac
+++ b/configure.ac
@@ -26,7 +26,7 @@ AC_PREREQ([2.69])
## NOTE: Do not forget to change the version number here when we do a
## release!!!
##
-AC_INIT([HDF5], [1.9.216], [help@hdfgroup.org])
+AC_INIT([HDF5], [1.9.218], [help@hdfgroup.org])
AC_CONFIG_SRCDIR([src/H5.c])
AC_CONFIG_HEADER([src/H5config.h])
@@ -637,6 +637,19 @@ AC_SUBST([RUNPARALLEL])
AC_SUBST([TESTPARALLEL])
## ----------------------------------------------------------------------
+## Disable shared libraries on CYGWIN. (LK - 04/16/15)
+## A number of tests run by "make check" fail on CYGWIN, so for HDF5 v1.8.15
+## we will change the default for shared libraries to disabled.
+
+
+case "`uname`" in
+ CYGWIN*)
+ enable_shared="no"
+ CHECK_WARN="Shared libraries are not currently supported on CYGWIN."
+ ;;
+esac
+
+## ----------------------------------------------------------------------
## Fortran libraries are not currently supported on Mac. Disable them.
## (this is overridable with --enable-unsupported).
##
@@ -687,6 +700,8 @@ LT_PREREQ([2.2])
## win32-dll - This will build clean dlls on win32 platforms.
LT_INIT([dlopen,win32-dll])
+
+
## ----------------------------------------------------------------------
## Check if we should install only statically linked executables.
## This check needs to occur after libtool is initialized because
@@ -2900,5 +2915,11 @@ cat >> src/H5config.h <<EOF
#endif
EOF
+## HDF5 configure code created by autotools with gcc 4.9.2 is adding problematic
+## linker flags: -l with no library name; -l <libname>, specifically gfortran or m.
+## This sed script corrects "-l <libname>" first and then "-l " with no library name.
+## If the order is not preserved, all instances of "-l " will be removed.
+sed -e '/^postdeps/ s/-l \([a-zA-Z]\)/-l\1/g' -e '/^postdeps/ s/-l //g' -i libtool
+
## show the configure settings
cat src/libhdf5.settings
diff --git a/fortran/examples/Makefile.am b/fortran/examples/Makefile.am
index feed32c..caaa08c 100644
--- a/fortran/examples/Makefile.am
+++ b/fortran/examples/Makefile.am
@@ -79,6 +79,7 @@ endif
# Tell automake how to install examples
# Note: no '/' after DESTDIR. Explanation in commence.am
EXAMPLEDIR=${DESTDIR}$(exec_prefix)/share/hdf5_examples/fortran
+EXAMPLETOPDIR=${DESTDIR}$(exec_prefix)/share/hdf5_examples
# List dependencies for each example. Normally, automake would take
# care of this for us, but if we tell automake about the programs it
diff --git a/fortran/examples/Makefile.in b/fortran/examples/Makefile.in
index dd2fb46..c894b75 100644
--- a/fortran/examples/Makefile.in
+++ b/fortran/examples/Makefile.in
@@ -639,6 +639,7 @@ FORTRAN_API = yes
# Tell automake how to install examples
# Note: no '/' after DESTDIR. Explanation in commence.am
EXAMPLEDIR = ${DESTDIR}$(exec_prefix)/share/hdf5_examples/fortran
+EXAMPLETOPDIR = ${DESTDIR}$(exec_prefix)/share/hdf5_examples
# Assume that all tests in this directory are examples, and tell
# conclude.am when to build them.
diff --git a/fortran/src/H5Zf.c b/fortran/src/H5Zf.c
index 0427c23..169e018 100644
--- a/fortran/src/H5Zf.c
+++ b/fortran/src/H5Zf.c
@@ -51,9 +51,7 @@ nh5zunregister_c (int_f *filter)
* Call H5Zunregister function.
*/
c_filter = (H5Z_filter_t)*filter;
- printf(" filter # %d \n", (int)c_filter);
status = H5Zunregister(c_filter);
- printf("From C zunregister %d \n", status);
if (status < 0) return ret_value;
ret_value = 0;
return ret_value;
diff --git a/fortran/src/H5_f.c b/fortran/src/H5_f.c
index a149109..1641989 100644
--- a/fortran/src/H5_f.c
+++ b/fortran/src/H5_f.c
@@ -421,12 +421,17 @@ nh5init_flags_c( int_f *h5d_flags, size_t_f *h5d_size_flags,
/*
* H5F flags
+ *
+ * Note that H5F_ACC_DEBUG is deprecated (nonfunctional) but retained
+ * for backward compatibility since it's in the public API.
*/
h5f_flags[0] = (int_f)H5F_ACC_RDWR;
h5f_flags[1] = (int_f)H5F_ACC_RDONLY;
h5f_flags[2] = (int_f)H5F_ACC_TRUNC;
h5f_flags[3] = (int_f)H5F_ACC_EXCL;
+#ifndef H5_NO_DEPRECATED_SYMBOLS
h5f_flags[4] = (int_f)H5F_ACC_DEBUG;
+#endif /* H5_NO_DEPRECATED_SYMBOLS */
h5f_flags[5] = (int_f)H5F_SCOPE_LOCAL;
h5f_flags[6] = (int_f)H5F_SCOPE_GLOBAL;
h5f_flags[7] = (int_f)H5F_CLOSE_DEFAULT;
diff --git a/fortran/src/H5f90global.f90 b/fortran/src/H5f90global.f90
index ca50e20..0e371f5 100644
--- a/fortran/src/H5f90global.f90
+++ b/fortran/src/H5f90global.f90
@@ -234,6 +234,9 @@ MODULE H5GLOBAL
!
! H5F flags (DO NOT FORGET TO UPDATE WHEN NEW FLAGS ARE ADDED !)
!
+ ! NOTE: H5F_ACC_DEBUG is deprecated (nonfunctional) but retained for
+ ! backward compatibility since it's in the public API.
+ !
! H5F flags declaration
!
INTEGER, PARAMETER :: H5F_FLAGS_LEN = 19
diff --git a/fortran/src/Makefile.in b/fortran/src/Makefile.in
index 345ebe7..f57e7e7 100644
--- a/fortran/src/Makefile.in
+++ b/fortran/src/Makefile.in
@@ -724,7 +724,7 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.clog *.clog2
# After making changes, run bin/reconfigure to update other configure related
# files like Makefile.in.
LT_VERS_INTERFACE = 6
-LT_VERS_REVISION = 206
+LT_VERS_REVISION = 208
LT_VERS_AGE = 0
AM_FCLIBS = $(LIBHDF5)
diff --git a/hl/c++/examples/Makefile.am b/hl/c++/examples/Makefile.am
index c8f0305..7202a96 100644
--- a/hl/c++/examples/Makefile.am
+++ b/hl/c++/examples/Makefile.am
@@ -36,6 +36,7 @@ CXX_API=yes
# Where to install examples
# Note: no '/' after DESTDIR. Explanation in commence.am
EXAMPLEDIR=${DESTDIR}$(exec_prefix)/share/hdf5_examples/hl/c++
+EXAMPLETOPDIR=${DESTDIR}$(exec_prefix)/share/hdf5_examples/hl
# How to build programs using h5c++
$(EXTRA_PROG): $(H5CPP)
diff --git a/hl/c++/examples/Makefile.in b/hl/c++/examples/Makefile.in
index a36886c..5bad31f 100644
--- a/hl/c++/examples/Makefile.in
+++ b/hl/c++/examples/Makefile.in
@@ -616,6 +616,7 @@ CXX_API = yes
# Where to install examples
# Note: no '/' after DESTDIR. Explanation in commence.am
EXAMPLEDIR = ${DESTDIR}$(exec_prefix)/share/hdf5_examples/hl/c++
+EXAMPLETOPDIR = ${DESTDIR}$(exec_prefix)/share/hdf5_examples/hl
# Assume that all tests in this directory are examples, and tell
# conclude.am when to build them.
diff --git a/hl/c++/src/Makefile.in b/hl/c++/src/Makefile.in
index 89b71cb..61cb11c 100644
--- a/hl/c++/src/Makefile.in
+++ b/hl/c++/src/Makefile.in
@@ -662,7 +662,7 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.clog *.clog2
# After making changes, run bin/reconfigure to update other configure related
# files like Makefile.in.
LT_VERS_INTERFACE = 6
-LT_VERS_REVISION = 206
+LT_VERS_REVISION = 208
LT_VERS_AGE = 0
# This is our main target
diff --git a/hl/fortran/examples/Makefile.am b/hl/fortran/examples/Makefile.am
index 91cb7c5..6a5032b 100644
--- a/hl/fortran/examples/Makefile.am
+++ b/hl/fortran/examples/Makefile.am
@@ -54,6 +54,7 @@ endif
# Tell automake how to install examples
# Note: no '/' after DESTDIR. Explanation in commence.am
EXAMPLEDIR=${DESTDIR}$(exec_prefix)/share/hdf5_examples/hl/fortran
+EXAMPLETOPDIR=${DESTDIR}$(exec_prefix)/share/hdf5_examples/hl
# List dependencies for each example. Normally, automake would take
# care of this for us, but if we tell automake about the programs it
diff --git a/hl/fortran/examples/Makefile.in b/hl/fortran/examples/Makefile.in
index c8878d5..e229f12 100644
--- a/hl/fortran/examples/Makefile.in
+++ b/hl/fortran/examples/Makefile.in
@@ -623,6 +623,7 @@ FORTRAN_API = yes
# Tell automake how to install examples
# Note: no '/' after DESTDIR. Explanation in commence.am
EXAMPLEDIR = ${DESTDIR}$(exec_prefix)/share/hdf5_examples/hl/fortran
+EXAMPLETOPDIR = ${DESTDIR}$(exec_prefix)/share/hdf5_examples/hl
# Assume that all tests in this directory are examples, and tell
# conclude.am when to build them.
diff --git a/hl/fortran/src/Makefile.in b/hl/fortran/src/Makefile.in
index 6f34295..7567dfc 100644
--- a/hl/fortran/src/Makefile.in
+++ b/hl/fortran/src/Makefile.in
@@ -680,7 +680,7 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.clog *.clog2
# After making changes, run bin/reconfigure to update other configure related
# files like Makefile.in.
LT_VERS_INTERFACE = 6
-LT_VERS_REVISION = 206
+LT_VERS_REVISION = 208
LT_VERS_AGE = 0
# Our main target, the high-level fortran library
diff --git a/hl/src/Makefile.in b/hl/src/Makefile.in
index 8685b9e..6a719e7 100644
--- a/hl/src/Makefile.in
+++ b/hl/src/Makefile.in
@@ -661,7 +661,7 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.clog *.clog2
# After making changes, run bin/reconfigure to update other configure related
# files like Makefile.in.
LT_VERS_INTERFACE = 6
-LT_VERS_REVISION = 206
+LT_VERS_REVISION = 208
LT_VERS_AGE = 0
# This library is our main target.
diff --git a/release_docs/INSTALL_CMake.txt b/release_docs/INSTALL_CMake.txt
index dc87d5a..7f67eb2 100644
--- a/release_docs/INSTALL_CMake.txt
+++ b/release_docs/INSTALL_CMake.txt
@@ -26,7 +26,7 @@ Obtaining HDF5 source code
2. Obtain compressed (*.tar or *.zip) HDF5 source from
http://www.hdfgroup.org/ftp/HDF5/current/src/
and put it in "myhdfstuff".
- Do not uncompress.
+ Uncompress the file. There should be a hdf5-1.8."X" folder.
CMake version
1. We suggest you obtain the latest CMake from the Kitware web site.
@@ -38,14 +38,19 @@ CMake version
II. Quick Step Building HDF5 Libraries with CMake Script Mode
========================================================================
This short set of instructions is written for users who want to quickly
-build the HDF5 C, C++, Fortran, and High-level shared libraries and tools
-from the HDF5 source code package using the CMake tools. This procedure
-will use the default settings in the config/cmake/cacheinit.cmake file.
+build the HDF5 C and C++ static libraries and tools with SZIP and ZLIB
+compression included. This procedure will use the default settings in
+the config/cmake/cacheinit.cmake file.
HDF Group recommends using the ctest script mode to build HDF5.
The following files referenced below are available at the HDF web site:
http://www.hdfgroup.org/HDF5/release/cmakebuild.html
+Single compressed file with all the files needed, including source:
+ hdf5-1.8.15-CMake.zip or hdf5-1.8.15-CMake.tar.gz
+
+Individual files
+-----------------------------------------------
CMake build script:
CTestScript.cmake
@@ -54,10 +59,8 @@ External compression szip and zlib libraries:
ZLib.tar.gz
Platform configuration files:
- HDF518Windows64CMake.cmake
- HDF518Windows32CMake.cmake
- HDF518LinuxCMake.cmake
- HDF518MacCMake.cmake
+ HDF518config.cmake
+-----------------------------------------------
To build HDF5 with the SZIP and ZLIB external libraries you will need to:
@@ -69,32 +72,47 @@ To build HDF5 with the SZIP and ZLIB external libraries you will need to:
3. Download the CTestScript.cmake file to "myhdfstuff".
CTestScript.cmake file should not be modified.
- 4. Download a platform configuration file to "myhdfstuff".
- Do not modify the file unless you want to change default build
- environment.
+ 4. Download the platform configuration file, HDF518config.cmake,
+ to "myhdfstuff". Do not modify the file unless you want to change
+ default build environment. (See http://www.hdfgroup.org/HDF5/release/chgcmkbuild.html)
5. From the "myhdfstuff" directory execute the CTest Script with the
following options:
- ctest -S <configuration file> -C Release -VV -O hdf5.log
+ On 32-bit Windows with Visual Studio 2012, execute:
+ ctest -S HDF518config.cmake,32-VS2012 -C Release -VV -O hdf5.log
+ On 64-bit Windows with Visual Studio 2012, execute:
+ ctest -S HDF518config.cmake,64-VS2012 -C Release -VV -O hdf5.log
+ On 32-bit Windows with Visual Studio 2013, execute:
+ ctest -S HDF518config.cmake,32-VS2013 -C Release -VV -O hdf5.log
+ On 64-bit Windows with Visual Studio 2013, execute:
+ ctest -S HDF518config.cmake,64-VS2013 -C Release -VV -O hdf5.log
+ On Linux and Mac, execute:
+ ctest -S HDF518config.cmake -C Release -VV -O hdf5.log
The command above will configure, build, test, and create an install
- package in the myhdfstuff/hdf5-1.8/build folder.
+ package in the myhdfstuff folder. It will have the format:
+ HDF5-1.8.NN-<platform>.<zip or tar.gz>
+ On Unix, <platform> will be "Linux". A similar .sh file will also be created.
+ On Windows, <platform> will be "win64" or "win32". If you have an
+ installer on your system, you will also see a similar file that ends
+ in either .exe (NSIS) or .msi (WiX).
+
The -S option uses the script version of ctest.
The value for the -C option (as shown above, "-C Release") must
match the setting for CTEST_BUILD_CONFIGURATION in the platform
configuration file.
- The -VV option is for verbose; use -V for less verbose.
+ The -VV option is for most verbose; use -V for less verbose.
The "-O hdf5.log" option saves the output to a log file hdf5.log.
6. To install, "X" is the current release version
On Windows, execute:
- HDF5-1.8."X"-win32.exe or HDF5-1.8."X"-win64.exe
+ HDF5-1.8."X"-win32.msi or HDF5-1.8."X"-win64.msi
By default this program will install the hdf5 library into the
"C:\Program Files" directory and will create the following
directory structure:
@@ -108,7 +126,7 @@ To build HDF5 with the SZIP and ZLIB external libraries you will need to:
On Linux, change to the install destination directory
(create it if doesn't exist) and execute:
- <path-to>/myhdfstuff/hdf5-1.8/build/HDF5-1.8."X"-Linux.sh
+ <path-to>/myhdfstuff/HDF5-1.8."X"-Linux.sh
After accepting the license, the script will prompt:
By default the HDF5 will be installed in:
"<current directory>/HDF5-1.8."X"-Linux"
@@ -124,7 +142,7 @@ To build HDF5 with the SZIP and ZLIB external libraries you will need to:
------lib
------share
- On Mac you will find HDF5-1.8."X"-Darwin.dmg in the build folder. Click
+ On Mac you will find HDF5-1.8."X"-Darwin.dmg in the myhdfstuff folder. Click
on the dmg file to proceed with installation. After accepting the license,
there will be a folder with the following structure:
HDF_Group
@@ -136,7 +154,7 @@ To build HDF5 with the SZIP and ZLIB external libraries you will need to:
------share
By default the installation will create the bin, include, lib and cmake
- folders in the <install destination directory>/HDF_Group/HDF5/1.8.
+ folders in the <install destination directory>/HDF_Group/HDF5/1.8."X"
========================================================================
@@ -159,10 +177,10 @@ Notes: This short set of instructions is written for users who want to
5. Configure the C library, tools and tests with one of the following commands:
On Windows 32 bit
- cmake -G "Visual Studio 11" -DCMAKE_BUILD_TYPE:STRING=Release -DBUILD_TESTING:BOOL=ON -DHDF5_BUILD_TOOLS:BOOL=ON ..\hdf5-1.8."X"
+ cmake -G "Visual Studio 11 2012" -DCMAKE_BUILD_TYPE:STRING=Release -DBUILD_TESTING:BOOL=ON -DHDF5_BUILD_TOOLS:BOOL=ON ..\hdf5-1.8."X"
On Windows 64 bit
- cmake -G "Visual Studio 11 Win64" -DCMAKE_BUILD_TYPE:STRING=Release -DBUILD_TESTING:BOOL=ON -DHDF5_BUILD_TOOLS:BOOL=ON ..\hdf5-1.8."X"
+ cmake -G "Visual Studio 11 2012 Win64" -DCMAKE_BUILD_TYPE:STRING=Release -DBUILD_TESTING:BOOL=ON -DHDF5_BUILD_TOOLS:BOOL=ON ..\hdf5-1.8."X"
On Linux and Mac
cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE:STRING=Release -DBUILD_TESTING:BOOL=ON -DHDF5_BUILD_TOOLS:BOOL=ON ../hdf5-1.8."X"
@@ -180,7 +198,7 @@ Notes: This short set of instructions is written for users who want to
9. To install
On Windows, execute:
- HDF5-1.8."X"-win32.exe or HDF5-1.8."X"-win64.exe
+ HDF5-1.8."X"-win32.msi or HDF5-1.8."X"-win64.msi
By default this program will install the hdf5 library into the
"C:\Program Files" directory and will create the following
directory structure:
@@ -267,7 +285,7 @@ IV. Further considerations
CTEST_USE_LAUNCHERS:BOOL=ON
CMAKE_BUILD_WITH_INSTALL_RPATH:BOOL=OFF
- 4. Windows developers should install NSIS to create an install image with CPack.
+ 4. Windows developers should install NSIS or WiX to create an install image with CPack.
Visual Studio Express users will not be able to package HDF5 into
an install image executable.
@@ -275,7 +293,7 @@ IV. Further considerations
the settings for the developers' environment. Then the only options needed
on the command line are those options that are different. Example using HDF
default cache file:
- cmake -C ../config/cmake/cacheinit.cmake -G "Visual Studio 11" \
+ cmake -C ../config/cmake/cacheinit.cmake -G "Visual Studio 11 2012" \
-DHDF5_ENABLE_SZIP_SUPPORT:BOOL=OFF -DHDF5_ENABLE_Z_LIB_SUPPORT:BOOL=OFF \
-DCMAKE_BUILD_TYPE:STRING=Release ..
@@ -354,12 +372,12 @@ These five steps are described in detail below.
* MinGW Makefiles
* NMake Makefiles
* Unix Makefiles
- * Visual Studio 12
- * Visual Studio 12 Win64
- * Visual Studio 11
- * Visual Studio 11 Win64
- * Visual Studio 10
- * Visual Studio 10 Win64
+ * Visual Studio 12 2013
+ * Visual Studio 12 2013 Win64
+ * Visual Studio 11 2012
+ * Visual Studio 11 2012 Win64
+ * Visual Studio 10 2010
+ * Visual Studio 10 2010 Win64
<options> is:
* SZIP_INCLUDE_DIR:PATH=<path to szip includes directory>
@@ -376,12 +394,8 @@ These five steps are described in detail below.
set (BUILD_SHARED_LIBS ON CACHE BOOL "Build Shared Libraries" FORCE)
set (BUILD_TESTING ON CACHE BOOL "Build HDF5 Unit Testing" FORCE)
set (HDF_PACKAGE_EXT "" CACHE STRING "Name of HDF package extension" FORCE)
- set (HDF5_BUILD_CPP_LIB ON CACHE BOOL "Build HDF5 C++ Library" FORCE)
- set (HDF5_BUILD_EXAMPLES ON CACHE BOOL "Build HDF5 Library Examples" FORCE)
set (HDF5_BUILD_FORTRAN ON CACHE BOOL "Build FORTRAN support" FORCE)
set (HDF5_ENABLE_F2003 ON CACHE BOOL "Enable FORTRAN 2003 Standard" FORCE)
- set (HDF5_BUILD_HL_LIB ON CACHE BOOL "Build HIGH Level HDF5 Library" FORCE)
- set (HDF5_BUILD_TOOLS ON CACHE BOOL "Build HDF5 Tools" FORCE)
set (HDF5_BUILD_GENERATORS OFF CACHE BOOL "Build Test Generators" FORCE)
set (HDF5_ENABLE_Z_LIB_SUPPORT ON CACHE BOOL "Enable Zlib Filters" FORCE)
set (HDF5_ENABLE_SZIP_SUPPORT ON CACHE BOOL "Use SZip Filter" FORCE)
@@ -430,7 +444,7 @@ These five steps are described in detail below.
2.2 Preferred command line example on Windows in c:\MyHDFstuff\hdf5\build directory:
- cmake -C ../config/cmake/cacheinit.cmake -G "Visual Studio 11" \
+ cmake -C ../config/cmake/cacheinit.cmake -G "Visual Studio 11 2012" \
-DHDF5_ENABLE_SZIP_SUPPORT:BOOL=OFF -DHDF5_ENABLE_Z_LIB_SUPPORT:BOOL=OFF \
-DCMAKE_BUILD_TYPE:STRING=Release ..
@@ -498,7 +512,7 @@ These five steps are described in detail below.
5. Packaging HDF5 (create an install image)
- To package the build into a simple installer using the NullSoft installer NSIS
+ To package the build into a simple installer using WiX toolset or the NullSoft installer NSIS
on Windows, or into compressed files (.tar.gz, .sh, .zip), use the CPack tool.
To package the build, navigate to your build directory and execute;
@@ -506,6 +520,7 @@ These five steps are described in detail below.
cpack -C {Debug | Release} CPackConfig.cmake
NOTE: See note 8 of this document for NSIS information.
+ See note 9 of this document for WiX information.
Also, if you are using a Visual Studio Express version or do not
want to enable the packaging components, set HDF5_NO_PACKAGES
to ON (on the command line add -DHDF5_NO_PACKAGES:BOOL=ON)
@@ -529,6 +544,9 @@ These five steps are described in detail below.
"output directory", which is where the program will be installed. These
options are case-sensitive, so be sure to type them in upper case.
+ 9. WiX Toolset
+ WiX--the Windows Installer XML toolset--lets developers create installers for
+ Windows Installer, the Windows installation engine. See http://wixtoolset.org.
========================================================================
@@ -615,37 +633,31 @@ build and test process.
VIII. Options for Platform Configuration Files
========================================================================
-Below is the HDF518LinuxCmake.cmake ctest script with extra comments.
-The example is for a linux machine, but the same scripts can be used on
-a Windows machine by adjusting the CTEST_CMAKE_GENERATOR option in the
-platform configuration script.
-
+Below is the HDF518config.cmake ctest script with extra comments.
+Execute:
+ ctest -S HDF518config.cmake -C Release -V -O hdf518.log
+The same scripts can be used on Linux, Mac OSX or a Windows machine by
+adding an option (${CTEST_SCRIPT_ARG}) to the platform configuration script.
-############################################################################
-# Product specific script, HDF518LinuxCmake.cmake, that uses the
-# CTestScript.cmake file. Usage:
-# "ctest -S HDF518LinuxCmake.cmake -C Release -O hdf518shared.log"
-############################################################################
-cmake_minimum_required(VERSION 3.1.0 FATAL_ERROR)
-
-# this is the location of the source hardcoded to hdf5-1.8.13
-set(CTEST_SOURCE_NAME hdf5-1.8.13)
-# this is the location of the source with ctest parameter hdf5src
-# "ctest -S HDF518LinuxCmake.cmake,hdf5src -C Release -O hdf518static.log"
-#set(CTEST_SOURCE_NAME ${CTEST_SCRIPT_ARG})
-# this is the location of the build directory
-set(CTEST_BINARY_NAME ${CTEST_SOURCE_NAME}/build)
+#########################################################################
+### For Windows ${CTEST_SCRIPT_ARG} is one of ###
+### [64-VS2013, 32-VS2013, 64-VS2012, 32-VS2012] ###
+### ctest -S HDF518config.cmake,32-VS2012 -C Release -V -O hdf518.log ###
+#########################################################################
-# this is the directory the script is executed from
+cmake_minimum_required(VERSION 3.1.0 FATAL_ERROR)
+set(CTEST_SOURCE_VERSION 1.8.15-pre7)
+set(CTEST_SOURCE_NAME hdf5-${CTEST_SOURCE_VERSION})
+set(CTEST_BINARY_NAME "build")
set(CTEST_DASHBOARD_ROOT "${CTEST_SCRIPT_DIRECTORY}")
-
-# this is the full path of the source directory
-set(CTEST_SOURCE_DIRECTORY "${CTEST_DASHBOARD_ROOT}/${CTEST_SOURCE_NAME}")
-
-# this is the full path of the build directory
-set(CTEST_BINARY_DIRECTORY "${CTEST_DASHBOARD_ROOT}/${CTEST_BINARY_NAME}")
-
+if(WIN32)
+ set(CTEST_SOURCE_DIRECTORY "${CTEST_DASHBOARD_ROOT}\\${CTEST_SOURCE_NAME}")
+ set(CTEST_BINARY_DIRECTORY "${CTEST_DASHBOARD_ROOT}\\${CTEST_BINARY_NAME}")
+else()
+ set(CTEST_SOURCE_DIRECTORY "${CTEST_DASHBOARD_ROOT}/${CTEST_SOURCE_NAME}")
+ set(CTEST_BINARY_DIRECTORY "${CTEST_DASHBOARD_ROOT}/${CTEST_BINARY_NAME}")
+endif()
###################################################################
### Following Line is one of [Release, RelWithDebInfo, Debug] #####
@@ -654,13 +666,41 @@ set(CTEST_BUILD_CONFIGURATION "Release")
###################################################################
######### Following describes compiler ############
-# this is for linux
-set(CTEST_CMAKE_GENERATOR "Unix Makefiles")
-# this is for windows 32 bit
-#set(CTEST_CMAKE_GENERATOR "Visual Studio 11")
-# this is for windows 64 bit
-#set(CTEST_CMAKE_GENERATOR "Visual Studio 11 Win64")
-# Visual Studio 2013 is 12, Visual Studio 2012 is 11, Visual Studio 2010 is 10
+if(WIN32)
+ set(SITE_OS_NAME "Windows")
+ set(SITE_OS_VERSION "WIN7")
+ if(${CTEST_SCRIPT_ARG} STREQUAL "64-VS2013")
+ set(CTEST_CMAKE_GENERATOR "Visual Studio 12 2013 Win64")
+ set(SITE_OS_BITS "64")
+ set(SITE_COMPILER_NAME "vs2013")
+ set(SITE_COMPILER_VERSION "12")
+ elseif(${CTEST_SCRIPT_ARG} STREQUAL "32-VS2013")
+ set(CTEST_CMAKE_GENERATOR "Visual Studio 12 2013")
+ set(SITE_OS_BITS "32")
+ set(SITE_COMPILER_NAME "vs2013")
+ set(SITE_COMPILER_VERSION "12")
+ elseif(${CTEST_SCRIPT_ARG} STREQUAL "64-VS2012")
+ set(CTEST_CMAKE_GENERATOR "Visual Studio 11 2012 Win64")
+ set(SITE_OS_BITS "64")
+ set(SITE_COMPILER_NAME "vs2012")
+ set(SITE_COMPILER_VERSION "11")
+ elseif(${CTEST_SCRIPT_ARG} STREQUAL "32-VS2012")
+ set(CTEST_CMAKE_GENERATOR "Visual Studio 11 2012")
+ set(SITE_OS_BITS "32")
+ set(SITE_COMPILER_NAME "vs2012")
+ set(SITE_COMPILER_VERSION "11")
+ endif()
+## Set the following to unique id your computer ##
+ set(CTEST_SITE "WIN7${CTEST_SCRIPT_ARG}.XXXX")
+else()
+ set(CTEST_CMAKE_GENERATOR "Unix Makefiles")
+## Set the following to unique id your computer ##
+ if(APPLE)
+ set(CTEST_SITE "MAC.XXXX")
+ else()
+ set(CTEST_SITE "LINUX.XXXX")
+ endif()
+endif()
###################################################################
###################################################################
@@ -668,25 +708,24 @@ set(CTEST_CMAKE_GENERATOR "Unix Makefiles")
###################################################################
set(MODEL "Experimental")
######### Following describes computer ############
-## Set the following to unique id your computer ##
-set(CTEST_SITE "LINUX.XXXX")
-## following is optional to describe build ##
-set(SITE_BUILDNAME_SUFFIX "SHARED")
+## following is optional to describe build ##
+set(SITE_BUILDNAME_SUFFIX "STATIC")
+###################################################################
-######### Following controls CDash submission ##########
+###################################################################
+##### Following controls CDash submission #####
#set(LOCAL_SUBMIT "TRUE")
-######### Following controls test process ##########
+##### Following controls test process #####
#set(LOCAL_SKIP_TEST "TRUE")
#set(LOCAL_MEMCHECK_TEST "TRUE")
#set(LOCAL_COVERAGE_TEST "TRUE")
-######### Following controls cpack command ##########
+##### Following controls cpack command #####
#set(LOCAL_NO_PACKAGE "TRUE")
-######### Following controls source update ##########
+##### Following controls source update #####
#set(LOCAL_UPDATE "TRUE")
-######### Following controls source repository ##########
-#set(REPOSITORY_URL "http://svn.${hdfgroup_url}/hdf5/branches/hdf5_1_8")
-#comment to use a uncompressed source folder
-set(CTEST_USE_TAR_SOURCE "hdf5-1.8.13")
+set(REPOSITORY_URL "http://svn.hdfgroup.uiuc.edu/hdf5/branches/hdf5_1_8")
+#uncomment to use a compressed source file: *.tar on linux or mac *.zip on windows
+#set(CTEST_USE_TAR_SOURCE "${CTEST_SOURCE_VERSION}")
###################################################################
###################################################################
@@ -695,8 +734,8 @@ set(CTEST_USE_TAR_SOURCE "hdf5-1.8.13")
### uncomment/comment and change the following lines for configuration options
-### uncomment the following line to build static libraries
-#set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DBUILD_SHARED_LIBS:BOOL=OFF")
+### comment the following line or change OFF to ON in order to build shared libraries
+set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DBUILD_SHARED_LIBS:BOOL=OFF")
#### ext libraries ####
### ext libs from tgz
@@ -706,33 +745,70 @@ set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ALLOW_EXTERNAL_SUPPORT:STRING
### ext libs on system
#set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DZLIB_LIBRARY:FILEPATH=some_location/lib/zlib.lib -DZLIB_INCLUDE_DIR:PATH=some_location/include")
#set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DSZIP_LIBRARY:FILEPATH=some_location/lib/szlib.lib -DSZIP_INCLUDE_DIR:PATH=some_location/include")
-
+### disable ext libs building
+#set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_Z_LIB_SUPPORT:BOOL=OFF")
+#set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_SZIP_SUPPORT:BOOL=OFF")
+#set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_SZIP_ENCODING:BOOL=OFF")
#### fortran ####
-### disable Fortran 2003
-#set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_F2003:BOOL=OFF")
-### disable Fortran
-#set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_BUILD_FORTRAN:BOOL=OFF")
-
-### Create install package with external libraries (szip, zlib)
-set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_PACKAGE_EXTLIBS:BOOL=ON")
+### enable Fortran 2003 depends on HDF5_BUILD_FORTRAN
+set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_F2003:BOOL=ON")
+### disable Fortran; change OFF to ON in order to build FORTRAN libraries
+set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_BUILD_FORTRAN:BOOL=OFF")
### disable test program builds
#set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DBUILD_TESTING:BOOL=OFF")
### disable packaging
#set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_NO_PACKAGES:BOOL=ON")
-
-### disable building examples
-#set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_BUILD_EXAMPLES:BOOL=OFF")
-
-### disable building tests
-#set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DBUILD_TESTING:BOOL=OFF")
+### Create install package with external libraries (szip, zlib, jpeg)
+set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_PACKAGE_EXTLIBS:BOOL=ON")
### change install prefix
#set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DCMAKE_INSTALL_PREFIX:PATH=install")
+
###################################################################
-include(${CTEST_SCRIPT_DIRECTORY}/CTestScript.cmake)
+if(WIN32)
+ include(${CTEST_SCRIPT_DIRECTORY}\\CTestScript.cmake)
+ if(EXISTS "${CTEST_BINARY_DIRECTORY}\\HDF5-${CTEST_SOURCE_VERSION}-win${SITE_OS_BITS}.exe")
+ file(COPY "${CTEST_BINARY_DIRECTORY}\\HDF5-${CTEST_SOURCE_VERSION}-win${SITE_OS_BITS}.exe" DESTINATION ${CTEST_SCRIPT_DIRECTORY})
+ endif()
+ if(EXISTS "${CTEST_BINARY_DIRECTORY}\\HDF5-${CTEST_SOURCE_VERSION}-win${SITE_OS_BITS}.msi")
+ file(COPY "${CTEST_BINARY_DIRECTORY}\\HDF5-${CTEST_SOURCE_VERSION}-win${SITE_OS_BITS}.msi" DESTINATION ${CTEST_SCRIPT_DIRECTORY})
+ endif()
+ if(EXISTS "${CTEST_BINARY_DIRECTORY}\\HDF5-${CTEST_SOURCE_VERSION}-win${SITE_OS_BITS}.zip")
+ file(COPY "${CTEST_BINARY_DIRECTORY}\\HDF5-${CTEST_SOURCE_VERSION}-win${SITE_OS_BITS}.zip" DESTINATION ${CTEST_SCRIPT_DIRECTORY})
+ endif()
+else()
+ include(${CTEST_SCRIPT_DIRECTORY}/CTestScript.cmake)
+ if(APPLE)
+ if(EXISTS "${CTEST_BINARY_DIRECTORY}/HDF5-${CTEST_SOURCE_VERSION}-Darwin.dmg")
+ file(COPY "${CTEST_BINARY_DIRECTORY}/HDF5-${CTEST_SOURCE_VERSION}-Darwin.dmg" DESTINATION ${CTEST_SCRIPT_DIRECTORY})
+ endif()
+ if(EXISTS "${CTEST_BINARY_DIRECTORY}/HDF5-${CTEST_SOURCE_VERSION}-Darwin.tar.gz")
+ file(COPY "${CTEST_BINARY_DIRECTORY}/HDF5-${CTEST_SOURCE_VERSION}-Darwin.tar.gz" DESTINATION ${CTEST_SCRIPT_DIRECTORY})
+ endif()
+ if(EXISTS "${CTEST_BINARY_DIRECTORY}/HDF5-${CTEST_SOURCE_VERSION}-Darwin.sh")
+ file(COPY "${CTEST_BINARY_DIRECTORY}/HDF5-${CTEST_SOURCE_VERSION}-Darwin.sh" DESTINATION ${CTEST_SCRIPT_DIRECTORY})
+ endif()
+ else()
+ if(CYGWIN)
+ if(EXISTS "${CTEST_BINARY_DIRECTORY}/HDF5-${CTEST_SOURCE_VERSION}-CYGWIN.sh")
+ file(COPY "${CTEST_BINARY_DIRECTORY}/HDF5-${CTEST_SOURCE_VERSION}-CYGWIN.sh" DESTINATION ${CTEST_SCRIPT_DIRECTORY})
+ endif()
+ if(EXISTS "${CTEST_BINARY_DIRECTORY}/HDF5-${CTEST_SOURCE_VERSION}-CYGWIN.tar.gz")
+ file(COPY "${CTEST_BINARY_DIRECTORY}/HDF5-${CTEST_SOURCE_VERSION}-CYGWIN.tar.gz" DESTINATION ${CTEST_SCRIPT_DIRECTORY})
+ endif()
+ else()
+ if(EXISTS "${CTEST_BINARY_DIRECTORY}/HDF5-${CTEST_SOURCE_VERSION}-Linux.sh")
+ file(COPY "${CTEST_BINARY_DIRECTORY}/HDF5-${CTEST_SOURCE_VERSION}-Linux.sh" DESTINATION ${CTEST_SCRIPT_DIRECTORY})
+ endif()
+ if(EXISTS "${CTEST_BINARY_DIRECTORY}/HDF5-${CTEST_SOURCE_VERSION}-Linux.tar.gz")
+ file(COPY "${CTEST_BINARY_DIRECTORY}/HDF5-${CTEST_SOURCE_VERSION}-Linux.tar.gz" DESTINATION ${CTEST_SCRIPT_DIRECTORY})
+ endif()
+ endif()
+ endif()
+endif()
========================================================================
diff --git a/release_docs/INSTALL_Cygwin.txt b/release_docs/INSTALL_Cygwin.txt
index 2b72cac..26d3cb9 100644
--- a/release_docs/INSTALL_Cygwin.txt
+++ b/release_docs/INSTALL_Cygwin.txt
@@ -34,7 +34,7 @@ Preconditions:
The following compilers are supported by HDF5 and included in the Cygwin
package system:
- gcc (4.7.3), which includes:
+ gcc (4.7.3 and 4.9.2), which includes:
gcc4-core : C compiler
gcc4-g++ : C++ compiler
gcc4-fortran : fortran compiler
@@ -72,7 +72,6 @@ Preconditions:
The latest supported public release of SZIP is available from
ftp://ftp.hdfgroup.org/lib-external/szip/2.1.
-
2.3 Additional Utilities
@@ -260,6 +259,11 @@ Build, Test and Install HDF5 on Cygwin
dt_arith tests may fail due to the use of fork. This is a known issue
with cygwin on Windows.
+ "make check" fails when building shared lib files is enabled. The default
+ on Cygwin has been changed to disable shared. It can be enabled with
+ the --enable-shared configure option but is likely to fail "make check"
+ with GCC compilers.
+
-----------------------------------------------------------------------
Need Further assistance, email help@hdfgroup.org
diff --git a/release_docs/INSTALL_parallel b/release_docs/INSTALL_parallel
index 2624b3b..e4c540c 100644
--- a/release_docs/INSTALL_parallel
+++ b/release_docs/INSTALL_parallel
@@ -49,54 +49,15 @@ more detailed explanations.
----------------------------
HDF5 knows several parallel compilers: mpicc, hcc, mpcc, mpcc_r. To build
parallel HDF5 with one of the above, just set CC as it and configure.
-The "--enable-parallel" is optional in this case.
- $ CC=/usr/local/mpi/bin/mpicc ./configure --prefix=<install-directory>
+ $ CC=/usr/local/mpi/bin/mpicc ./configure --enable-parallel --prefix=<install-directory>
$ make # build the library
$ make check # verify the correctness
# Read the Details section about parallel tests.
$ make install
-2.2. IBM SP
------------
-During the build stage, the H5detect is compiled and executed to generate
-the source file H5Tinit.c which is compiled as part of the HDF5 library. In
-parallel mode, make sure your environment variables are set correctly to
-execute a single process mpi application. Otherwise, multiple processes
-attempt to write to the same H5Tinit.c file, resulting in a scrambled
-source file. Unfortunately, the setting varies from machine to machine.
-E.g., the following works for the IBM SP machine at LLNL.
-
- setenv MP_PROCS 1
- setenv MP_NODES 1
- setenv MP_LABELIO no
- setenv MP_RMPOOL 0
- setenv LLNL_COMPILE_SINGLE_THREADED TRUE # for LLNL site only
-
-The shared library configuration is problematic. So, only static library
-is supported.
-
-Then do the following steps:
-
- $ ./configure --disable-shared --prefix=<install-directory>
- $ make # build the library
- $ make check # verify the correctness
- # Read the Details section about parallel tests.
- $ make install
-
-We also suggest that you add "-qxlf90=autodealloc" to FCFLAGS when building
-parallel with fortran enabled. This can be done by invoking:
-
- setenv FCFLAGS -qxlf90=autodealloc # 32 bit build
-or
- setenv FCFLAGS "-q64 -qxlf90=autodealloc" # 64 bit build
-
-prior to running configure. Recall that the "-q64" is necessary for 64
-bit builds.
-
-
-2.3. Linux 2.4 and greater
+2.2. Linux 2.4 and greater
--------------------------
Be sure that your installation of MPICH was configured with the following
configuration command-line option:
@@ -107,89 +68,9 @@ This allows for >2GB sized files on Linux systems and is only available with
Linux kernels 2.4 and greater.
-2.4. Red Storm (Cray XT3) (for v1.8 and later)
--------------------------
-Both serial and parallel HDF5 are supported in Red Storm.
-
-2.4.1 Building serial HDF5 for Red Storm
-------------------------------------------
-The following steps are for building the serial HDF5 for the Red Storm
-compute nodes. They would probably work for other Cray XT3 systems but have
-not been verified.
-
-# Assume you already have a copy of HDF5 source code in directory `hdf5' and
-# want to install the binary in directory `/project/hdf5/hdf5'.
-
-$ cd hdf5
-$ bin/yodconfigure configure
-$ env RUNSERIAL="yod -sz 1" \
- CC=cc FC=ftn CXX=CC \
- ./configure --prefix=/project/hdf5/hdf5
-$ make
-$ make check
-
-# if all is well, install the binary.
-$ make install
-
-2.4.2 Building parallel HDF5 for Red Storm
-------------------------------------------
-The following steps are for building the Parallel HDF5 for the Red Storm
-compute nodes. They would probably work for other Cray XT3 systems but have
-not been verified.
-
-# Assume you already have a copy of HDF5 source code in directory `hdf5' and
-# want to install the binary in directory `/project/hdf5/phdf5'. You also
-# have done the proper setup to have mpicc and mpif90 as the compiler commands.
-
-$ cd hdf5
-$ bin/yodconfigure configure
-$ env RUNSERIAL="yod -sz 1" RUNPARALLEL="yod -sz 3" \
- CC=cc FC=ftn \
- ./configure --enable-parallel --prefix=/project/hdf5/phdf5
-$ make
-$ make check
-
-# if all is well, install the binary.
-$ make install
-
-2.4.3 Red Storm known problems
-------------------------------
-For Red Storm, a Cray XT3 system, the yod command sometimes gives the
-message, "yod allocation delayed for node recovery". This interferes with
-test suites that do not expect seeing this message. To bypass this problem,
-I launch the executables with a command shell script called "myyod" which
-consists of the following lines. (You should set $RUNSERIAL and $RUNPARALLEL
-to use myyod instead of yod.)
-==== myyod =======
-#!/bin/sh
-# sleep 2 seconds to allow time for the node recovery else it pops the
-# message,
-# yod allocation delayed for node recovery
-sleep 2
-yod $*
-==== end of myyod =======
-
-For Red Storm, a Cray XT3 system, the tools/h5ls/testh5ls.sh will fail on
-the test "Testing h5ls -w80 -r -g tgroup.h5" fails. This test is
-expected to fail and exit with a non-zero code but the yod command does
-not propagate the exit code of the executables. Yod always returns 0 if it
-can launch the executable. The test suite shell expects a non-zero for
-this particular test, therefore it concludes the test has failed when it
-receives 0 from yod. To bypass this problem for now, change the following
-lines in the tools/h5ls/testh5ls.sh.
-======== Original =========
-# The following combination of arguments is expected to return an error message
-# and return value 1
-TOOLTEST tgroup-1.ls 1 -w80 -r -g tgroup.h5
-======== Skip the test =========
-echo SKIP TOOLTEST tgroup-1.ls 1 -w80 -r -g tgroup.h5
-======== end of bypass ========
-
-2.5. Hopper (Cray XE6) (for v1.8 and later)
+2.3. Hopper (Cray XE6) (for v1.8 and later)
-------------------------
-2.5.1 Building HDF5 for Hopper
-------------------------------------------
The following steps are for building HDF5 for the Hopper compute
nodes. They would probably work for other Cray systems but have
not been verified.
@@ -226,43 +107,6 @@ The build will be in build-hdf5/hdf5/ (or whatever you specify in --prefix).
To compile other HDF5 applications use the wrappers created by the build (build-hdf5/hdf5/bin/h5pcc or h5fc)
-2.5.2 Hopper known issues
-------------------------------
-Issue 1:
-Sometimes when building the library with make, you might get this problem:
-
-LD_LIBRARY_PATH="$LD_LIBRARY_PATH`echo | \
-sed -e 's/-L/:/g' -e 's/
-//g'`" \
-./H5make_libsettings > H5lib_settings.c
-|| \
-(test $HDF5_Make_Ignore && echo "*** Error ignored")
-|| \
-(rm -f H5lib_settings.c ; exit 1)
-/bin/sh: line 4: 9644 Segmentation fault
-LD_LIBRARY_PATH="$LD_LIBRARY_PATH`echo | sed -e 's/-L/:/g' -e 's/
-//g'`" ./H5make_libsettings > H5lib_settings.c
-
-If that happens, you are probable running with make -j <x>. In that
-case, you need to cleanup everything and start again as detailed above
-but use serial make (do not use -j <x>).
-
-Issue 2:
-* When building using the Cray compilers on Cray machines, HDF5
- configure mistakenly thinks the compiler is an intel compiler and
- sets the -std=c99 flag which breaks configure on Cray. To build HDF5
- properly on a Cray machine, please consult with the instructions in
- INSTALL_parallel for building on Hopper.
- (MSC - 2013/04/26 - HDFFV-8429)
-
-Issue 3:
-* On hopper, the build failed when RUNSERIAL and RUNPARALLEL are set
- to aprun -np X, because the H5lib_settings.c file was not generated
- properly. Not setting those environment variables works, because
- configure was able to automatically detect that it's a Cray system
- and used the proper launch commands when necessary.
- (MSC - 2012/04/18)
-
3. Detail explanation
---------------------
@@ -293,16 +137,8 @@ a properly installed parallel compiler (e.g., MPICH's mpicc or IBM's mpcc_r)
and supply the compiler name as the value of the CC environment variable.
For examples,
- $ CC=mpcc_r ./configure
- $ CC=/usr/local/mpi/bin/mpicc ./configure
-
-If no such a compiler command is available then you must use your normal
-C compiler along with the location(s) of MPI/MPI-IO files to be used.
-For example,
-
- $ CPPFLAGS=-I/usr/local/mpi/include \
- LDFLAGS=-L/usr/local/mpi/lib/LINUX/ch_p4 \
- ./configure --enable-parallel=mpich
+ $ CC=mpcc_r ./configure --enable-parallel
+ $ CC=/usr/local/mpi/bin/mpicc ./configure --enable-parallel
If a parallel library is being built then configure attempts to determine how
to run a parallel application on one processor and on many processors. If the
diff --git a/release_docs/RELEASE.txt b/release_docs/RELEASE.txt
index 17f9ac1..d53ce79 100644
--- a/release_docs/RELEASE.txt
+++ b/release_docs/RELEASE.txt
@@ -1,4 +1,4 @@
-HDF5 version 1.9.216 currently under development
+HDF5 version 1.9.218 currently under development
================================================================================
@@ -117,6 +117,18 @@ New Features
Library:
--------
+ - H5F_ACC_DEBUG labeled "deprecated"
+
+ The symbol was originally used to emit some extra debugging
+ informationi in the multi VFD. The underlying functionality
+ was removed due to disuse in HDF5 1.8.16 though the symbol
+ remained defined since it was visible in H5Fpublic.h.
+
+ In this release, the symbol has been labeled deprecated and will
+ not be defined when H5_NO_DEPRECATED_SYMBOLS is defined.
+
+ (DER - 2015-04-30, HDFFV-1074)
+
- The library can load filter libraries dynamically during runtime. Users
can set the search path through environment variable HDF5_PLUGIN_PATH
and call H5Pset_filter to enable a dynamic filter. (SLU - 2013/04/08)
@@ -1383,6 +1395,11 @@ The following platforms are not supported but have been tested for this release.
Known Problems
==============
+* "make check" fails on CYGWIN when building shared lib files is enabled. The
+ default on Cygwin has been changed to disable shared. It can be enabled with
+ the --enable-shared configure option but is likely to fail "make check"
+ with GCC compilers. (LK -2015/04/16)
+
* CLANG compiler with the options -fcatch-undefined-behavior and -ftrapv
catches some undefined behavior in the alignment algorithm of the macro DETECT_I
in H5detect.c (Issue 8147). Since the algorithm is trying to detect the alignment
diff --git a/release_docs/USING_HDF5_CMake.txt b/release_docs/USING_HDF5_CMake.txt
index 347876c..514cced 100644
--- a/release_docs/USING_HDF5_CMake.txt
+++ b/release_docs/USING_HDF5_CMake.txt
@@ -107,7 +107,7 @@ These steps are described in more detail below.
<options> is:
* BUILD_TESTING:BOOL=ON
- * USE_SHARED_LIBS:BOOL=[ON | OFF]
+ * BUILD_SHARED_LIBS:BOOL=[ON | OFF]
2. Configure the cache settings
@@ -131,7 +131,7 @@ These steps are described in more detail below.
2.2 Alternative command line example on Windows in c:\MyHDFstuff\hdf5\build directory:
- cmake -G "Visual Studio 11" -DBUILD_TESTING:BOOL=ON -DUSE_SHARED_LIBS:BOOL=ON ..
+ cmake -G "Visual Studio 11" -DBUILD_TESTING:BOOL=ON ..
3. Build HDF5 Applications
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 56315bd..2f9d7d4 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -788,16 +788,8 @@ set (H5_PRIVATE_HEADERS
# Setup the H5Detect utility which generates H5Tinit with platform
# specific type checks inside
#-----------------------------------------------------------------------------
-#add_executable (H5detect ${HDF5_SRC_DIR}/H5detect.c)
-#TARGET_C_PROPERTIES (H5detect STATIC " " " ")
-IF (CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX)
- SET (LOCAL_OPT_FLAG "-O0")
-ELSE (CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX)
- SET (LOCAL_OPT_FLAG " ")
-ENDIF (CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX)
-ADD_EXECUTABLE (H5detect ${HDF5_SRC_DIR}/H5detect.c)
-TARGET_C_PROPERTIES (H5detect STATIC ${LOCAL_OPT_FLAG} " ")
-
+add_executable (H5detect ${HDF5_SRC_DIR}/H5detect.c)
+TARGET_C_PROPERTIES (H5detect STATIC " " " ")
if (MSVC OR MINGW)
target_link_libraries (H5detect "ws2_32.lib")
endif (MSVC OR MINGW)
diff --git a/src/H5A.c b/src/H5A.c
index 2de57e5..8828b7a 100644
--- a/src/H5A.c
+++ b/src/H5A.c
@@ -668,7 +668,7 @@ H5Aread(hid_t attr_id, hid_t dtype_id, void *buf)
/* Read the data through the VOL */
if((ret_value = H5VL_attr_read(attr->vol_obj, attr->vol_info->vol_cls,
- dtype_id, buf, H5AC_dxpl_id, H5_REQUEST_NULL)) < 0)
+ dtype_id, buf, H5AC_ind_dxpl_id, H5_REQUEST_NULL)) < 0)
HGOTO_ERROR(H5E_ATTR, H5E_READERROR, FAIL, "can't read data")
done:
diff --git a/src/H5AC.c b/src/H5AC.c
index 8eb0dd9..e6bcbb6 100644
--- a/src/H5AC.c
+++ b/src/H5AC.c
@@ -106,11 +106,6 @@ H5FL_DEFINE_STATIC(H5AC_slist_entry_t);
/* (Global variable definition, declaration is in H5ACprivate.h also) */
hid_t H5AC_dxpl_id=(-1);
-/* Private dataset transfer property list for metadata I/O calls */
-/* (Collective set and "library internal" set) */
-/* (Static variable definition) */
-static hid_t H5AC_noblock_dxpl_id=(-1);
-
/* Dataset transfer property list for independent metadata I/O calls */
/* (just "library internal" set - i.e. independent transfer mode) */
/* (Global variable definition, declaration is in H5ACprivate.h also) */
@@ -257,9 +252,7 @@ H5AC_init_interface(void)
{
#ifdef H5_HAVE_PARALLEL
H5P_genplist_t *xfer_plist; /* Dataset transfer property list object */
- unsigned block_before_meta_write; /* "block before meta write" property value */
unsigned coll_meta_write; /* "collective metadata write" property value */
- unsigned library_internal = 1; /* "library internal" property value */
#endif /* H5_HAVE_PARALLEL */
herr_t ret_value = SUCCEED; /* Return value */
@@ -269,7 +262,7 @@ H5AC_init_interface(void)
/* Sanity check */
HDassert(H5P_CLS_DATASET_XFER_g != NULL);
- /* Get an ID for the blocking, collective H5AC dxpl */
+ /* Get an ID for the collective H5AC dxpl */
if((H5AC_dxpl_id = H5P_create_id(H5P_CLS_DATASET_XFER_g, FALSE)) < 0)
HGOTO_ERROR(H5E_CACHE, H5E_CANTCREATE, FAIL, "unable to register property list")
@@ -277,51 +270,13 @@ H5AC_init_interface(void)
if (NULL == (xfer_plist = (H5P_genplist_t *)H5I_object(H5AC_dxpl_id)))
HGOTO_ERROR(H5E_CACHE, H5E_BADATOM, FAIL, "can't get new property list object")
- /* Insert 'block before metadata write' property */
- block_before_meta_write=1;
- if(H5P_insert(xfer_plist,H5AC_BLOCK_BEFORE_META_WRITE_NAME,H5AC_BLOCK_BEFORE_META_WRITE_SIZE,&block_before_meta_write,
- NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL)<0)
- HGOTO_ERROR(H5E_PLIST, H5E_CANTSET, FAIL, "can't insert metadata cache dxpl property")
-
- /* Insert 'library internal' property */
- if(H5P_insert(xfer_plist,H5AC_LIBRARY_INTERNAL_NAME,H5AC_LIBRARY_INTERNAL_SIZE,&library_internal,
- NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL)<0)
- HGOTO_ERROR(H5E_PLIST, H5E_CANTSET, FAIL, "can't insert metadata cache dxpl property")
-
- /* Insert 'collective metadata write' property */
- coll_meta_write = 1;
- if(H5P_insert(xfer_plist, H5AC_COLLECTIVE_META_WRITE_NAME, H5AC_COLLECTIVE_META_WRITE_SIZE, &coll_meta_write,
- NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL) < 0)
- HGOTO_ERROR(H5E_PLIST, H5E_CANTSET, FAIL, "can't insert metadata cache dxpl property")
-
-
- /* Get an ID for the non-blocking, collective H5AC dxpl */
- if((H5AC_noblock_dxpl_id = H5P_create_id(H5P_CLS_DATASET_XFER_g, FALSE)) < 0)
- HGOTO_ERROR(H5E_CACHE, H5E_CANTCREATE, FAIL, "unable to register property list")
-
- /* Get the property list object */
- if (NULL == (xfer_plist = (H5P_genplist_t *)H5I_object(H5AC_noblock_dxpl_id)))
- HGOTO_ERROR(H5E_CACHE, H5E_BADATOM, FAIL, "can't get new property list object")
-
- /* Insert 'block before metadata write' property */
- block_before_meta_write=0;
- if(H5P_insert(xfer_plist,H5AC_BLOCK_BEFORE_META_WRITE_NAME,H5AC_BLOCK_BEFORE_META_WRITE_SIZE,&block_before_meta_write,
- NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL)<0)
- HGOTO_ERROR(H5E_PLIST, H5E_CANTSET, FAIL, "can't insert metadata cache dxpl property")
-
- /* Insert 'library internal' property */
- if(H5P_insert(xfer_plist,H5AC_LIBRARY_INTERNAL_NAME,H5AC_LIBRARY_INTERNAL_SIZE,&library_internal,
- NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL)<0)
- HGOTO_ERROR(H5E_PLIST, H5E_CANTSET, FAIL, "can't insert metadata cache dxpl property")
-
/* Insert 'collective metadata write' property */
coll_meta_write = 1;
if(H5P_insert(xfer_plist, H5AC_COLLECTIVE_META_WRITE_NAME, H5AC_COLLECTIVE_META_WRITE_SIZE, &coll_meta_write,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL) < 0)
HGOTO_ERROR(H5E_PLIST, H5E_CANTSET, FAIL, "can't insert metadata cache dxpl property")
-
- /* Get an ID for the non-blocking, independent H5AC dxpl */
+ /* Get an ID for the independent H5AC dxpl */
if((H5AC_ind_dxpl_id = H5P_create_id(H5P_CLS_DATASET_XFER_g, FALSE)) < 0)
HGOTO_ERROR(H5E_CACHE, H5E_CANTCREATE, FAIL, "unable to register property list")
@@ -329,29 +284,16 @@ H5AC_init_interface(void)
if(NULL == (H5AC_ind_dxpl_g = (H5P_genplist_t *)H5I_object(H5AC_ind_dxpl_id)))
HGOTO_ERROR(H5E_CACHE, H5E_BADATOM, FAIL, "can't get new property list object")
- /* Insert 'block before metadata write' property */
- block_before_meta_write=0;
- if(H5P_insert(H5AC_ind_dxpl_g, H5AC_BLOCK_BEFORE_META_WRITE_NAME, H5AC_BLOCK_BEFORE_META_WRITE_SIZE, &block_before_meta_write,
- NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL) < 0)
- HGOTO_ERROR(H5E_PLIST, H5E_CANTSET, FAIL, "can't insert metadata cache dxpl property")
-
- /* Insert 'library internal' property */
- if(H5P_insert(H5AC_ind_dxpl_g, H5AC_LIBRARY_INTERNAL_NAME, H5AC_LIBRARY_INTERNAL_SIZE, &library_internal,
- NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL) < 0)
- HGOTO_ERROR(H5E_PLIST, H5E_CANTSET, FAIL, "can't insert metadata cache dxpl property")
-
/* Insert 'collective metadata write' property */
coll_meta_write = 0;
if(H5P_insert(H5AC_ind_dxpl_g, H5AC_COLLECTIVE_META_WRITE_NAME, H5AC_COLLECTIVE_META_WRITE_SIZE, &coll_meta_write,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL) < 0)
HGOTO_ERROR(H5E_PLIST, H5E_CANTSET, FAIL, "can't insert metadata cache dxpl property")
-
#else /* H5_HAVE_PARALLEL */
/* Sanity check */
HDassert(H5P_LST_DATASET_XFER_ID_g!=(-1));
H5AC_dxpl_id = H5P_DATASET_XFER_DEFAULT;
- H5AC_noblock_dxpl_id = H5P_DATASET_XFER_DEFAULT;
H5AC_ind_dxpl_id = H5P_DATASET_XFER_DEFAULT;
/* Get the property list objects for the IDs */
@@ -388,19 +330,17 @@ H5AC_term_interface(void)
if (H5_interface_initialize_g) {
#ifdef H5_HAVE_PARALLEL
- if(H5AC_dxpl_id > 0 || H5AC_noblock_dxpl_id > 0 || H5AC_ind_dxpl_id > 0) {
+ if(H5AC_dxpl_id > 0 || H5AC_ind_dxpl_id > 0) {
/* Indicate more work to do */
n = 1; /* H5I */
/* Close H5AC dxpl */
if(H5I_dec_ref(H5AC_dxpl_id) < 0 ||
- H5I_dec_ref(H5AC_noblock_dxpl_id) < 0 ||
H5I_dec_ref(H5AC_ind_dxpl_id) < 0)
H5E_clear_stack(NULL); /*ignore error*/
else {
/* Reset static IDs */
H5AC_dxpl_id = (-1);
- H5AC_noblock_dxpl_id = (-1);
H5AC_ind_dxpl_id = (-1);
/* Reset interface initialization flag */
@@ -411,7 +351,6 @@ H5AC_term_interface(void)
#else /* H5_HAVE_PARALLEL */
/* Reset static IDs */
H5AC_dxpl_id=(-1);
- H5AC_noblock_dxpl_id=(-1);
H5AC_ind_dxpl_id=(-1);
#endif /* H5_HAVE_PARALLEL */
/* Reset interface initialization flag */
@@ -659,7 +598,7 @@ H5AC_dest(H5F_t *f, hid_t dxpl_id)
#ifdef H5_HAVE_PARALLEL
H5AC_aux_t * aux_ptr = NULL;
#endif /* H5_HAVE_PARALLEL */
- herr_t ret_value = SUCCEED; /* Return value */
+ herr_t ret_value = SUCCEED; /* Return value */
FUNC_ENTER_NOAPI(FAIL)
@@ -689,7 +628,7 @@ H5AC_dest(H5F_t *f, hid_t dxpl_id)
#endif /* H5_HAVE_PARALLEL */
/* Destroy the cache */
- if(H5C_dest(f, dxpl_id, H5AC_noblock_dxpl_id) < 0)
+ if(H5C_dest(f, dxpl_id, H5AC_dxpl_id) < 0)
HGOTO_ERROR(H5E_CACHE, H5E_CANTFREE, FAIL, "can't destroy cache")
f->shared->cache = NULL;
@@ -702,8 +641,7 @@ H5AC_dest(H5F_t *f, hid_t dxpl_id)
if(aux_ptr->candidate_slist_ptr != NULL)
H5SL_close(aux_ptr->candidate_slist_ptr);
aux_ptr->magic = 0;
- H5FL_FREE(H5AC_aux_t, aux_ptr);
- aux_ptr = NULL;
+ aux_ptr = H5FL_FREE(H5AC_aux_t, aux_ptr);
} /* end if */
#endif /* H5_HAVE_PARALLEL */
@@ -771,7 +709,7 @@ H5AC_expunge_entry(H5F_t *f,
result = H5C_expunge_entry(f,
dxpl_id,
- H5AC_noblock_dxpl_id,
+ H5AC_dxpl_id,
type,
addr,
flags);
@@ -850,7 +788,7 @@ H5AC_flush(H5F_t *f, hid_t dxpl_id)
#endif /* H5_HAVE_PARALLEL */
/* Flush the cache */
- if(H5C_flush_cache(f, dxpl_id, H5AC_noblock_dxpl_id, H5AC__NO_FLAGS_SET) < 0)
+ if(H5C_flush_cache(f, dxpl_id, H5AC_dxpl_id, H5AC__NO_FLAGS_SET) < 0)
HGOTO_ERROR(H5E_CACHE, H5E_CANTFLUSH, FAIL, "Can't flush cache.")
done:
@@ -992,7 +930,7 @@ H5AC_insert_entry(H5F_t *f, hid_t dxpl_id, const H5AC_class_t *type, haddr_t add
#endif /* H5AC__TRACE_FILE_ENABLED */
/* Insert entry into metadata cache */
- if(H5C_insert_entry(f, dxpl_id, H5AC_noblock_dxpl_id, type, addr, thing, flags) < 0)
+ if(H5C_insert_entry(f, dxpl_id, H5AC_dxpl_id, type, addr, thing, flags) < 0)
HGOTO_ERROR(H5E_CACHE, H5E_CANTINS, FAIL, "H5C_insert_entry() failed")
#if H5AC__TRACE_FILE_ENABLED
@@ -1013,7 +951,7 @@ H5AC_insert_entry(H5F_t *f, hid_t dxpl_id, const H5AC_class_t *type, haddr_t add
/* Check if we should try to flush */
if(aux_ptr->dirty_bytes >= aux_ptr->dirty_bytes_threshold)
- if(H5AC_run_sync_point(f, H5AC_noblock_dxpl_id, H5AC_SYNC_POINT_OP__FLUSH_TO_MIN_CLEAN) < 0)
+ if(H5AC_run_sync_point(f, H5AC_dxpl_id, H5AC_SYNC_POINT_OP__FLUSH_TO_MIN_CLEAN) < 0)
HGOTO_ERROR(H5E_CACHE, H5E_CANTFLUSH, FAIL, "Can't run sync point.")
} /* end if */
}
@@ -1166,7 +1104,7 @@ H5AC_move_entry(H5F_t *f, const H5AC_class_t *type, haddr_t old_addr, haddr_t ne
#ifdef H5_HAVE_PARALLEL
/* Check if we should try to flush */
if(NULL != aux_ptr && aux_ptr->dirty_bytes >= aux_ptr->dirty_bytes_threshold) {
- if(H5AC_run_sync_point(f, H5AC_noblock_dxpl_id, H5AC_SYNC_POINT_OP__FLUSH_TO_MIN_CLEAN) < 0)
+ if(H5AC_run_sync_point(f, H5AC_dxpl_id, H5AC_SYNC_POINT_OP__FLUSH_TO_MIN_CLEAN) < 0)
HGOTO_ERROR(H5E_CACHE, H5E_CANTFLUSH, FAIL, "Can't run sync point.")
} /* end if */
#endif /* H5_HAVE_PARALLEL */
@@ -1378,7 +1316,7 @@ H5AC_protect(H5F_t *f,
thing = H5C_protect(f,
dxpl_id,
- H5AC_noblock_dxpl_id,
+ H5AC_dxpl_id,
type,
addr,
udata,
@@ -1696,13 +1634,13 @@ H5AC_unprotect(H5F_t *f, hid_t dxpl_id, const H5AC_class_t *type, haddr_t addr,
} /* end if */
#endif /* H5_HAVE_PARALLEL */
- if(H5C_unprotect(f, dxpl_id, H5AC_noblock_dxpl_id, type, addr, thing, flags) < 0)
+ if(H5C_unprotect(f, dxpl_id, H5AC_dxpl_id, type, addr, thing, flags) < 0)
HGOTO_ERROR(H5E_CACHE, H5E_CANTUNPROTECT, FAIL, "H5C_unprotect() failed.")
#ifdef H5_HAVE_PARALLEL
/* Check if we should try to flush */
if((aux_ptr != NULL) && (aux_ptr->dirty_bytes >= aux_ptr->dirty_bytes_threshold)) {
- if(H5AC_run_sync_point(f, H5AC_noblock_dxpl_id, H5AC_SYNC_POINT_OP__FLUSH_TO_MIN_CLEAN) < 0)
+ if(H5AC_run_sync_point(f, H5AC_dxpl_id, H5AC_SYNC_POINT_OP__FLUSH_TO_MIN_CLEAN) < 0)
HGOTO_ERROR(H5E_CACHE, H5E_CANTFLUSH, FAIL, "Can't run sync point.")
} /* end if */
#endif /* H5_HAVE_PARALLEL */
@@ -2925,7 +2863,7 @@ H5AC_broadcast_clean_list(H5AC_t * cache_ptr)
*/
if ( aux_ptr->sync_point_done != NULL ) {
- addr_buf_ptr = H5MM_malloc((size_t)num_entries * sizeof(haddr_t));
+ addr_buf_ptr = (haddr_t *)H5MM_malloc((size_t)num_entries * sizeof(haddr_t));
if ( addr_buf_ptr == NULL ) {
@@ -2971,8 +2909,7 @@ H5AC_broadcast_clean_list(H5AC_t * cache_ptr)
}
slist_entry_ptr->magic = 0;
- H5FL_FREE(H5AC_slist_entry_t, slist_entry_ptr);
- slist_entry_ptr = NULL;
+ slist_entry_ptr = H5FL_FREE(H5AC_slist_entry_t, slist_entry_ptr);
aux_ptr->c_slist_len -= 1;
@@ -2981,7 +2918,7 @@ H5AC_broadcast_clean_list(H5AC_t * cache_ptr)
/* and also remove the matching entry from the dirtied list
* if it exists.
*/
- if((slist_entry_ptr = H5SL_search(aux_ptr->d_slist_ptr, (void *)(&addr))) != NULL) {
+ if((slist_entry_ptr = (H5AC_slist_entry_t *)H5SL_search(aux_ptr->d_slist_ptr, (void *)(&addr))) != NULL) {
HDassert( slist_entry_ptr->magic == H5AC__H5AC_SLIST_ENTRY_T_MAGIC );
HDassert( slist_entry_ptr->addr == addr );
@@ -2989,8 +2926,7 @@ H5AC_broadcast_clean_list(H5AC_t * cache_ptr)
HGOTO_ERROR(H5E_CACHE, H5E_CANTDELETE, FAIL, "Can't delete entry from dirty entry slist.")
slist_entry_ptr->magic = 0;
- H5FL_FREE(H5AC_slist_entry_t, slist_entry_ptr);
- slist_entry_ptr = NULL;
+ slist_entry_ptr = H5FL_FREE(H5AC_slist_entry_t, slist_entry_ptr);
aux_ptr->d_slist_len -= 1;
@@ -3282,8 +3218,7 @@ H5AC_copy_candidate_list_to_buffer(H5AC_t * cache_ptr,
HGOTO_ERROR(H5E_CACHE, H5E_CANTDELETE, FAIL, "Can't delete entry from candidate entry slist.")
slist_entry_ptr->magic = 0;
- H5FL_FREE(H5AC_slist_entry_t, slist_entry_ptr);
- slist_entry_ptr = NULL;
+ slist_entry_ptr = H5FL_FREE(H5AC_slist_entry_t, slist_entry_ptr);
aux_ptr->candidate_slist_len -= 1;
@@ -3450,8 +3385,7 @@ H5AC_log_deleted_entry(H5AC_t * cache_ptr,
HGOTO_ERROR(H5E_CACHE, H5E_CANTDELETE, FAIL, "Can't delete entry from dirty entry slist.")
slist_entry_ptr->magic = 0;
- H5FL_FREE(H5AC_slist_entry_t, slist_entry_ptr);
- slist_entry_ptr = NULL;
+ slist_entry_ptr = H5FL_FREE(H5AC_slist_entry_t, slist_entry_ptr);
aux_ptr->d_slist_len -= 1;
@@ -3467,8 +3401,7 @@ H5AC_log_deleted_entry(H5AC_t * cache_ptr,
HGOTO_ERROR(H5E_CACHE, H5E_CANTDELETE, FAIL, "Can't delete entry from cleaned entry slist.")
slist_entry_ptr->magic = 0;
- H5FL_FREE(H5AC_slist_entry_t, slist_entry_ptr);
- slist_entry_ptr = NULL;
+ slist_entry_ptr = H5FL_FREE(H5AC_slist_entry_t, slist_entry_ptr);
aux_ptr->c_slist_len -= 1;
@@ -3577,8 +3510,7 @@ H5AC_log_dirtied_entry(const H5AC_info_t * entry_ptr,
HGOTO_ERROR(H5E_CACHE, H5E_CANTDELETE, FAIL, "Can't delete entry from clean entry slist.")
slist_entry_ptr->magic = 0;
- H5FL_FREE(H5AC_slist_entry_t, slist_entry_ptr);
- slist_entry_ptr = NULL;
+ slist_entry_ptr = H5FL_FREE(H5AC_slist_entry_t, slist_entry_ptr);
aux_ptr->c_slist_len -= 1;
@@ -3672,8 +3604,7 @@ H5AC_log_flushed_entry(H5C_t * cache_ptr,
}
slist_entry_ptr->magic = 0;
- H5FL_FREE(H5AC_slist_entry_t, slist_entry_ptr);
- slist_entry_ptr = NULL;
+ slist_entry_ptr = H5FL_FREE(H5AC_slist_entry_t, slist_entry_ptr);
aux_ptr->c_slist_len -= 1;
@@ -3694,8 +3625,7 @@ H5AC_log_flushed_entry(H5C_t * cache_ptr,
}
slist_entry_ptr->magic = 0;
- H5FL_FREE(H5AC_slist_entry_t, slist_entry_ptr);
- slist_entry_ptr = NULL;
+ slist_entry_ptr = H5FL_FREE(H5AC_slist_entry_t, slist_entry_ptr);
aux_ptr->d_slist_len -= 1;
@@ -3925,8 +3855,7 @@ H5AC_log_moved_entry(const H5F_t *f,
}
slist_entry_ptr->magic = 0;
- H5FL_FREE(H5AC_slist_entry_t, slist_entry_ptr);
- slist_entry_ptr = NULL;
+ slist_entry_ptr = H5FL_FREE(H5AC_slist_entry_t, slist_entry_ptr);
aux_ptr->c_slist_len -= 1;
@@ -4307,7 +4236,7 @@ H5AC_propagate_flushed_and_still_clean_entries_list(H5F_t * f,
HDassert( aux_ptr->c_slist_len == 0 );
} /* end if */
else {
- if(H5AC_receive_and_apply_clean_list(f, dxpl_id, H5AC_noblock_dxpl_id, cache_ptr) < 0)
+ if(H5AC_receive_and_apply_clean_list(f, dxpl_id, H5AC_dxpl_id, cache_ptr) < 0)
HGOTO_ERROR(H5E_CACHE, H5E_SYSTEM, FAIL, "Can't receive and/or process clean slist broadcast.")
} /* end else */
@@ -4881,7 +4810,7 @@ H5AC_rsp__p0_only__flush(H5F_t *f,
} /* end if */
/* Propagate cleaned entries to other ranks. */
- if(H5AC_propagate_flushed_and_still_clean_entries_list(f, H5AC_noblock_dxpl_id, cache_ptr) < 0)
+ if(H5AC_propagate_flushed_and_still_clean_entries_list(f, H5AC_dxpl_id, cache_ptr) < 0)
HGOTO_ERROR(H5E_CACHE, H5E_CANTFLUSH, FAIL, "Can't propagate clean entries list.")
done:
@@ -4988,7 +4917,7 @@ H5AC_rsp__p0_only__flush_to_min_clean(H5F_t *f,
*/
aux_ptr->write_permitted = TRUE;
- result = H5C_flush_to_min_clean(f, dxpl_id, H5AC_noblock_dxpl_id);
+ result = H5C_flush_to_min_clean(f, dxpl_id, H5AC_dxpl_id);
aux_ptr->write_permitted = FALSE;
@@ -5232,7 +5161,7 @@ H5AC_tidy_cache_0_lists(H5AC_t * cache_ptr,
HGOTO_ERROR(H5E_CACHE, H5E_CANTDELETE, FAIL, "Can't delete entry from dirty entry slist.")
d_slist_entry_ptr->magic = 0;
- H5FL_FREE(H5AC_slist_entry_t, d_slist_entry_ptr);
+ d_slist_entry_ptr = H5FL_FREE(H5AC_slist_entry_t, d_slist_entry_ptr);
aux_ptr->d_slist_len -= 1;
@@ -5248,7 +5177,7 @@ H5AC_tidy_cache_0_lists(H5AC_t * cache_ptr,
HGOTO_ERROR(H5E_CACHE, H5E_CANTDELETE, FAIL, "Can't delete entry from clean entry slist.")
c_slist_entry_ptr->magic = 0;
- H5FL_FREE(H5AC_slist_entry_t, c_slist_entry_ptr);
+ c_slist_entry_ptr = H5FL_FREE(H5AC_slist_entry_t, c_slist_entry_ptr);
aux_ptr->c_slist_len -= 1;
@@ -5291,7 +5220,7 @@ H5AC_flush_entries(H5F_t *f)
/* Check if we have >1 ranks */
if(f->shared->cache->aux_ptr) {
- if(H5AC_run_sync_point(f, H5AC_noblock_dxpl_id, H5AC_SYNC_POINT_OP__FLUSH_CACHE) < 0)
+ if(H5AC_run_sync_point(f, H5AC_dxpl_id, H5AC_SYNC_POINT_OP__FLUSH_CACHE) < 0)
HGOTO_ERROR(H5E_CACHE, H5E_CANTFLUSH, FAIL, "Can't run sync point.")
} /* end if */
diff --git a/src/H5ACprivate.h b/src/H5ACprivate.h
index 623f502..0a958b0 100644
--- a/src/H5ACprivate.h
+++ b/src/H5ACprivate.h
@@ -42,6 +42,7 @@
#define H5AC__TRACE_FILE_ENABLED 0
#endif /* H5_METADATA_TRACE_FILE */
+/* Global metadata tag values */
#define H5AC__INVALID_TAG (haddr_t)0
#define H5AC__IGNORE_TAG (haddr_t)1
#define H5AC__SUPERBLOCK_TAG (haddr_t)2
@@ -195,20 +196,10 @@ typedef H5C_t H5AC_t;
/* Metadata specific properties for FAPL */
/* (Only used for parallel I/O) */
#ifdef H5_HAVE_PARALLEL
-/* Definitions for "block before metadata write" property */
-#define H5AC_BLOCK_BEFORE_META_WRITE_NAME "H5AC_block_before_meta_write"
-#define H5AC_BLOCK_BEFORE_META_WRITE_SIZE sizeof(unsigned)
-#define H5AC_BLOCK_BEFORE_META_WRITE_DEF 0
-
/* Definitions for "collective metadata write" property */
#define H5AC_COLLECTIVE_META_WRITE_NAME "H5AC_collective_metadata_write"
#define H5AC_COLLECTIVE_META_WRITE_SIZE sizeof(unsigned)
#define H5AC_COLLECTIVE_META_WRITE_DEF 0
-
-/* Definitions for "library internal" property */
-#define H5AC_LIBRARY_INTERNAL_NAME "H5AC_library_internal"
-#define H5AC_LIBRARY_INTERNAL_SIZE sizeof(unsigned)
-#define H5AC_LIBRARY_INTERNAL_DEF 0
#endif /* H5_HAVE_PARALLEL */
#define H5AC_METADATA_TAG_NAME "H5AC_metadata_tag"
diff --git a/src/H5Adense.c b/src/H5Adense.c
index 0b73a20..e0499f5 100644
--- a/src/H5Adense.c
+++ b/src/H5Adense.c
@@ -538,7 +538,7 @@ H5A_dense_insert(H5F_t *f, hid_t dxpl_id, const H5O_ainfo_t *ainfo, H5A_t *attr)
udata.common.shared_fheap = shared_fheap;
udata.common.name = attr->shared->name;
udata.common.name_hash = H5_checksum_lookup3(attr->shared->name, HDstrlen(attr->shared->name), 0);
- H5_ASSIGN_OVERFLOW(udata.common.flags, mesg_flags, unsigned, uint8_t);
+ H5_CHECKED_ASSIGN(udata.common.flags, uint8_t, mesg_flags, unsigned);
udata.common.corder = attr->shared->crt_idx;
udata.common.found_op = NULL;
udata.common.found_op_data = NULL;
diff --git a/src/H5Aint.c b/src/H5Aint.c
index ea91306..7141b3b 100644
--- a/src/H5Aint.c
+++ b/src/H5Aint.c
@@ -255,7 +255,7 @@ H5A_create(const H5G_loc_t *loc, const char *name, const H5T_t *type,
/* Get # of elements for attribute's dataspace */
if((snelmts = H5S_GET_EXTENT_NPOINTS(attr->shared->ds)) < 0)
HGOTO_ERROR(H5E_ATTR, H5E_CANTCOUNT, NULL, "dataspace is invalid")
- H5_ASSIGN_OVERFLOW(nelmts, snelmts, hssize_t, size_t);
+ H5_CHECKED_ASSIGN(nelmts, size_t, snelmts, hssize_t);
HDassert(attr->shared->dt_size > 0);
HDassert(attr->shared->ds_size > 0);
@@ -508,7 +508,7 @@ H5A_write(H5A_t *attr, const H5T_t *mem_type, const void *buf, hid_t dxpl_id)
/* Get # of elements for attribute's dataspace */
if((snelmts = H5S_GET_EXTENT_NPOINTS(attr->shared->ds)) < 0)
HGOTO_ERROR(H5E_ATTR, H5E_CANTCOUNT, FAIL, "dataspace is invalid")
- H5_ASSIGN_OVERFLOW(nelmts, snelmts, hssize_t, size_t);
+ H5_CHECKED_ASSIGN(nelmts, size_t, snelmts, hssize_t);
/* If there's actually data elements for the attribute, make a copy of the data passed in */
if(nelmts > 0) {
@@ -621,7 +621,7 @@ H5A_read(const H5A_t *attr, const H5T_t *mem_type, void *buf, hid_t dxpl_id)
/* Create buffer for data to store on disk */
if((snelmts = H5S_GET_EXTENT_NPOINTS(attr->shared->ds)) < 0)
HGOTO_ERROR(H5E_ATTR, H5E_CANTCOUNT, FAIL, "dataspace is invalid")
- H5_ASSIGN_OVERFLOW(nelmts, snelmts, hssize_t, size_t);
+ H5_CHECKED_ASSIGN(nelmts, size_t, snelmts, hssize_t);
if(nelmts > 0) {
/* Get the memory and file datatype sizes */
@@ -1195,7 +1195,7 @@ H5A_type(const H5A_t *attr)
*/
htri_t
H5A_exists_by_name(H5G_loc_t loc, const char *obj_name, const char *attr_name,
- hid_t lapl_id)
+ hid_t lapl_id, hid_t dxpl_id)
{
H5G_loc_t obj_loc; /* Location used to open group */
H5G_name_t obj_path; /* Opened object group hier. path */
@@ -1211,12 +1211,12 @@ H5A_exists_by_name(H5G_loc_t loc, const char *obj_name, const char *attr_name,
H5G_loc_reset(&obj_loc);
/* Find the object's location */
- if(H5G_loc_find(&loc, obj_name, &obj_loc/*out*/, lapl_id, H5AC_ind_dxpl_id) < 0)
+ if(H5G_loc_find(&loc, obj_name, &obj_loc/*out*/, lapl_id, dxpl_id) < 0)
HGOTO_ERROR(H5E_ATTR, H5E_NOTFOUND, FAIL, "object not found")
loc_found = TRUE;
/* Check if the attribute exists */
- if((ret_value = H5O_attr_exists(obj_loc.oloc, attr_name, H5AC_ind_dxpl_id)) < 0)
+ if((ret_value = H5O_attr_exists(obj_loc.oloc, attr_name, dxpl_id)) < 0)
HGOTO_ERROR(H5E_ATTR, H5E_CANTGET, FAIL, "unable to determine if attribute exists")
done:
@@ -1688,7 +1688,7 @@ H5A_attr_iterate_table(const H5A_attr_table_t *atable, hsize_t skip,
*last_attr = skip;
/* Iterate over attribute messages */
- H5_ASSIGN_OVERFLOW(/* To: */ u, /* From: */ skip, /* From: */ hsize_t, /* To: */ size_t)
+ H5_CHECKED_ASSIGN(u, size_t, skip, hsize_t)
for(; u < atable->nattrs && !ret_value; u++) {
/* Check which type of callback to make */
switch(attr_op->op_type) {
@@ -2020,7 +2020,11 @@ H5A_attr_copy_file(const H5A_t *attr_src, H5F_t *file_dst, hbool_t *recompute_si
*recompute_size = TRUE;
/* Compute the size of the data */
- H5_ASSIGN_OVERFLOW(attr_dst->shared->data_size, H5S_GET_EXTENT_NPOINTS(attr_dst->shared->ds) * H5T_get_size(attr_dst->shared->dt), hssize_t, size_t);
+ /* NOTE: This raises warnings. If we are going to be serious about
+ * expecting overflow here, we should implement testing similar to
+ * that described in CERT bulletins INT30-C and INT32-C.
+ */
+ H5_CHECKED_ASSIGN(attr_dst->shared->data_size, size_t, H5S_GET_EXTENT_NPOINTS(attr_dst->shared->ds) * H5T_get_size(attr_dst->shared->dt), hssize_t);
/* Copy (& convert) the data, if necessary */
if(attr_src->shared->data) {
@@ -2385,7 +2389,7 @@ done:
*/
herr_t
H5A_rename_by_name(H5G_loc_t loc, const char *obj_name, const char *old_attr_name,
- const char *new_attr_name, hid_t lapl_id)
+ const char *new_attr_name, hid_t lapl_id, hid_t dxpl_id)
{
H5G_loc_t obj_loc; /* Location used to open group */
H5G_name_t obj_path; /* Opened object group hier. path */
@@ -2408,7 +2412,7 @@ H5A_rename_by_name(H5G_loc_t loc, const char *obj_name, const char *old_attr_nam
loc_found = TRUE;
/* Call attribute rename routine */
- if(H5O_attr_rename(obj_loc.oloc, H5AC_dxpl_id, old_attr_name, new_attr_name) < 0)
+ if(H5O_attr_rename(obj_loc.oloc, dxpl_id, old_attr_name, new_attr_name) < 0)
HGOTO_ERROR(H5E_ATTR, H5E_CANTRENAME, FAIL, "can't rename attribute")
} /* end if */
@@ -2589,7 +2593,7 @@ H5A_delete(void *obj, H5VL_loc_params_t loc_params, const char *attr_name)
/* Find the object's location */
if(H5G_loc_find(&loc, loc_params.loc_data.loc_by_idx.name, &obj_loc/*out*/,
- loc_params.loc_data.loc_by_idx.lapl_id, H5AC_dxpl_id) < 0)
+ loc_params.loc_data.loc_by_idx.lapl_id, H5AC_ind_dxpl_id) < 0)
HGOTO_ERROR(H5E_ATTR, H5E_NOTFOUND, FAIL, "object not found")
loc_found = TRUE;
diff --git a/src/H5Apkg.h b/src/H5Apkg.h
index 2c984d0..0eaeae7 100644
--- a/src/H5Apkg.h
+++ b/src/H5Apkg.h
@@ -206,9 +206,9 @@ H5_DLL herr_t H5A_close(H5A_t *attr);
H5_DLL htri_t H5A_get_ainfo(H5F_t *f, hid_t dxpl_id, H5O_t *oh, H5O_ainfo_t *ainfo);
H5_DLL herr_t H5A_set_version(const H5F_t *f, H5A_t *attr);
H5_DLL herr_t H5A_rename_by_name(H5G_loc_t loc, const char *obj_name, const char *old_attr_name,
- const char *new_attr_name, hid_t lapl_id);
+ const char *new_attr_name, hid_t lapl_id, hid_t dxpl_id);
H5_DLL htri_t H5A_exists_by_name(H5G_loc_t loc, const char *obj_name, const char *attr_name,
- hid_t lapl_id);
+ hid_t lapl_id, hid_t dxpl_id);
H5_DLL herr_t H5A_iterate(void *obj, H5VL_loc_params_t loc_params, H5_index_t idx_type,
H5_iter_order_t order, hsize_t *idx, H5A_operator2_t op, void *op_data);
H5_DLL herr_t H5A_delete(void *obj, H5VL_loc_params_t loc_params, const char *attr_name);
diff --git a/src/H5B2hdr.c b/src/H5B2hdr.c
index 452a35d..d28c263 100644
--- a/src/H5B2hdr.c
+++ b/src/H5B2hdr.c
@@ -160,7 +160,7 @@ HDmemset(hdr->page, 0, hdr->node_size);
/* Initialize leaf node info */
sz_max_nrec = H5B2_NUM_LEAF_REC(hdr->node_size, hdr->rrec_size);
- H5_ASSIGN_OVERFLOW(/* To: */ hdr->node_info[0].max_nrec, /* From: */ sz_max_nrec, /* From: */ size_t, /* To: */ unsigned)
+ H5_CHECKED_ASSIGN(hdr->node_info[0].max_nrec, unsigned, sz_max_nrec, size_t)
hdr->node_info[0].split_nrec = (hdr->node_info[0].max_nrec * hdr->split_percent) / 100;
hdr->node_info[0].merge_nrec = (hdr->node_info[0].max_nrec * hdr->merge_percent) / 100;
hdr->node_info[0].cum_max_nrec = hdr->node_info[0].max_nrec;
@@ -182,14 +182,14 @@ HDmemset(hdr->page, 0, hdr->node_size);
/* Compute size to store # of records in each node */
/* (uses leaf # of records because its the largest) */
u_max_nrec_size = H5VM_limit_enc_size((uint64_t)hdr->node_info[0].max_nrec);
- H5_ASSIGN_OVERFLOW(/* To: */ hdr->max_nrec_size, /* From: */ u_max_nrec_size, /* From: */ unsigned, /* To: */ uint8_t)
+ H5_CHECKED_ASSIGN(hdr->max_nrec_size, uint8_t, u_max_nrec_size, unsigned)
HDassert(hdr->max_nrec_size <= H5B2_SIZEOF_RECORDS_PER_NODE);
/* Initialize internal node info */
if(depth > 0) {
for(u = 1; u < (unsigned)(depth + 1); u++) {
sz_max_nrec = H5B2_NUM_INT_REC(hdr, u);
- H5_ASSIGN_OVERFLOW(/* To: */ hdr->node_info[u].max_nrec, /* From: */ sz_max_nrec, /* From: */ size_t, /* To: */ unsigned)
+ H5_CHECKED_ASSIGN(hdr->node_info[u].max_nrec, unsigned, sz_max_nrec, size_t)
HDassert(hdr->node_info[u].max_nrec <= hdr->node_info[u - 1].max_nrec);
hdr->node_info[u].split_nrec = (hdr->node_info[u].max_nrec * hdr->split_percent) / 100;
@@ -198,7 +198,7 @@ HDmemset(hdr->page, 0, hdr->node_size);
hdr->node_info[u].cum_max_nrec = ((hdr->node_info[u].max_nrec + 1) *
hdr->node_info[u - 1].cum_max_nrec) + hdr->node_info[u].max_nrec;
u_max_nrec_size = H5VM_limit_enc_size((uint64_t)hdr->node_info[u].cum_max_nrec);
- H5_ASSIGN_OVERFLOW(/* To: */ hdr->node_info[u].cum_max_nrec_size, /* From: */ u_max_nrec_size, /* From: */ unsigned, /* To: */ uint8_t)
+ H5_CHECKED_ASSIGN(hdr->node_info[u].cum_max_nrec_size, uint8_t, u_max_nrec_size, unsigned)
if(NULL == (hdr->node_info[u].nat_rec_fac = H5FL_fac_init(hdr->cls->nrec_size * hdr->node_info[u].max_nrec)))
HGOTO_ERROR(H5E_BTREE, H5E_CANTINIT, FAIL, "can't create node native key block factory")
diff --git a/src/H5B2int.c b/src/H5B2int.c
index ef83e93..310aef1 100644
--- a/src/H5B2int.c
+++ b/src/H5B2int.c
@@ -382,13 +382,13 @@ H5B2_split_root(H5B2_hdr_t *hdr, hid_t dxpl_id)
/* Update node info for new depth of tree */
sz_max_nrec = H5B2_NUM_INT_REC(hdr, hdr->depth);
- H5_ASSIGN_OVERFLOW(/* To: */ hdr->node_info[hdr->depth].max_nrec, /* From: */ sz_max_nrec, /* From: */ size_t, /* To: */ unsigned)
+ H5_CHECKED_ASSIGN(hdr->node_info[hdr->depth].max_nrec, unsigned, sz_max_nrec, size_t)
hdr->node_info[hdr->depth].split_nrec = (hdr->node_info[hdr->depth].max_nrec * hdr->split_percent) / 100;
hdr->node_info[hdr->depth].merge_nrec = (hdr->node_info[hdr->depth].max_nrec * hdr->merge_percent) / 100;
hdr->node_info[hdr->depth].cum_max_nrec = ((hdr->node_info[hdr->depth].max_nrec + 1) *
hdr->node_info[hdr->depth - 1].cum_max_nrec) + hdr->node_info[hdr->depth].max_nrec;
u_max_nrec_size = H5VM_limit_enc_size((uint64_t)hdr->node_info[hdr->depth].cum_max_nrec);
- H5_ASSIGN_OVERFLOW(/* To: */ hdr->node_info[hdr->depth].cum_max_nrec_size, /* From: */ u_max_nrec_size, /* From: */ unsigned, /* To: */ uint8_t)
+ H5_CHECKED_ASSIGN(hdr->node_info[hdr->depth].cum_max_nrec_size, uint8_t, u_max_nrec_size, unsigned)
if(NULL == (hdr->node_info[hdr->depth].nat_rec_fac = H5FL_fac_init(hdr->cls->nrec_size * hdr->node_info[hdr->depth].max_nrec)))
HGOTO_ERROR(H5E_RESOURCE, H5E_CANTINIT, FAIL, "can't create node native key block factory")
if(NULL == (hdr->node_info[hdr->depth].node_ptr_fac = H5FL_fac_init(sizeof(H5B2_node_ptr_t) * (hdr->node_info[hdr->depth].max_nrec + 1))))
@@ -546,7 +546,7 @@ H5B2_redistribute2(H5B2_hdr_t *hdr, hid_t dxpl_id, unsigned depth,
/* Count the number of records being moved */
for(u = 0; u < move_nrec; u++)
moved_nrec += right_node_ptrs[u].all_nrec;
- H5_ASSIGN_OVERFLOW(/* To: */ left_moved_nrec, /* From: */ moved_nrec, /* From: */ hsize_t, /* To: */ hssize_t)
+ H5_CHECKED_ASSIGN(left_moved_nrec, hssize_t, moved_nrec, hsize_t)
right_moved_nrec -= (hssize_t)moved_nrec;
/* Copy node pointers from right node to left */
@@ -600,7 +600,7 @@ H5B2_redistribute2(H5B2_hdr_t *hdr, hid_t dxpl_id, unsigned depth,
for(u = 0; u < move_nrec; u++)
moved_nrec += right_node_ptrs[u].all_nrec;
left_moved_nrec -= (hssize_t)moved_nrec;
- H5_ASSIGN_OVERFLOW(/* To: */ right_moved_nrec, /* From: */ moved_nrec, /* From: */ hsize_t, /* To: */ hssize_t)
+ H5_CHECKED_ASSIGN(right_moved_nrec, hssize_t, moved_nrec, hsize_t)
} /* end if */
/* Update number of records in child nodes */
@@ -1848,7 +1848,7 @@ H5B2_protect_leaf(H5B2_hdr_t *hdr, hid_t dxpl_id, haddr_t addr, unsigned nrec,
/* Set up user data for callback */
udata.f = hdr->f;
udata.hdr = hdr;
- H5_ASSIGN_OVERFLOW(/* To: */ udata.nrec, /* From: */ nrec, /* From: */ unsigned, /* To: */ uint16_t)
+ H5_CHECKED_ASSIGN(udata.nrec, uint16_t, nrec, unsigned)
/* Protect the leaf node */
if(NULL == (ret_value = (H5B2_leaf_t *)H5AC_protect(hdr->f, dxpl_id, H5AC_BT2_LEAF, addr, &udata, rw)))
@@ -1968,8 +1968,8 @@ H5B2_protect_internal(H5B2_hdr_t *hdr, hid_t dxpl_id, haddr_t addr,
/* Set up user data for callback */
udata.f = hdr->f;
udata.hdr = hdr;
- H5_ASSIGN_OVERFLOW(/* To: */ udata.nrec, /* From: */ nrec, /* From: */ unsigned, /* To: */ uint16_t)
- H5_ASSIGN_OVERFLOW(/* To: */ udata.depth, /* From: */ depth, /* From: */ unsigned, /* To: */ uint16_t)
+ H5_CHECKED_ASSIGN(udata.nrec, uint16_t, nrec, unsigned)
+ H5_CHECKED_ASSIGN(udata.depth, uint16_t, depth, unsigned)
/* Protect the internal node */
if(NULL == (ret_value = (H5B2_internal_t *)H5AC_protect(hdr->f, dxpl_id, H5AC_BT2_INT, addr, &udata, rw)))
diff --git a/src/H5B2pkg.h b/src/H5B2pkg.h
index 7a538bd..3ea9534 100644
--- a/src/H5B2pkg.h
+++ b/src/H5B2pkg.h
@@ -337,7 +337,7 @@ H5_DLL herr_t H5B2_neighbor_leaf(H5B2_hdr_t *hdr, hid_t dxpl_id,
/* Routines for removing records */
H5_DLL herr_t H5B2_remove_internal(H5B2_hdr_t *hdr, hid_t dxpl_id,
hbool_t *depth_decreased, void *swap_loc, unsigned depth,
- H5AC_info_t *parent_cache_info, hbool_t * parent_cache_info_dirtied_ptr,
+ H5AC_info_t *parent_cache_info, unsigned *parent_cache_info_flags_ptr,
H5B2_nodepos_t curr_pos, H5B2_node_ptr_t *curr_node_ptr, void *udata,
H5B2_remove_t op, void *op_data);
H5_DLL herr_t H5B2_remove_leaf(H5B2_hdr_t *hdr, hid_t dxpl_id,
@@ -345,8 +345,8 @@ H5_DLL herr_t H5B2_remove_leaf(H5B2_hdr_t *hdr, hid_t dxpl_id,
void *udata, H5B2_remove_t op, void *op_data);
H5_DLL herr_t H5B2_remove_internal_by_idx(H5B2_hdr_t *hdr, hid_t dxpl_id,
hbool_t *depth_decreased, void *swap_loc, unsigned depth,
- H5AC_info_t *parent_cache_info, hbool_t * parent_cache_info_dirtied_ptr,
- H5B2_node_ptr_t *curr_node_ptr, H5B2_nodepos_t curr_pos, hsize_t idx,
+ H5AC_info_t *parent_cache_info, unsigned *parent_cache_info_flags_ptr,
+ H5B2_node_ptr_t *curr_node_ptr, H5B2_nodepos_t curr_pos, hsize_t n,
H5B2_remove_t op, void *op_data);
H5_DLL herr_t H5B2_remove_leaf_by_idx(H5B2_hdr_t *hdr, hid_t dxpl_id,
H5B2_node_ptr_t *curr_node_ptr, H5B2_nodepos_t curr_pos,
diff --git a/src/H5D.c b/src/H5D.c
index 0c585a4..971ba4f 100644
--- a/src/H5D.c
+++ b/src/H5D.c
@@ -338,6 +338,7 @@ H5Dopen2(hid_t loc_id, const char *name, hid_t dapl_id)
void *dset = NULL; /* dset token from VOL plugin */
H5VL_object_t *obj = NULL; /* object token of loc_id */
H5VL_loc_params_t loc_params;
+ hid_t dxpl_id = H5AC_ind_dxpl_id; /* dxpl to use to open datset */
hid_t ret_value;
FUNC_ENTER_API(FAIL)
@@ -363,7 +364,7 @@ H5Dopen2(hid_t loc_id, const char *name, hid_t dapl_id)
/* Create the dataset through the VOL */
if(NULL == (dset = H5VL_dataset_open(obj->vol_obj, loc_params, obj->vol_info->vol_cls, name,
- dapl_id, H5AC_dxpl_id, H5_REQUEST_NULL)))
+ dapl_id, dxpl_id, H5_REQUEST_NULL)))
HGOTO_ERROR(H5E_DATASET, H5E_CANTOPENOBJ, FAIL, "unable to open dataset")
/* Get an atom for the dataset */
@@ -372,7 +373,7 @@ H5Dopen2(hid_t loc_id, const char *name, hid_t dapl_id)
done:
if (ret_value < 0 && dset)
- if(H5VL_dataset_close (dset, obj->vol_info->vol_cls, H5AC_dxpl_id, H5_REQUEST_NULL) < 0)
+ if(H5VL_dataset_close (dset, obj->vol_info->vol_cls, dxpl_id, H5_REQUEST_NULL) < 0)
HDONE_ERROR(H5E_DATASET, H5E_CLOSEERROR, FAIL, "unable to release dataset")
FUNC_LEAVE_API(ret_value)
} /* end H5Dopen2() */
diff --git a/src/H5Dbtree.c b/src/H5Dbtree.c
index 35c2afa..4f6b988 100644
--- a/src/H5Dbtree.c
+++ b/src/H5Dbtree.c
@@ -74,8 +74,8 @@
* The chunk's file address is part of the B-tree and not part of the key.
*/
typedef struct H5D_btree_key_t {
- uint32_t nbytes; /*size of stored data */
hsize_t offset[H5O_LAYOUT_NDIMS]; /*logical offset to start*/
+ uint32_t nbytes; /*size of stored data */
unsigned filter_mask; /*excluded filters */
} H5D_btree_key_t;
@@ -255,7 +255,7 @@ H5D__btree_get_shared(const H5F_t UNUSED *f, const void *_udata)
*-------------------------------------------------------------------------
*/
static herr_t
-H5D__btree_new_node(H5F_t *f, hid_t dxpl_id, H5B_ins_t op,
+H5D__btree_new_node(H5F_t *f, hid_t UNUSED dxpl_id, H5B_ins_t op,
void *_lt_key, void *_udata, void *_rt_key,
haddr_t *addr_p/*out*/)
{
@@ -265,7 +265,7 @@ H5D__btree_new_node(H5F_t *f, hid_t dxpl_id, H5B_ins_t op,
unsigned u;
herr_t ret_value = SUCCEED; /* Return value */
- FUNC_ENTER_STATIC
+ FUNC_ENTER_STATIC_NOERR
/* check args */
HDassert(f);
@@ -275,18 +275,16 @@ H5D__btree_new_node(H5F_t *f, hid_t dxpl_id, H5B_ins_t op,
HDassert(udata->common.layout->ndims > 0 && udata->common.layout->ndims < H5O_LAYOUT_NDIMS);
HDassert(addr_p);
- /* Allocate new storage */
- HDassert(udata->nbytes > 0);
- H5_CHECK_OVERFLOW(udata->nbytes, uint32_t, hsize_t);
- if(HADDR_UNDEF == (*addr_p = H5MF_alloc(f, H5FD_MEM_DRAW, dxpl_id, (hsize_t)udata->nbytes)))
- HGOTO_ERROR(H5E_IO, H5E_CANTINIT, FAIL, "couldn't allocate new file storage")
- udata->addr = *addr_p;
+ /* Set address */
+ HDassert(H5F_addr_defined(udata->chunk_block.offset));
+ HDassert(udata->chunk_block.length > 0);
+ *addr_p = udata->chunk_block.offset;
/*
* The left key describes the storage of the UDATA chunk being
* inserted into the tree.
*/
- lt_key->nbytes = udata->nbytes;
+ H5_CHECKED_ASSIGN(lt_key->nbytes, uint32_t, udata->chunk_block.length, hsize_t);
lt_key->filter_mask = udata->filter_mask;
for(u = 0; u < udata->common.layout->ndims; u++)
lt_key->offset[u] = udata->common.offset[u];
@@ -305,7 +303,6 @@ H5D__btree_new_node(H5F_t *f, hid_t dxpl_id, H5B_ins_t op,
} /* end if */
} /* end if */
-done:
FUNC_LEAVE_NOAPI(ret_value)
} /* end H5D__btree_new_node() */
@@ -468,8 +465,8 @@ H5D__btree_found(H5F_t UNUSED *f, hid_t UNUSED dxpl_id, haddr_t addr, const void
/* Initialize return values */
HDassert(lt_key->nbytes > 0);
- udata->addr = addr;
- udata->nbytes = lt_key->nbytes;
+ udata->chunk_block.offset = addr;
+ udata->chunk_block.length = lt_key->nbytes;
udata->filter_mask = lt_key->filter_mask;
done:
@@ -507,7 +504,7 @@ done:
*/
/* ARGSUSED */
static H5B_ins_t
-H5D__btree_insert(H5F_t *f, hid_t dxpl_id, haddr_t addr, void *_lt_key,
+H5D__btree_insert(H5F_t *f, hid_t UNUSED dxpl_id, haddr_t addr, void *_lt_key,
hbool_t *lt_key_changed,
void *_md_key, void *_udata, void *_rt_key,
hbool_t UNUSED *rt_key_changed,
@@ -547,35 +544,17 @@ H5D__btree_insert(H5F_t *f, hid_t dxpl_id, haddr_t addr, void *_lt_key,
* Already exists. If the new size is not the same as the old size
* then we should reallocate storage.
*/
- if(lt_key->nbytes != udata->nbytes) {
-/* Currently, the old chunk data is "thrown away" after the space is reallocated,
- * so avoid data copy in H5MF_realloc() call by just free'ing the space and
- * allocating new space.
- *
- * This should keep the file smaller also, by freeing the space and then
- * allocating new space, instead of vice versa (in H5MF_realloc).
- *
- * QAK - 11/19/2002
- */
-#ifdef OLD_WAY
- if(HADDR_UNDEF == (*new_node_p = H5MF_realloc(f, H5FD_MEM_DRAW, addr,
- (hsize_t)lt_key->nbytes, (hsize_t)udata->nbytes)))
- HGOTO_ERROR(H5E_STORAGE, H5E_NOSPACE, H5B_INS_ERROR, "unable to reallocate chunk storage")
-#else /* OLD_WAY */
- H5_CHECK_OVERFLOW(lt_key->nbytes, uint32_t, hsize_t);
- if(H5MF_xfree(f, H5FD_MEM_DRAW, dxpl_id, addr, (hsize_t)lt_key->nbytes) < 0)
- HGOTO_ERROR(H5E_STORAGE, H5E_CANTFREE, H5B_INS_ERROR, "unable to free chunk")
- H5_CHECK_OVERFLOW(udata->nbytes, uint32_t, hsize_t);
- if(HADDR_UNDEF == (*new_node_p = H5MF_alloc(f, H5FD_MEM_DRAW, dxpl_id, (hsize_t)udata->nbytes)))
- HGOTO_ERROR(H5E_STORAGE, H5E_NOSPACE, H5B_INS_ERROR, "unable to reallocate chunk")
-#endif /* OLD_WAY */
- lt_key->nbytes = udata->nbytes;
+ if(lt_key->nbytes != udata->chunk_block.length) {
+ /* Set node's address (already re-allocated by main chunk routines) */
+ HDassert(H5F_addr_defined(udata->chunk_block.offset));
+ *new_node_p = udata->chunk_block.offset;
+ H5_CHECKED_ASSIGN(lt_key->nbytes, uint32_t, udata->chunk_block.length, hsize_t);
lt_key->filter_mask = udata->filter_mask;
*lt_key_changed = TRUE;
- udata->addr = *new_node_p;
ret_value = H5B_INS_CHANGE;
} else {
- udata->addr = addr;
+ /* Already have address in udata, from main chunk routines */
+ HDassert(H5F_addr_defined(udata->chunk_block.offset));
ret_value = H5B_INS_NOOP;
}
@@ -589,20 +568,15 @@ H5D__btree_insert(H5F_t *f, hid_t dxpl_id, haddr_t addr, void *_lt_key,
* Split this node, inserting the new new node to the right of the
* current node. The MD_KEY is where the split occurs.
*/
- md_key->nbytes = udata->nbytes;
+ H5_CHECKED_ASSIGN(md_key->nbytes, uint32_t, udata->chunk_block.length, hsize_t);
md_key->filter_mask = udata->filter_mask;
for(u = 0; u < udata->common.layout->ndims; u++) {
HDassert(0 == udata->common.offset[u] % udata->common.layout->dim[u]);
md_key->offset[u] = udata->common.offset[u];
} /* end for */
- /*
- * Allocate storage for the new chunk
- */
- H5_CHECK_OVERFLOW(udata->nbytes, uint32_t, hsize_t);
- if(HADDR_UNDEF == (*new_node_p = H5MF_alloc(f, H5FD_MEM_DRAW, dxpl_id, (hsize_t)udata->nbytes)))
- HGOTO_ERROR(H5E_STORAGE, H5E_NOSPACE, H5B_INS_ERROR, "file allocation failed")
- udata->addr = *new_node_p;
+ HDassert(H5F_addr_defined(udata->chunk_block.offset));
+ *new_node_p = udata->chunk_block.offset;
ret_value = H5B_INS_RIGHT;
} else {
@@ -926,8 +900,7 @@ H5D__btree_idx_is_space_alloc(const H5O_storage_chunk_t *storage)
/*-------------------------------------------------------------------------
* Function: H5D__btree_idx_insert
*
- * Purpose: Create the chunk it if it doesn't exist, or reallocate the
- * chunk if its size changed.
+ * Purpose: Insert chunk entry into the indexing structure.
*
* Return: Non-negative on success/Negative on failure
*
diff --git a/src/H5Dchunk.c b/src/H5Dchunk.c
index 9f2a020..d990804 100644
--- a/src/H5Dchunk.c
+++ b/src/H5Dchunk.c
@@ -17,7 +17,7 @@
* Thursday, April 24, 2008
*
* Purpose: Abstract indexed (chunked) I/O functions. The logical
- * multi-dimensional data space is regularly partitioned into
+ * multi-dimensional dataspace is regularly partitioned into
* same-sized "chunks", the first of which is aligned with the
* logical origin. The chunks are indexed by different methods,
* that map a chunk index to disk address. Each chunk can be
@@ -59,6 +59,7 @@
#include "H5FLprivate.h" /* Free Lists */
#include "H5Iprivate.h" /* IDs */
#include "H5MMprivate.h" /* Memory management */
+#include "H5MFprivate.h" /* File memory management */
#include "H5VMprivate.h" /* Vector and array functions */
@@ -201,7 +202,6 @@ static herr_t H5D__chunk_write(H5D_io_info_t *io_info, const H5D_type_info_t *ty
H5D_chunk_map_t *fm);
static herr_t H5D__chunk_flush(H5D_t *dset, hid_t dxpl_id);
static herr_t H5D__chunk_io_term(const H5D_chunk_map_t *fm);
-static herr_t H5D__chunk_cinfo_cache_reset(H5D_chunk_cached_t *last);
/* "Nonexistent" layout operation callback */
static ssize_t
@@ -212,10 +212,11 @@ H5D__nonexistent_readvv(const H5D_io_info_t *io_info,
/* Helper routines */
static herr_t H5D__chunk_set_info_real(H5O_layout_chunk_t *layout, unsigned ndims,
const hsize_t *curr_dims);
-static void *H5D__chunk_alloc(size_t size, const H5O_pline_t *pline);
-static void *H5D__chunk_xfree(void *chk, const H5O_pline_t *pline);
-static void *H5D__chunk_realloc(void *chk, size_t size,
+static void *H5D__chunk_mem_alloc(size_t size, const H5O_pline_t *pline);
+static void *H5D__chunk_mem_xfree(void *chk, const H5O_pline_t *pline);
+static void *H5D__chunk_mem_realloc(void *chk, size_t size,
const H5O_pline_t *pline);
+static herr_t H5D__chunk_cinfo_cache_reset(H5D_chunk_cached_t *last);
static herr_t H5D__chunk_cinfo_cache_update(H5D_chunk_cached_t *last,
const H5D_chunk_ud_t *udata);
static hbool_t H5D__chunk_cinfo_cache_found(const H5D_chunk_cached_t *last,
@@ -237,6 +238,8 @@ static herr_t H5D__chunk_cache_evict(const H5D_t *dset, hid_t dxpl_id,
static herr_t H5D__chunk_cache_prune(const H5D_t *dset, hid_t dxpl_id,
const H5D_dxpl_cache_t *dxpl_cache, size_t size);
static herr_t H5D__chunk_prune_fill(H5D_chunk_it_ud1_t *udata);
+static herr_t H5D__chunk_file_alloc(const H5D_chk_idx_info_t *idx_info,
+ const H5F_block_t *old_chunk, H5F_block_t *new_chunk, hbool_t *need_insert);
#ifdef H5_HAVE_PARALLEL
static herr_t H5D__chunk_collective_fill(const H5D_t *dset, hid_t dxpl_id,
H5D_chunk_coll_info_t *chunk_info, size_t chunk_size, const void *fill_buf);
@@ -319,78 +322,88 @@ H5D__chunk_direct_write(const H5D_t *dset, hid_t dxpl_id, uint32_t filters, hsiz
{
const H5O_layout_t *layout = &(dset->shared->layout); /* Dataset layout */
H5D_chunk_ud_t udata; /* User data for querying chunk info */
- hsize_t chunk_idx;
- H5D_dxpl_cache_t _dxpl_cache; /* Data transfer property cache buffer */
- H5D_dxpl_cache_t *dxpl_cache = &_dxpl_cache; /* Data transfer property cache */
- const H5D_rdcc_t *rdcc = &(dset->shared->cache.chunk); /*raw data chunk cache */
- int space_ndims; /* Dataset's space rank */
- hsize_t space_dim[H5O_LAYOUT_NDIMS]; /* Dataset's dataspace dimensions */
+ hsize_t chunk_idx; /* Global index of chunk */
+ H5F_block_t old_chunk; /* Offset/length of old chunk */
+ H5D_chk_idx_info_t idx_info; /* Chunked index info */
+ hbool_t need_insert = FALSE; /* Whether the chunk needs to be inserted into the index */
herr_t ret_value = SUCCEED; /* Return value */
FUNC_ENTER_STATIC_TAG(dxpl_id, dset->oloc.addr, FAIL)
- /* Allocate data space and initialize it if it hasn't been. */
- if(!(*dset->shared->layout.ops->is_space_alloc)(&dset->shared->layout.storage))
+ /* Allocate dataspace and initialize it if it hasn't been. */
+ if(!(*layout->ops->is_space_alloc)(&layout->storage))
/* Allocate storage */
if(H5D__alloc_storage(dset, dxpl_id, H5D_ALLOC_WRITE, FALSE, NULL) < 0)
HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to initialize storage")
- /* Retrieve the dataset dimensions */
- if((space_ndims = H5S_get_simple_extent_dims(dset->shared->space, space_dim, NULL)) < 0)
- HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to get simple dataspace info")
-
/* Calculate the index of this chunk */
- if(H5VM_chunk_index((unsigned)space_ndims, offset,
- layout->u.chunk.dim, layout->u.chunk.down_chunks, &chunk_idx) < 0)
- HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "can't get chunk index")
+ chunk_idx = H5VM_chunk_index(dset->shared->ndims, offset, layout->u.chunk.dim, layout->u.chunk.down_chunks);
- /* Find out the file address of the chunk */
+ /* Find out the file address of the chunk (if any) */
if(H5D__chunk_lookup(dset, dxpl_id, offset, chunk_idx, &udata) < 0)
HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "error looking up chunk address")
- udata.filter_mask = filters;
+ /* Sanity check */
+ HDassert((H5F_addr_defined(udata.chunk_block.offset) && udata.chunk_block.length > 0) ||
+ (!H5F_addr_defined(udata.chunk_block.offset) && udata.chunk_block.length == 0));
+
+ /* Set the file block information for the old chunk */
+ /* (Which is only defined when overwriting an existing chunk) */
+ old_chunk.offset = udata.chunk_block.offset;
+ old_chunk.length = udata.chunk_block.length;
- /* Check if the chunk needs to be 'inserted' (could exist already and
- * the 'insert' operation could resize it)
+ /* Check if the chunk needs to be inserted (it also could exist already
+ * and the chunk allocate operation could resize it)
*/
- {
- H5D_chk_idx_info_t idx_info; /* Chunked index info */
-
- /* Compose chunked index info struct */
- idx_info.f = dset->oloc.file;
- idx_info.dxpl_id = dxpl_id;
- idx_info.pline = &(dset->shared->dcpl_cache.pline);
- idx_info.layout = &(dset->shared->layout.u.chunk);
- idx_info.storage = &(dset->shared->layout.storage.u.chunk);
- /* Set up the size of chunk for user data */
- udata.nbytes = data_size;
+ /* Compose chunked index info struct */
+ idx_info.f = dset->oloc.file;
+ idx_info.dxpl_id = dxpl_id;
+ idx_info.pline = &(dset->shared->dcpl_cache.pline);
+ idx_info.layout = &(dset->shared->layout.u.chunk);
+ idx_info.storage = &(dset->shared->layout.storage.u.chunk);
- /* Create the chunk it if it doesn't exist, or reallocate the chunk
- * if its size changed.
- */
- if((dset->shared->layout.storage.u.chunk.ops->insert)(&idx_info, &udata) < 0)
- HGOTO_ERROR(H5E_DATASET, H5E_CANTINSERT, FAIL, "unable to insert/resize chunk")
+ /* Set up the size of chunk for user data */
+ udata.chunk_block.length = data_size;
- /* Make sure the address of the chunk is returned. */
- if(!H5F_addr_defined(udata.addr))
- HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "chunk address isn't defined")
- } /* end if */
+ /* Create the chunk it if it doesn't exist, or reallocate the chunk
+ * if its size changed.
+ */
+ if(H5D__chunk_file_alloc(&idx_info, &old_chunk, &udata.chunk_block, &need_insert) < 0)
+ HGOTO_ERROR(H5E_DATASET, H5E_CANTALLOC, FAIL, "unable to allocate chunk")
- /* Fill the DXPL cache values for later use */
- if(H5D__get_dxpl_cache(dxpl_id, &dxpl_cache) < 0)
- HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't fill dxpl cache")
+ /* Make sure the address of the chunk is returned. */
+ if(!H5F_addr_defined(udata.chunk_block.offset))
+ HGOTO_ERROR(H5E_DATASET, H5E_BADVALUE, FAIL, "chunk address isn't defined")
- /* Evict the entry from the cache if present, but do not flush
+ /* Evict the (old) entry from the cache if present, but do not flush
* it to disk */
- if(UINT_MAX != udata.idx_hint)
+ if(UINT_MAX != udata.idx_hint) {
+ H5D_dxpl_cache_t _dxpl_cache; /* Data transfer property cache buffer */
+ H5D_dxpl_cache_t *dxpl_cache = &_dxpl_cache; /* Data transfer property cache */
+ const H5D_rdcc_t *rdcc = &(dset->shared->cache.chunk); /*raw data chunk cache */
+
+ /* Fill the DXPL cache values for later use */
+ if(H5D__get_dxpl_cache(dxpl_id, &dxpl_cache) < 0)
+ HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't fill dxpl cache")
+
if(H5D__chunk_cache_evict(dset, dxpl_id, dxpl_cache, rdcc->slot[udata.idx_hint], FALSE) < 0)
HGOTO_ERROR(H5E_DATASET, H5E_CANTREMOVE, FAIL, "unable to evict chunk")
+ } /* end if */
/* Write the data to the file */
- if(H5F_block_write(dset->oloc.file, H5FD_MEM_DRAW, udata.addr, data_size, dxpl_id, buf) < 0)
+ if(H5F_block_write(dset->oloc.file, H5FD_MEM_DRAW, udata.chunk_block.offset, data_size, dxpl_id, buf) < 0)
HGOTO_ERROR(H5E_DATASET, H5E_WRITEERROR, FAIL, "unable to write raw data to file")
+ /* Insert the chunk record into the index */
+ if(need_insert && layout->storage.u.chunk.ops->insert) {
+ /* Set the chunk's filter mask to the new settings */
+ udata.filter_mask = filters;
+
+ if((layout->storage.u.chunk.ops->insert)(&idx_info, &udata) < 0)
+ HGOTO_ERROR(H5E_DATASET, H5E_CANTINSERT, FAIL, "unable to insert chunk addr into index")
+ } /* end if */
+
done:
FUNC_LEAVE_NOAPI_TAG(ret_value, FAIL)
} /* end H5D__chunk_direct_write() */
@@ -454,23 +467,15 @@ done:
herr_t
H5D__chunk_set_info(const H5D_t *dset)
{
- hsize_t curr_dims[H5O_LAYOUT_NDIMS]; /* Curr. size of dataset dimensions */
- int sndims; /* Rank of dataspace */
- unsigned ndims; /* Rank of dataspace */
- herr_t ret_value = SUCCEED; /* Return value */
+ herr_t ret_value = SUCCEED; /* Return value */
FUNC_ENTER_PACKAGE
/* Sanity checks */
HDassert(dset);
- /* Get the dim info for dataset */
- if((sndims = H5S_get_simple_extent_dims(dset->shared->space, curr_dims, NULL)) < 0)
- HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't get dataspace dimensions")
- H5_ASSIGN_OVERFLOW(ndims, sndims, int, unsigned);
-
/* Set the base layout information */
- if(H5D__chunk_set_info_real(&dset->shared->layout.u.chunk, ndims, curr_dims) < 0)
+ if(H5D__chunk_set_info_real(&dset->shared->layout.u.chunk, dset->shared->ndims, dset->shared->curr_dims) < 0)
HGOTO_ERROR(H5E_DATASET, H5E_CANTSET, FAIL, "can't set layout's chunk info")
/* Call the index's "resize" callback */
@@ -498,10 +503,7 @@ static herr_t
H5D__chunk_construct(H5F_t UNUSED *f, H5D_t *dset)
{
const H5T_t *type = dset->shared->type; /* Convenience pointer to dataset's datatype */
- hsize_t max_dims[H5O_LAYOUT_NDIMS]; /* Maximum size of data in elements */
- hsize_t dims[H5O_LAYOUT_NDIMS]; /* Dimension size of data in elements */
uint64_t chunk_size; /* Size of chunk in bytes */
- int ndims; /* Rank of dataspace */
unsigned u; /* Local index variable */
herr_t ret_value = SUCCEED; /* Return value */
@@ -516,9 +518,7 @@ H5D__chunk_construct(H5F_t UNUSED *f, H5D_t *dset)
HGOTO_ERROR(H5E_DATASET, H5E_BADVALUE, FAIL, "no chunk information set?")
/* Set up layout information */
- if((ndims = H5S_GET_EXTENT_NDIMS(dset->shared->space)) < 0)
- HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "unable to get rank")
- if(dset->shared->layout.u.chunk.ndims != (unsigned)ndims)
+ if(dset->shared->layout.u.chunk.ndims != dset->shared->ndims)
HGOTO_ERROR(H5E_DATASET, H5E_BADVALUE, FAIL, "dimensionality of chunks doesn't match the dataspace")
/* Increment # of chunk dimensions, to account for datatype size as last element */
@@ -532,10 +532,6 @@ H5D__chunk_construct(H5F_t UNUSED *f, H5D_t *dset)
/* Set the last dimension of the chunk size to the size of the datatype */
dset->shared->layout.u.chunk.dim[dset->shared->layout.u.chunk.ndims - 1] = (uint32_t)H5T_GET_SIZE(type);
- /* Get local copy of dataset dimensions (for sanity checking) */
- if(H5S_get_simple_extent_dims(dset->shared->space, dims, max_dims) < 0)
- HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to query maximum dimensions")
-
/* Sanity check dimensions */
for(u = 0; u < dset->shared->layout.u.chunk.ndims - 1; u++) {
/* Don't allow zero-sized chunk dimensions */
@@ -547,7 +543,7 @@ H5D__chunk_construct(H5F_t UNUSED *f, H5D_t *dset)
* the maximum dimension size. If any dimension size is zero, there
* will be no such restriction.
*/
- if(dims[u] && max_dims[u] != H5S_UNLIMITED && max_dims[u] < dset->shared->layout.u.chunk.dim[u])
+ if(dset->shared->curr_dims[u] && dset->shared->max_dims[u] != H5S_UNLIMITED && dset->shared->max_dims[u] < dset->shared->layout.u.chunk.dim[u])
HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "chunk size must be <= maximum dimension size for fixed-sized dimensions")
} /* end for */
@@ -562,7 +558,7 @@ H5D__chunk_construct(H5F_t UNUSED *f, H5D_t *dset)
HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "chunk size must be < 4GB")
/* Retain computed chunk size */
- H5_ASSIGN_OVERFLOW(dset->shared->layout.u.chunk.size, chunk_size, uint64_t, uint32_t);
+ H5_CHECKED_ASSIGN(dset->shared->layout.u.chunk.size, uint32_t, chunk_size, uint64_t);
/* Reset address and pointer of the array struct for the chunked storage index */
if(H5D_chunk_idx_reset(&dset->shared->layout.storage.u.chunk, TRUE) < 0)
@@ -601,21 +597,21 @@ H5D__chunk_init(H5F_t *f, hid_t dxpl_id, const H5D_t *dset, hid_t dapl_id)
HDassert(dset);
if(NULL == (dapl = (H5P_genplist_t *)H5I_object(dapl_id)))
- HGOTO_ERROR(H5E_ATOM, H5E_BADATOM, FAIL, "can't find object for fapl ID");
+ HGOTO_ERROR(H5E_ATOM, H5E_BADATOM, FAIL, "can't find object for fapl ID")
/* Use the properties in dapl_id if they have been set, otherwise use the properties from the file */
if(H5P_get(dapl, H5D_ACS_DATA_CACHE_NUM_SLOTS_NAME, &rdcc->nslots) < 0)
- HGOTO_ERROR(H5E_PLIST, H5E_CANTGET,FAIL, "can't get data cache number of slots");
+ HGOTO_ERROR(H5E_PLIST, H5E_CANTGET,FAIL, "can't get data cache number of slots")
if(rdcc->nslots == H5D_CHUNK_CACHE_NSLOTS_DEFAULT)
rdcc->nslots = H5F_RDCC_NSLOTS(f);
if(H5P_get(dapl, H5D_ACS_DATA_CACHE_BYTE_SIZE_NAME, &rdcc->nbytes_max) < 0)
- HGOTO_ERROR(H5E_PLIST, H5E_CANTGET,FAIL, "can't get data cache byte size");
+ HGOTO_ERROR(H5E_PLIST, H5E_CANTGET,FAIL, "can't get data cache byte size")
if(rdcc->nbytes_max == H5D_CHUNK_CACHE_NBYTES_DEFAULT)
rdcc->nbytes_max = H5F_RDCC_NBYTES(f);
if(H5P_get(dapl, H5D_ACS_PREEMPT_READ_CHUNKS_NAME, &rdcc->w0) < 0)
- HGOTO_ERROR(H5E_PLIST, H5E_CANTGET,FAIL, "can't get preempt read chunks");
+ HGOTO_ERROR(H5E_PLIST, H5E_CANTGET,FAIL, "can't get preempt read chunks")
if(rdcc->w0 < 0)
rdcc->w0 = H5F_RDCC_W0(f);
@@ -722,12 +718,10 @@ H5D__chunk_io_init(const H5D_io_info_t *io_info, const H5D_type_info_t *type_inf
if((sm_ndims = H5S_GET_EXTENT_NDIMS(mem_space)) < 0)
HGOTO_ERROR(H5E_DATASPACE, H5E_CANTGET, FAIL, "unable to get dimension number")
/* Set the number of dimensions for the memory dataspace */
- H5_ASSIGN_OVERFLOW(fm->m_ndims, sm_ndims, int, unsigned);
+ H5_CHECKED_ASSIGN(fm->m_ndims, unsigned, sm_ndims, int);
- /* Get dim number and dimensionality for each dataspace */
+ /* Get rank for file dataspace */
fm->f_ndims = f_ndims = dataset->shared->layout.u.chunk.ndims - 1;
- if(H5S_get_simple_extent_dims(file_space, fm->f_dims, NULL) < 0)
- HGOTO_ERROR(H5E_DATASPACE, H5E_CANTGET, FAIL, "unable to get dimensionality")
/* Normalize hyperslab selections by adjusting them by the offset */
/* (It might be worthwhile to normalize both the file and memory dataspaces
@@ -974,7 +968,7 @@ done:
/*-------------------------------------------------------------------------
- * Function: H5D__chunk_alloc
+ * Function: H5D__chunk_mem_alloc
*
* Purpose: Allocate space for a chunk in memory. This routine allocates
* memory space for non-filtered chunks from a block free list
@@ -988,7 +982,7 @@ done:
*-------------------------------------------------------------------------
*/
static void *
-H5D__chunk_alloc(size_t size, const H5O_pline_t *pline)
+H5D__chunk_mem_alloc(size_t size, const H5O_pline_t *pline)
{
void *ret_value = NULL; /* Return value */
@@ -1003,11 +997,11 @@ H5D__chunk_alloc(size_t size, const H5O_pline_t *pline)
ret_value = H5FL_BLK_MALLOC(chunk, size);
FUNC_LEAVE_NOAPI(ret_value)
-} /* H5D__chunk_alloc() */
+} /* H5D__chunk_mem_alloc() */
/*-------------------------------------------------------------------------
- * Function: H5D__chunk_xfree
+ * Function: H5D__chunk_mem_xfree
*
* Purpose: Free space for a chunk in memory. This routine allocates
* memory space for non-filtered chunks from a block free list
@@ -1021,7 +1015,7 @@ H5D__chunk_alloc(size_t size, const H5O_pline_t *pline)
*-------------------------------------------------------------------------
*/
static void *
-H5D__chunk_xfree(void *chk, const H5O_pline_t *pline)
+H5D__chunk_mem_xfree(void *chk, const H5O_pline_t *pline)
{
FUNC_ENTER_STATIC_NOERR
@@ -1035,11 +1029,11 @@ H5D__chunk_xfree(void *chk, const H5O_pline_t *pline)
} /* end if */
FUNC_LEAVE_NOAPI(NULL)
-} /* H5D__chunk_xfree() */
+} /* H5D__chunk_mem_xfree() */
/*-------------------------------------------------------------------------
- * Function: H5D__chunk_realloc
+ * Function: H5D__chunk_mem_realloc
*
* Purpose: Reallocate space for a chunk in memory. This routine allocates
* memory space for non-filtered chunks from a block free list
@@ -1053,7 +1047,7 @@ H5D__chunk_xfree(void *chk, const H5O_pline_t *pline)
*-------------------------------------------------------------------------
*/
static void *
-H5D__chunk_realloc(void *chk, size_t size, const H5O_pline_t *pline)
+H5D__chunk_mem_realloc(void *chk, size_t size, const H5O_pline_t *pline)
{
void *ret_value = NULL; /* Return value */
@@ -1068,7 +1062,7 @@ H5D__chunk_realloc(void *chk, size_t size, const H5O_pline_t *pline)
ret_value = H5FL_BLK_REALLOC(chunk, chk, size);
FUNC_LEAVE_NOAPI(ret_value)
-} /* H5D__chunk_realloc() */
+} /* H5D__chunk_mem_realloc() */
/*--------------------------------------------------------------------------
@@ -1160,8 +1154,7 @@ H5D__create_chunk_map_single(H5D_chunk_map_t *fm, const H5D_io_info_t
chunk_info->coords[fm->f_ndims] = 0;
/* Calculate the index of this chunk */
- if(H5VM_chunk_index(fm->f_ndims, chunk_info->coords, fm->layout->u.chunk.dim, fm->layout->u.chunk.down_chunks, &chunk_info->index) < 0)
- HGOTO_ERROR(H5E_DATASPACE, H5E_BADRANGE, FAIL, "can't get chunk index")
+ chunk_info->index = H5VM_chunk_index(fm->f_ndims, chunk_info->coords, fm->layout->u.chunk.dim, fm->layout->u.chunk.down_chunks);
/* Copy selection for file's dataspace into chunk dataspace */
if(H5S_select_copy(fm->single_space, fm->file_space, FALSE) < 0)
@@ -1219,7 +1212,7 @@ H5D__create_chunk_file_map_hyper(H5D_chunk_map_t *fm, const H5D_io_info_t
hsize_t sel_points; /* Number of elements in file selection */
hsize_t start_coords[H5O_LAYOUT_NDIMS]; /* Starting coordinates of selection */
hsize_t coords[H5O_LAYOUT_NDIMS]; /* Current coordinates of chunk */
- hsize_t end[H5O_LAYOUT_NDIMS]; /* Current coordinates of chunk */
+ hsize_t end[H5O_LAYOUT_NDIMS]; /* Final coordinates of chunk */
hsize_t chunk_index; /* Index of chunk */
int curr_dim; /* Current dimension to increment */
unsigned u; /* Local index variable */
@@ -1245,8 +1238,7 @@ H5D__create_chunk_file_map_hyper(H5D_chunk_map_t *fm, const H5D_io_info_t
} /* end for */
/* Calculate the index of this chunk */
- if(H5VM_chunk_index(fm->f_ndims, coords, fm->layout->u.chunk.dim, fm->layout->u.chunk.down_chunks, &chunk_index) < 0)
- HGOTO_ERROR(H5E_DATASPACE, H5E_BADRANGE, FAIL, "can't get chunk index")
+ chunk_index = H5VM_chunk_index(fm->f_ndims, coords, fm->layout->u.chunk.dim, fm->layout->u.chunk.down_chunks);
/* Iterate through each chunk in the dataset */
while(sel_points) {
@@ -1325,7 +1317,7 @@ H5D__create_chunk_file_map_hyper(H5D_chunk_map_t *fm, const H5D_io_info_t
/* Get number of elements selected in chunk */
if((schunk_points = H5S_GET_SELECT_NPOINTS(tmp_fchunk)) < 0)
HGOTO_ERROR(H5E_DATASPACE, H5E_CANTGET, FAIL, "can't get file selection # of elements")
- H5_ASSIGN_OVERFLOW(new_chunk_info->chunk_points, schunk_points, hssize_t, uint32_t);
+ H5_CHECKED_ASSIGN(new_chunk_info->chunk_points, uint32_t, schunk_points, hssize_t);
/* Decrement # of points left in file selection */
sel_points -= (hsize_t)schunk_points;
@@ -1362,8 +1354,7 @@ H5D__create_chunk_file_map_hyper(H5D_chunk_map_t *fm, const H5D_io_info_t
} while(coords[curr_dim] > sel_end[curr_dim]);
/* Re-calculate the index of this chunk */
- if(H5VM_chunk_index(fm->f_ndims, coords, fm->layout->u.chunk.dim, fm->layout->u.chunk.down_chunks, &chunk_index) < 0)
- HGOTO_ERROR(H5E_DATASPACE, H5E_BADRANGE, FAIL, "can't get chunk index")
+ chunk_index = H5VM_chunk_index(fm->f_ndims, coords, fm->layout->u.chunk.dim, fm->layout->u.chunk.down_chunks);
} /* end if */
} /* end while */
@@ -1505,14 +1496,14 @@ H5D__chunk_file_cb(void UNUSED *elem, hid_t UNUSED type_id, unsigned ndims, cons
H5D_chunk_info_t *chunk_info; /* Chunk information for current chunk */
hsize_t coords_in_chunk[H5O_LAYOUT_NDIMS]; /* Coordinates of element in chunk */
hsize_t chunk_index; /* Chunk index */
+ hsize_t scaled[H5S_MAX_RANK]; /* Scaled coordinates for this chunk */
unsigned u; /* Local index variable */
herr_t ret_value = SUCCEED; /* Return value */
FUNC_ENTER_STATIC
/* Calculate the index of this chunk */
- if(H5VM_chunk_index(ndims, coords, fm->layout->u.chunk.dim, fm->layout->u.chunk.down_chunks, &chunk_index) < 0)
- HGOTO_ERROR(H5E_DATASPACE, H5E_BADRANGE, FAIL, "can't get chunk index")
+ chunk_index = H5VM_chunk_index_scaled(ndims, coords, fm->layout->u.chunk.dim, fm->layout->u.chunk.down_chunks, scaled);
/* Find correct chunk in file & memory skip list */
if(chunk_index==fm->last_index) {
@@ -1565,7 +1556,7 @@ H5D__chunk_file_cb(void UNUSED *elem, hid_t UNUSED type_id, unsigned ndims, cons
/* Compute the chunk's coordinates */
for(u = 0; u < fm->f_ndims; u++) {
H5_CHECK_OVERFLOW(fm->layout->u.chunk.dim[u], hsize_t, hssize_t);
- chunk_info->coords[u] = (coords[u] / (hssize_t)fm->layout->u.chunk.dim[u]) * (hssize_t)fm->layout->u.chunk.dim[u];
+ chunk_info->coords[u] = scaled[u] * (hssize_t)fm->layout->u.chunk.dim[u];
} /* end for */
chunk_info->coords[fm->f_ndims] = 0;
@@ -1629,8 +1620,7 @@ H5D__chunk_mem_cb(void UNUSED *elem, hid_t UNUSED type_id, unsigned ndims, const
FUNC_ENTER_STATIC
/* Calculate the index of this chunk */
- if(H5VM_chunk_index(ndims, coords, fm->layout->u.chunk.dim, fm->layout->u.chunk.down_chunks, &chunk_index) < 0)
- HGOTO_ERROR(H5E_DATASPACE, H5E_BADRANGE, FAIL, "can't get chunk index")
+ chunk_index = H5VM_chunk_index(ndims, coords, fm->layout->u.chunk.dim, fm->layout->u.chunk.down_chunks);
/* Find correct chunk in file & memory skip list */
if(chunk_index == fm->last_index) {
@@ -1803,7 +1793,7 @@ H5D__chunk_read(H5D_io_info_t *io_info, const H5D_type_info_t *type_info,
ctg_io_info.layout_ops = *H5D_LOPS_CONTIG;
/* Initialize temporary contiguous storage info */
- H5_ASSIGN_OVERFLOW(ctg_store.contig.dset_size, io_info->dset->shared->layout.u.chunk.size, uint32_t, hsize_t);
+ H5_CHECKED_ASSIGN(ctg_store.contig.dset_size, hsize_t, io_info->dset->shared->layout.u.chunk.size, uint32_t);
/* Set up compact I/O info object */
HDmemcpy(&cpt_io_info, io_info, sizeof(cpt_io_info));
@@ -1835,10 +1825,7 @@ H5D__chunk_read(H5D_io_info_t *io_info, const H5D_type_info_t *type_info,
chunk_node = H5D_CHUNK_GET_FIRST_NODE(fm);
while(chunk_node) {
H5D_chunk_info_t *chunk_info; /* Chunk information */
- H5D_io_info_t *chk_io_info; /* Pointer to I/O info object for this chunk */
- void *chunk; /* Pointer to locked chunk buffer */
- H5D_chunk_ud_t udata; /* B-tree pass-through */
- htri_t cacheable; /* Whether the chunk is cacheable */
+ H5D_chunk_ud_t udata; /* Chunk index pass-through */
/* Get the actual chunk information from the skip list node */
chunk_info = H5D_CHUNK_GET_NODE_INFO(fm, chunk_node);
@@ -1847,11 +1834,19 @@ H5D__chunk_read(H5D_io_info_t *io_info, const H5D_type_info_t *type_info,
if(H5D__chunk_lookup(io_info->dset, io_info->dxpl_id, chunk_info->coords, chunk_info->index, &udata) < 0)
HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "error looking up chunk address")
+ /* Sanity check */
+ HDassert((H5F_addr_defined(udata.chunk_block.offset) && udata.chunk_block.length > 0) ||
+ (!H5F_addr_defined(udata.chunk_block.offset) && udata.chunk_block.length == 0));
+
/* Check for non-existant chunk & skip it if appropriate */
- if(H5F_addr_defined(udata.addr) || UINT_MAX != udata.idx_hint
+ if(H5F_addr_defined(udata.chunk_block.offset) || UINT_MAX != udata.idx_hint
|| !skip_missing_chunks) {
- /* Load the chunk into cache and lock it. */
- if((cacheable = H5D__chunk_cacheable(io_info, udata.addr, FALSE)) < 0)
+ H5D_io_info_t *chk_io_info; /* Pointer to I/O info object for this chunk */
+ void *chunk = NULL; /* Pointer to locked chunk buffer */
+ htri_t cacheable; /* Whether the chunk is cacheable */
+
+ /* Determine if we should use the chunk cache */
+ if((cacheable = H5D__chunk_cacheable(io_info, udata.chunk_block.offset, FALSE)) < 0)
HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't tell if chunk is cacheable")
if(cacheable) {
/* Pass in chunk's coordinates in a union. */
@@ -1872,20 +1867,14 @@ H5D__chunk_read(H5D_io_info_t *io_info, const H5D_type_info_t *type_info,
/* Point I/O info at contiguous I/O info for this chunk */
chk_io_info = &cpt_io_info;
} /* end if */
- else if(H5F_addr_defined(udata.addr)) {
+ else if(H5F_addr_defined(udata.chunk_block.offset)) {
/* Set up the storage address information for this chunk */
- ctg_store.contig.dset_addr = udata.addr;
-
- /* No chunk cached */
- chunk = NULL;
+ ctg_store.contig.dset_addr = udata.chunk_block.offset;
/* Point I/O info at temporary I/O info for this chunk */
chk_io_info = &ctg_io_info;
} /* end else if */
else {
- /* No chunk cached */
- chunk = NULL;
-
/* Point I/O info at "nonexistent" I/O info for this chunk */
chk_io_info = &nonexistent_io_info;
} /* end else */
@@ -1949,7 +1938,7 @@ H5D__chunk_write(H5D_io_info_t *io_info, const H5D_type_info_t *type_info,
ctg_io_info.layout_ops = *H5D_LOPS_CONTIG;
/* Initialize temporary contiguous storage info */
- H5_ASSIGN_OVERFLOW(ctg_store.contig.dset_size, io_info->dset->shared->layout.u.chunk.size, uint32_t, hsize_t);
+ H5_CHECKED_ASSIGN(ctg_store.contig.dset_size, hsize_t, io_info->dset->shared->layout.u.chunk.size, uint32_t);
/* Set up compact I/O info object */
HDmemcpy(&cpt_io_info, io_info, sizeof(cpt_io_info));
@@ -1963,21 +1952,30 @@ H5D__chunk_write(H5D_io_info_t *io_info, const H5D_type_info_t *type_info,
chunk_node = H5D_CHUNK_GET_FIRST_NODE(fm);
while(chunk_node) {
H5D_chunk_info_t *chunk_info; /* Chunk information */
+ H5D_chk_idx_info_t idx_info; /* Chunked index info */
H5D_io_info_t *chk_io_info; /* Pointer to I/O info object for this chunk */
void *chunk; /* Pointer to locked chunk buffer */
H5D_chunk_ud_t udata; /* Index pass-through */
htri_t cacheable; /* Whether the chunk is cacheable */
+ hbool_t need_insert = FALSE; /* Whether the chunk needs to be inserted into the index */
/* Get the actual chunk information from the skip list node */
chunk_info = H5D_CHUNK_GET_NODE_INFO(fm, chunk_node);
- /* Load the chunk into cache. But if the whole chunk is written,
- * simply allocate space instead of load the chunk. */
+ /* Look up the chunk */
if(H5D__chunk_lookup(io_info->dset, io_info->dxpl_id, chunk_info->coords, chunk_info->index, &udata) < 0)
HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "error looking up chunk address")
- if((cacheable = H5D__chunk_cacheable(io_info, udata.addr, TRUE)) < 0)
+
+ /* Sanity check */
+ HDassert((H5F_addr_defined(udata.chunk_block.offset) && udata.chunk_block.length > 0) ||
+ (!H5F_addr_defined(udata.chunk_block.offset) && udata.chunk_block.length == 0));
+
+ /* Determine if we should use the chunk cache */
+ if((cacheable = H5D__chunk_cacheable(io_info, udata.chunk_block.offset, TRUE)) < 0)
HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't tell if chunk is cacheable")
if(cacheable) {
+ /* Load the chunk into cache. But if the whole chunk is written,
+ * simply allocate space instead of load the chunk. */
hbool_t entire_chunk = TRUE; /* Whether whole chunk is selected */
/* Pass in chunk's coordinates in a union. */
@@ -2005,9 +2003,7 @@ H5D__chunk_write(H5D_io_info_t *io_info, const H5D_type_info_t *type_info,
} /* end if */
else {
/* If the chunk hasn't been allocated on disk, do so now. */
- if(!H5F_addr_defined(udata.addr)) {
- H5D_chk_idx_info_t idx_info; /* Chunked index info */
-
+ if(!H5F_addr_defined(udata.chunk_block.offset)) {
/* Compose chunked index info struct */
idx_info.f = io_info->dset->oloc.file;
idx_info.dxpl_id = io_info->dxpl_id;
@@ -2016,14 +2012,14 @@ H5D__chunk_write(H5D_io_info_t *io_info, const H5D_type_info_t *type_info,
idx_info.storage = &(io_info->dset->shared->layout.storage.u.chunk);
/* Set up the size of chunk for user data */
- udata.nbytes = io_info->dset->shared->layout.u.chunk.size;
+ udata.chunk_block.length = io_info->dset->shared->layout.u.chunk.size;
- /* Create the chunk */
- if((io_info->dset->shared->layout.storage.u.chunk.ops->insert)(&idx_info, &udata) < 0)
- HGOTO_ERROR(H5E_DATASET, H5E_CANTINSERT, FAIL, "unable to insert/resize chunk")
+ /* Allocate the chunk */
+ if(H5D__chunk_file_alloc(&idx_info, NULL, &udata.chunk_block, &need_insert) < 0)
+ HGOTO_ERROR(H5E_DATASET, H5E_CANTINSERT, FAIL, "unable to insert/resize chunk on chunk level")
/* Make sure the address of the chunk is returned. */
- if(!H5F_addr_defined(udata.addr))
+ if(!H5F_addr_defined(udata.chunk_block.offset))
HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "chunk address isn't defined")
/* Cache the new chunk information */
@@ -2031,7 +2027,7 @@ H5D__chunk_write(H5D_io_info_t *io_info, const H5D_type_info_t *type_info,
} /* end if */
/* Set up the storage address information for this chunk */
- ctg_store.contig.dset_addr = udata.addr;
+ ctg_store.contig.dset_addr = udata.chunk_block.offset;
/* No chunk cached */
chunk = NULL;
@@ -2045,9 +2041,16 @@ H5D__chunk_write(H5D_io_info_t *io_info, const H5D_type_info_t *type_info,
(hsize_t)chunk_info->chunk_points, chunk_info->fspace, chunk_info->mspace) < 0)
HGOTO_ERROR(H5E_DATASET, H5E_READERROR, FAIL, "chunked write failed")
- /* Release the cache lock on the chunk. */
- if(chunk && H5D__chunk_unlock(io_info, &udata, TRUE, chunk, dst_accessed_bytes) < 0)
- HGOTO_ERROR(H5E_IO, H5E_READERROR, FAIL, "unable to unlock raw data chunk")
+ /* Release the cache lock on the chunk, or insert chunk into index. */
+ if(chunk) {
+ if(H5D__chunk_unlock(io_info, &udata, TRUE, chunk, dst_accessed_bytes) < 0)
+ HGOTO_ERROR(H5E_IO, H5E_READERROR, FAIL, "unable to unlock raw data chunk")
+ } /* end if */
+ else {
+ if(need_insert && io_info->dset->shared->layout.storage.u.chunk.ops->insert)
+ if((io_info->dset->shared->layout.storage.u.chunk.ops->insert)(&idx_info, &udata) < 0)
+ HGOTO_ERROR(H5E_DATASET, H5E_CANTINSERT, FAIL, "unable to insert chunk addr into index")
+ } /* end else */
/* Advance to next chunk in list */
chunk_node = H5D_CHUNK_GET_NEXT_NODE(fm, chunk_node);
@@ -2244,9 +2247,9 @@ H5D__chunk_cinfo_cache_update(H5D_chunk_cached_t *last, const H5D_chunk_ud_t *ud
/* Stored the information to cache */
HDmemcpy(last->offset, udata->common.offset, sizeof(hsize_t) * udata->common.layout->ndims);
- last->nbytes = udata->nbytes;
+ last->addr = udata->chunk_block.offset;
+ H5_CHECKED_ASSIGN(last->nbytes, uint32_t, udata->chunk_block.length, hsize_t);
last->filter_mask = udata->filter_mask;
- last->addr = udata->addr;
/* Indicate that the cached info is valid */
last->valid = TRUE;
@@ -2291,9 +2294,9 @@ H5D__chunk_cinfo_cache_found(const H5D_chunk_cached_t *last, H5D_chunk_ud_t *uda
HGOTO_DONE(FALSE)
/* Retrieve the information from the cache */
- udata->nbytes = last->nbytes;
+ udata->chunk_block.offset = last->addr;
+ udata->chunk_block.length = last->nbytes;
udata->filter_mask = last->filter_mask;
- udata->addr = last->addr;
/* Indicate that the data was found */
HGOTO_DONE(TRUE)
@@ -2389,12 +2392,11 @@ H5D__chunk_lookup(const H5D_t *dset, hid_t dxpl_id, const hsize_t *chunk_offset,
udata->common.layout = &(dset->shared->layout.u.chunk);
udata->common.storage = &(dset->shared->layout.storage.u.chunk);
udata->common.offset = chunk_offset;
- udata->common.rdcc = &(dset->shared->cache.chunk);
/* Reset information about the chunk we are looking for */
- udata->nbytes = 0;
+ udata->chunk_block.offset = HADDR_UNDEF;
+ udata->chunk_block.length = 0;
udata->filter_mask = 0;
- udata->addr = HADDR_UNDEF;
/* Check for chunk in cache */
if(dset->shared->cache.chunk.nslots > 0) {
@@ -2402,8 +2404,7 @@ H5D__chunk_lookup(const H5D_t *dset, hid_t dxpl_id, const hsize_t *chunk_offset,
ent = dset->shared->cache.chunk.slot[udata->idx_hint];
if(ent)
- for(u = 0, found = TRUE; u < dset->shared->layout.u.chunk.ndims - 1;
- u++)
+ for(u = 0, found = TRUE; u < dset->shared->ndims; u++)
if(chunk_offset[u] != ent->offset[u]) {
found = FALSE;
break;
@@ -2411,8 +2412,10 @@ H5D__chunk_lookup(const H5D_t *dset, hid_t dxpl_id, const hsize_t *chunk_offset,
} /* end if */
/* Find chunk addr */
- if(found)
- udata->addr = ent->chunk_addr;
+ if(found) {
+ udata->chunk_block.offset = ent->chunk_block.offset;
+ udata->chunk_block.length = ent->chunk_block.length;;
+ } /* end if */
else {
/* Invalidate idx_hint, to signal that the chunk is not in cache */
udata->idx_hint = UINT_MAX;
@@ -2474,22 +2477,23 @@ H5D__chunk_flush_entry(const H5D_t *dset, hid_t dxpl_id, const H5D_dxpl_cache_t
HDassert(!ent->locked);
buf = ent->chunk;
- if(ent->dirty && !ent->deleted) {
+ if(ent->dirty) {
+ H5D_chk_idx_info_t idx_info; /* Chunked index info */
H5D_chunk_ud_t udata; /* pass through B-tree */
- hbool_t must_insert = FALSE; /* Whether the chunk must go through the "insert" method */
+ hbool_t must_alloc = FALSE; /* Whether the chunk must be allocated */
+ hbool_t need_insert = FALSE; /* Whether the chunk needs to be inserted into the index */
/* Set up user data for index callbacks */
udata.common.layout = &dset->shared->layout.u.chunk;
udata.common.storage = &dset->shared->layout.storage.u.chunk;
udata.common.offset = ent->offset;
- udata.common.rdcc = &(dset->shared->cache.chunk);
+ udata.chunk_block.offset = ent->chunk_block.offset;
+ udata.chunk_block.length = dset->shared->layout.u.chunk.size;
udata.filter_mask = 0;
- udata.nbytes = dset->shared->layout.u.chunk.size;
- udata.addr = ent->chunk_addr;
/* Should the chunk be filtered before writing it to disk? */
if(dset->shared->dcpl_cache.pline.nused) {
- size_t alloc = udata.nbytes; /* Bytes allocated for BUF */
+ size_t alloc = udata.chunk_block.length; /* Bytes allocated for BUF */
size_t nbytes; /* Chunk size (in bytes) */
if(!reset) {
@@ -2498,10 +2502,9 @@ H5D__chunk_flush_entry(const H5D_t *dset, hid_t dxpl_id, const H5D_dxpl_cache_t
* the pipeline because we'll want to save the original buffer
* for later.
*/
- H5_ASSIGN_OVERFLOW(alloc, udata.nbytes, uint32_t, size_t);
if(NULL == (buf = H5MM_malloc(alloc)))
HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed for pipeline")
- HDmemcpy(buf, ent->chunk, udata.nbytes);
+ HDmemcpy(buf, ent->chunk, alloc);
} /* end if */
else {
/*
@@ -2514,7 +2517,7 @@ H5D__chunk_flush_entry(const H5D_t *dset, hid_t dxpl_id, const H5D_dxpl_cache_t
point_of_no_return = TRUE;
ent->chunk = NULL;
} /* end else */
- H5_ASSIGN_OVERFLOW(nbytes, udata.nbytes, uint32_t, size_t);
+ H5_CHECKED_ASSIGN(nbytes, size_t, udata.chunk_block.length, hsize_t);
if(H5Z_pipeline(&(dset->shared->dcpl_cache.pline), 0, &(udata.filter_mask), dxpl_cache->err_detect,
dxpl_cache->filter_cb, &nbytes, &alloc, &buf) < 0)
HGOTO_ERROR(H5E_PLINE, H5E_CANTFILTER, FAIL, "output pipeline failed")
@@ -2523,21 +2526,19 @@ H5D__chunk_flush_entry(const H5D_t *dset, hid_t dxpl_id, const H5D_dxpl_cache_t
if(nbytes > ((size_t)0xffffffff))
HGOTO_ERROR(H5E_DATASET, H5E_BADRANGE, FAIL, "chunk too large for 32-bit length")
#endif /* H5_SIZEOF_SIZE_T > 4 */
- H5_ASSIGN_OVERFLOW(udata.nbytes, nbytes, size_t, uint32_t);
+ H5_CHECKED_ASSIGN(udata.chunk_block.length, hsize_t, nbytes, size_t);
- /* Indicate that the chunk must go through 'insert' method */
- must_insert = TRUE;
+ /* Indicate that the chunk must be allocated */
+ must_alloc = TRUE;
} /* end if */
- else if(!H5F_addr_defined(udata.addr))
- /* Indicate that the chunk must go through 'insert' method */
- must_insert = TRUE;
+ else if(!H5F_addr_defined(udata.chunk_block.offset))
+ /* Indicate that the chunk must be allocated */
+ must_alloc = TRUE;
- /* Check if the chunk needs to be 'inserted' (could exist already and
- * the 'insert' operation could resize it)
+ /* Check if the chunk needs to be allocated (it also could exist already
+ * and the chunk alloc operation could resize it)
*/
- if(must_insert) {
- H5D_chk_idx_info_t idx_info; /* Chunked index info */
-
+ if(must_alloc) {
/* Compose chunked index info struct */
idx_info.f = dset->oloc.file;
idx_info.dxpl_id = dxpl_id;
@@ -2548,18 +2549,25 @@ H5D__chunk_flush_entry(const H5D_t *dset, hid_t dxpl_id, const H5D_dxpl_cache_t
/* Create the chunk it if it doesn't exist, or reallocate the chunk
* if its size changed.
*/
- if((dset->shared->layout.storage.u.chunk.ops->insert)(&idx_info, &udata) < 0)
- HGOTO_ERROR(H5E_DATASET, H5E_CANTINSERT, FAIL, "unable to insert/resize chunk")
+ if(H5D__chunk_file_alloc(&idx_info, &(ent->chunk_block), &udata.chunk_block, &need_insert) < 0)
+ HGOTO_ERROR(H5E_DATASET, H5E_CANTINSERT, FAIL, "unable to insert/resize chunk on chunk level")
- /* Update the chunk entry's address, in case it was allocated or relocated */
- ent->chunk_addr = udata.addr;
+ /* Update the chunk entry's info, in case it was allocated or relocated */
+ ent->chunk_block.offset = udata.chunk_block.offset;
+ ent->chunk_block.length = udata.chunk_block.length;
} /* end if */
/* Write the data to the file */
- HDassert(H5F_addr_defined(udata.addr));
- if(H5F_block_write(dset->oloc.file, H5FD_MEM_DRAW, udata.addr, udata.nbytes, dxpl_id, buf) < 0)
+ HDassert(H5F_addr_defined(udata.chunk_block.offset));
+ H5_CHECK_OVERFLOW(udata.chunk_block.length, hsize_t, size_t);
+ if(H5F_block_write(dset->oloc.file, H5FD_MEM_DRAW, udata.chunk_block.offset, (size_t)udata.chunk_block.length, dxpl_id, buf) < 0)
HGOTO_ERROR(H5E_DATASET, H5E_WRITEERROR, FAIL, "unable to write raw data to file")
+ /* Insert the chunk record into the index */
+ if(need_insert && dset->shared->layout.storage.u.chunk.ops->insert)
+ if((dset->shared->layout.storage.u.chunk.ops->insert)(&idx_info, &udata) < 0)
+ HGOTO_ERROR(H5E_DATASET, H5E_CANTINSERT, FAIL, "unable to insert chunk addr into index")
+
/* Cache the chunk's info, in case it's accessed again shortly */
H5D__chunk_cinfo_cache_update(&dset->shared->cache.chunk.last, &udata);
@@ -2576,7 +2584,7 @@ H5D__chunk_flush_entry(const H5D_t *dset, hid_t dxpl_id, const H5D_dxpl_cache_t
if(buf == ent->chunk)
buf = NULL;
if(ent->chunk != NULL)
- ent->chunk = (uint8_t *)H5D__chunk_xfree(ent->chunk, &(dset->shared->dcpl_cache.pline));
+ ent->chunk = (uint8_t *)H5D__chunk_mem_xfree(ent->chunk, &(dset->shared->dcpl_cache.pline));
} /* end if */
done:
@@ -2590,10 +2598,9 @@ done:
* output pipeline failed. Do not free the entry or remove it from the
* list.
*/
- if(ret_value < 0 && point_of_no_return) {
+ if(ret_value < 0 && point_of_no_return)
if(ent->chunk)
- ent->chunk = (uint8_t *)H5D__chunk_xfree(ent->chunk, &(dset->shared->dcpl_cache.pline));
- } /* end if */
+ ent->chunk = (uint8_t *)H5D__chunk_mem_xfree(ent->chunk, &(dset->shared->dcpl_cache.pline));
FUNC_LEAVE_NOAPI_TAG(ret_value, FAIL)
} /* end H5D__chunk_flush_entry() */
@@ -2635,7 +2642,7 @@ H5D__chunk_cache_evict(const H5D_t *dset, hid_t dxpl_id, const H5D_dxpl_cache_t
else {
/* Don't flush, just free chunk */
if(ent->chunk != NULL)
- ent->chunk = (uint8_t *)H5D__chunk_xfree(ent->chunk, &(dset->shared->dcpl_cache.pline));
+ ent->chunk = (uint8_t *)H5D__chunk_mem_xfree(ent->chunk, &(dset->shared->dcpl_cache.pline));
} /* end else */
/* Unlink from list */
@@ -2649,8 +2656,12 @@ H5D__chunk_cache_evict(const H5D_t *dset, hid_t dxpl_id, const H5D_dxpl_cache_t
rdcc->tail = ent->prev;
ent->prev = ent->next = NULL;
+ /* Only clear hash table slot if chunk was not marked as deleted already */
+ if(!ent->deleted)
+ rdcc->slot[ent->idx] = NULL;
+
/* Remove from cache */
- rdcc->slot[ent->idx] = NULL;
+ HDassert(rdcc->slot[ent->idx] != ent);
ent->idx = UINT_MAX;
rdcc->nbytes_used -= dset->shared->layout.u.chunk.size;
--rdcc->nused;
@@ -2802,14 +2813,13 @@ H5D__chunk_lock(const H5D_io_info_t *io_info, H5D_chunk_ud_t *udata,
hbool_t relax)
{
const H5D_t *dset = io_info->dset; /* Local pointer to the dataset info */
- const H5O_pline_t *pline = &(dset->shared->dcpl_cache.pline); /* I/O pipeline info - always equal to the pline passed to H5D__chunk_alloc */
+ const H5O_pline_t *pline = &(dset->shared->dcpl_cache.pline); /* I/O pipeline info - always equal to the pline passed to H5D__chunk_mem_alloc */
const H5O_layout_t *layout = &(dset->shared->layout); /* Dataset layout */
const H5O_fill_t *fill = &(dset->shared->dcpl_cache.fill); /* Fill value info */
H5D_fill_buf_info_t fb_info; /* Dataset's fill buffer info */
hbool_t fb_info_init = FALSE; /* Whether the fill value buffer has been initialized */
H5D_rdcc_t *rdcc = &(dset->shared->cache.chunk); /*raw data chunk cache*/
- H5D_rdcc_ent_t *ent = NULL; /*cache entry */
- haddr_t chunk_addr = HADDR_UNDEF; /* Address of chunk on disk */
+ H5D_rdcc_ent_t *ent; /*cache entry */
size_t chunk_size; /*size of a chunk */
void *chunk = NULL; /*the file chunk */
void *ret_value; /*return value */
@@ -2825,7 +2835,7 @@ H5D__chunk_lock(const H5D_io_info_t *io_info, H5D_chunk_ud_t *udata,
/* Get the chunk's size */
HDassert(layout->u.chunk.size > 0);
- H5_ASSIGN_OVERFLOW(chunk_size, layout->u.chunk.size, uint32_t, size_t);
+ H5_CHECKED_ASSIGN(chunk_size, size_t, layout->u.chunk.size, uint32_t);
/* Check if the chunk is in the cache */
if(UINT_MAX != udata->idx_hint) {
@@ -2850,110 +2860,12 @@ H5D__chunk_lock(const H5D_io_info_t *io_info, H5D_chunk_ud_t *udata,
* Already in the cache. Count a hit.
*/
rdcc->stats.nhits++;
- } /* end if */
- else if(relax) {
- /*
- * Not in the cache, but we're about to overwrite the whole thing
- * anyway, so just allocate a buffer for it but don't initialize that
- * buffer with the file contents. Count this as a hit instead of a
- * miss because we saved ourselves lots of work.
- */
- rdcc->stats.nhits++;
-
- /* Still save the chunk address so the cache stays consistent */
- chunk_addr = udata->addr;
-
- if(NULL == (chunk = H5D__chunk_alloc(chunk_size, pline)))
- HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed for raw data chunk")
-
- /* In the case that some dataset functions look through this data,
- * clear it to all 0s. */
- HDmemset(chunk, 0, chunk_size);
- } /* end if */
- else {
- /*
- * Not in the cache. Count this as a miss if it's in the file
- * or an init if it isn't.
- */
-
- /* Save the chunk address */
- chunk_addr = udata->addr;
-
- /* Check if the chunk exists on disk */
- if(H5F_addr_defined(chunk_addr)) {
- size_t chunk_alloc = 0; /*allocated chunk size */
-
- /* Chunk size on disk isn't [likely] the same size as the final chunk
- * size in memory, so allocate memory big enough. */
- H5_ASSIGN_OVERFLOW(chunk_alloc, udata->nbytes, uint32_t, size_t);
- if(NULL == (chunk = H5D__chunk_alloc(chunk_alloc, pline)))
- HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed for raw data chunk")
- if(H5F_block_read(dset->oloc.file, H5FD_MEM_DRAW, chunk_addr, chunk_alloc, io_info->dxpl_id, chunk) < 0)
- HGOTO_ERROR(H5E_IO, H5E_READERROR, NULL, "unable to read raw data chunk")
-
- if(pline->nused) {
- if(H5Z_pipeline(pline, H5Z_FLAG_REVERSE, &(udata->filter_mask), io_info->dxpl_cache->err_detect,
- io_info->dxpl_cache->filter_cb, &chunk_alloc, &chunk_alloc, &chunk) < 0)
- HGOTO_ERROR(H5E_PLINE, H5E_CANTFILTER, NULL, "data pipeline read failed")
- H5_ASSIGN_OVERFLOW(udata->nbytes, chunk_alloc, size_t, uint32_t);
- } /* end if */
- /* Increment # of cache misses */
- rdcc->stats.nmisses++;
- } /* end if */
- else {
- H5D_fill_value_t fill_status;
-
- /* Sanity check */
- HDassert(fill->alloc_time != H5D_ALLOC_TIME_EARLY);
-
- /* Chunk size on disk isn't [likely] the same size as the final chunk
- * size in memory, so allocate memory big enough. */
- if(NULL == (chunk = H5D__chunk_alloc(chunk_size, pline)))
- HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed for raw data chunk")
-
- if(H5P_is_fill_value_defined(fill, &fill_status) < 0)
- HGOTO_ERROR(H5E_PLIST, H5E_CANTGET, NULL, "can't tell if fill value defined")
-
- if(fill->fill_time == H5D_FILL_TIME_ALLOC ||
- (fill->fill_time == H5D_FILL_TIME_IFSET &&
- (fill_status == H5D_FILL_VALUE_USER_DEFINED ||
- fill_status == H5D_FILL_VALUE_DEFAULT))) {
- /*
- * The chunk doesn't exist in the file. Replicate the fill
- * value throughout the chunk, if the fill value is defined.
- */
-
- /* Initialize the fill value buffer */
- /* (use the compact dataset storage buffer as the fill value buffer) */
- if(H5D__fill_init(&fb_info, chunk, NULL, NULL, NULL, NULL,
- &dset->shared->dcpl_cache.fill, dset->shared->type,
- dset->shared->type_id, (size_t)0, chunk_size, io_info->dxpl_id) < 0)
- HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, NULL, "can't initialize fill buffer info")
- fb_info_init = TRUE;
-
- /* Check for VL datatype & non-default fill value */
- if(fb_info.has_vlen_fill_type)
- /* Fill the buffer with VL datatype fill values */
- if(H5D__fill_refill_vl(&fb_info, fb_info.elmts_per_buf, io_info->dxpl_id) < 0)
- HGOTO_ERROR(H5E_DATASET, H5E_CANTCONVERT, NULL, "can't refill fill value buffer")
- } /* end if */
- else
- HDmemset(chunk, 0, chunk_size);
-
- /* Increment # of creations */
- rdcc->stats.ninits++;
- } /* end else */
- } /* end else */
- HDassert(chunk_size > 0);
-
- if(ent) {
/*
- * The chunk is not at the beginning of the cache; move it backward
+ * If the chunk is not at the beginning of the cache; move it backward
* by one slot. This is how we implement the LRU preemption
* algorithm.
*/
- HDassert(ent);
if(ent->next) {
if(ent->next->next)
ent->next->next->prev = ent;
@@ -2969,67 +2881,166 @@ H5D__chunk_lock(const H5D_io_info_t *io_info, H5D_chunk_ud_t *udata,
ent->prev->next = ent;
} /* end if */
} /* end if */
- else if(rdcc->nslots > 0 && chunk_size <= rdcc->nbytes_max) {
- /* Calculate the index */
- udata->idx_hint = H5D_CHUNK_HASH(dset->shared, io_info->store->chunk.index);
+ else {
+ haddr_t chunk_addr; /* Address of chunk on disk */
+ hsize_t chunk_alloc; /* Length of chunk on disk */
+
+ /* Save the chunk info so the cache stays consistent */
+ chunk_addr = udata->chunk_block.offset;
+ chunk_alloc = udata->chunk_block.length;
+
+ if(relax) {
+ /*
+ * Not in the cache, but we're about to overwrite the whole thing
+ * anyway, so just allocate a buffer for it but don't initialize that
+ * buffer with the file contents. Count this as a hit instead of a
+ * miss because we saved ourselves lots of work.
+ */
+ rdcc->stats.nhits++;
- /* Add the chunk to the cache only if the slot is not already locked */
- ent = rdcc->slot[udata->idx_hint];
- if(!ent || !ent->locked) {
- /* Preempt enough things from the cache to make room */
- if(ent) {
- if(H5D__chunk_cache_evict(io_info->dset, io_info->dxpl_id, io_info->dxpl_cache, ent, TRUE) < 0)
- HGOTO_ERROR(H5E_IO, H5E_CANTINIT, NULL, "unable to preempt chunk from cache")
+ if(NULL == (chunk = H5D__chunk_mem_alloc(chunk_size, pline)))
+ HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed for raw data chunk")
+
+ /* In the case that some dataset functions look through this data,
+ * clear it to all 0s. */
+ HDmemset(chunk, 0, chunk_size);
+ } /* end if */
+ else {
+ /*
+ * Not in the cache. Count this as a miss if it's in the file
+ * or an init if it isn't.
+ */
+
+ /* Check if the chunk exists on disk */
+ if(H5F_addr_defined(chunk_addr)) {
+ size_t my_chunk_alloc = chunk_alloc; /* Allocated buffer size */
+ size_t buf_alloc = chunk_alloc; /* [Re-]allocated buffer size */
+
+ /* Chunk size on disk isn't [likely] the same size as the final chunk
+ * size in memory, so allocate memory big enough. */
+ if(NULL == (chunk = H5D__chunk_mem_alloc(my_chunk_alloc, pline)))
+ HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed for raw data chunk")
+ if(H5F_block_read(dset->oloc.file, H5FD_MEM_DRAW, chunk_addr, my_chunk_alloc, io_info->dxpl_id, chunk) < 0)
+ HGOTO_ERROR(H5E_IO, H5E_READERROR, NULL, "unable to read raw data chunk")
+
+ if(pline->nused)
+ if(H5Z_pipeline(pline, H5Z_FLAG_REVERSE, &(udata->filter_mask), io_info->dxpl_cache->err_detect,
+ io_info->dxpl_cache->filter_cb, &my_chunk_alloc, &buf_alloc, &chunk) < 0)
+ HGOTO_ERROR(H5E_PLINE, H5E_CANTFILTER, NULL, "data pipeline read failed")
+
+ /* Increment # of cache misses */
+ rdcc->stats.nmisses++;
} /* end if */
- if(H5D__chunk_cache_prune(io_info->dset, io_info->dxpl_id, io_info->dxpl_cache, chunk_size) < 0)
- HGOTO_ERROR(H5E_IO, H5E_CANTINIT, NULL, "unable to preempt chunk(s) from cache")
-
- /* Create a new entry */
- if(NULL == (ent = H5FL_CALLOC(H5D_rdcc_ent_t)))
- HGOTO_ERROR(H5E_DATASET, H5E_CANTALLOC, NULL, "can't allocate raw data chunk entry")
-
- /* Initialize the new entry */
- ent->chunk_addr = chunk_addr;
- HDmemcpy(ent->offset, io_info->store->chunk.offset, sizeof(hsize_t) * layout->u.chunk.ndims);
- H5_ASSIGN_OVERFLOW(ent->rd_count, chunk_size, size_t, uint32_t);
- H5_ASSIGN_OVERFLOW(ent->wr_count, chunk_size, size_t, uint32_t);
- ent->chunk = (uint8_t *)chunk;
-
- /* Add it to the cache */
- HDassert(NULL == rdcc->slot[udata->idx_hint]);
- rdcc->slot[udata->idx_hint] = ent;
- ent->idx = udata->idx_hint;
- rdcc->nbytes_used += chunk_size;
- rdcc->nused++;
-
- /* Add it to the linked list */
- if(rdcc->tail) {
- rdcc->tail->next = ent;
- ent->prev = rdcc->tail;
- rdcc->tail = ent;
+ else {
+ H5D_fill_value_t fill_status;
+
+ /* Sanity check */
+ HDassert(fill->alloc_time != H5D_ALLOC_TIME_EARLY);
+
+ /* Chunk size on disk isn't [likely] the same size as the final chunk
+ * size in memory, so allocate memory big enough. */
+ if(NULL == (chunk = H5D__chunk_mem_alloc(chunk_size, pline)))
+ HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed for raw data chunk")
+
+ if(H5P_is_fill_value_defined(fill, &fill_status) < 0)
+ HGOTO_ERROR(H5E_PLIST, H5E_CANTGET, NULL, "can't tell if fill value defined")
+
+ if(fill->fill_time == H5D_FILL_TIME_ALLOC ||
+ (fill->fill_time == H5D_FILL_TIME_IFSET &&
+ (fill_status == H5D_FILL_VALUE_USER_DEFINED ||
+ fill_status == H5D_FILL_VALUE_DEFAULT))) {
+ /*
+ * The chunk doesn't exist in the file. Replicate the fill
+ * value throughout the chunk, if the fill value is defined.
+ */
+
+ /* Initialize the fill value buffer */
+ /* (use the compact dataset storage buffer as the fill value buffer) */
+ if(H5D__fill_init(&fb_info, chunk, NULL, NULL, NULL, NULL,
+ &dset->shared->dcpl_cache.fill, dset->shared->type,
+ dset->shared->type_id, (size_t)0, chunk_size, io_info->dxpl_id) < 0)
+ HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, NULL, "can't initialize fill buffer info")
+ fb_info_init = TRUE;
+
+ /* Check for VL datatype & non-default fill value */
+ if(fb_info.has_vlen_fill_type)
+ /* Fill the buffer with VL datatype fill values */
+ if(H5D__fill_refill_vl(&fb_info, fb_info.elmts_per_buf, io_info->dxpl_id) < 0)
+ HGOTO_ERROR(H5E_DATASET, H5E_CANTCONVERT, NULL, "can't refill fill value buffer")
+ } /* end if */
+ else
+ HDmemset(chunk, 0, chunk_size);
+
+ /* Increment # of creations */
+ rdcc->stats.ninits++;
+ } /* end else */
+ } /* end else */
+
+ /* See if the chunk can be cached */
+ if(rdcc->nslots > 0 && chunk_size <= rdcc->nbytes_max) {
+ /* Calculate the index */
+ udata->idx_hint = H5D_CHUNK_HASH(dset->shared, io_info->store->chunk.index);
+
+ /* Add the chunk to the cache only if the slot is not already locked */
+ ent = rdcc->slot[udata->idx_hint];
+ if(!ent || !ent->locked) {
+ /* Preempt enough things from the cache to make room */
+ if(ent) {
+ if(H5D__chunk_cache_evict(io_info->dset, io_info->dxpl_id, io_info->dxpl_cache, ent, TRUE) < 0)
+ HGOTO_ERROR(H5E_IO, H5E_CANTINIT, NULL, "unable to preempt chunk from cache")
+ } /* end if */
+ if(H5D__chunk_cache_prune(io_info->dset, io_info->dxpl_id, io_info->dxpl_cache, chunk_size) < 0)
+ HGOTO_ERROR(H5E_IO, H5E_CANTINIT, NULL, "unable to preempt chunk(s) from cache")
+
+ /* Create a new entry */
+ if(NULL == (ent = H5FL_CALLOC(H5D_rdcc_ent_t)))
+ HGOTO_ERROR(H5E_DATASET, H5E_CANTALLOC, NULL, "can't allocate raw data chunk entry")
+
+ /* Initialize the new entry */
+ ent->chunk_block.offset = chunk_addr;
+ ent->chunk_block.length = chunk_alloc;
+ HDmemcpy(ent->offset, io_info->store->chunk.offset, sizeof(hsize_t) * layout->u.chunk.ndims);
+ H5_CHECKED_ASSIGN(ent->rd_count, uint32_t, chunk_size, size_t);
+ H5_CHECKED_ASSIGN(ent->wr_count, uint32_t, chunk_size, size_t);
+ ent->chunk = (uint8_t *)chunk;
+
+ /* Add it to the cache */
+ HDassert(NULL == rdcc->slot[udata->idx_hint]);
+ rdcc->slot[udata->idx_hint] = ent;
+ ent->idx = udata->idx_hint;
+ rdcc->nbytes_used += chunk_size;
+ rdcc->nused++;
+
+ /* Add it to the linked list */
+ if(rdcc->tail) {
+ rdcc->tail->next = ent;
+ ent->prev = rdcc->tail;
+ rdcc->tail = ent;
+ } /* end if */
+ else
+ rdcc->head = rdcc->tail = ent;
} /* end if */
else
- rdcc->head = rdcc->tail = ent;
- } /* end if */
- else
- /* We did not add the chunk to cache */
+ /* We did not add the chunk to cache */
+ ent = NULL;
+ } /* end else */
+ else /* No cache set up, or chunk is too large: chunk is uncacheable */
ent = NULL;
} /* end else */
- if(!ent)
- /*
- * The chunk cannot be placed in cache so we don't cache it. This is the
- * reason all those arguments have to be repeated for the unlock
- * function.
- */
- udata->idx_hint = UINT_MAX;
-
/* Lock the chunk into the cache */
if(ent) {
HDassert(!ent->locked);
ent->locked = TRUE;
chunk = ent->chunk;
} /* end if */
+ else
+ /*
+ * The chunk cannot be placed in cache so we don't cache it. This is the
+ * reason all those arguments have to be repeated for the unlock
+ * function.
+ */
+ udata->idx_hint = UINT_MAX;
/* Set return value */
ret_value = chunk;
@@ -3042,7 +3053,7 @@ done:
/* Release the chunk allocated, on error */
if(!ret_value)
if(chunk)
- chunk = H5D__chunk_xfree(chunk, pline);
+ chunk = H5D__chunk_mem_xfree(chunk, pline);
FUNC_LEAVE_NOAPI(ret_value)
} /* end H5D__chunk_lock() */
@@ -3097,7 +3108,8 @@ H5D__chunk_unlock(const H5D_io_info_t *io_info, const H5D_chunk_ud_t *udata,
fake_ent.dirty = TRUE;
HDmemcpy(fake_ent.offset, io_info->store->chunk.offset, layout->u.chunk.ndims * sizeof(fake_ent.offset[0]));
HDassert(layout->u.chunk.size > 0);
- fake_ent.chunk_addr = udata->addr;
+ fake_ent.chunk_block.offset = udata->chunk_block.offset;
+ fake_ent.chunk_block.length = udata->chunk_block.length;
fake_ent.chunk = (uint8_t *)chunk;
if(H5D__chunk_flush_entry(io_info->dset, io_info->dxpl_id, io_info->dxpl_cache, &fake_ent, TRUE) < 0)
@@ -3105,7 +3117,7 @@ H5D__chunk_unlock(const H5D_io_info_t *io_info, const H5D_chunk_ud_t *udata,
} /* end if */
else {
if(chunk)
- chunk = H5D__chunk_xfree(chunk, &(io_info->dset->shared->dcpl_cache.pline));
+ chunk = H5D__chunk_mem_xfree(chunk, &(io_info->dset->shared->dcpl_cache.pline));
} /* end else */
} /* end if */
else {
@@ -3261,10 +3273,10 @@ H5D__chunk_allocate(const H5D_t *dset, hid_t dxpl_id, hbool_t full_overwrite,
H5D_chunk_coll_info_t chunk_info; /* chunk address information for doing I/O */
#endif /* H5_HAVE_PARALLEL */
hbool_t carry; /* Flag to indicate that chunk increment carrys to higher dimension (sorta) */
- int space_ndims; /* Dataset's space rank */
- hsize_t space_dim[H5O_LAYOUT_NDIMS]; /* Dataset's dataspace dimensions */
+ unsigned space_ndims; /* Dataset's space rank */
+ const hsize_t *space_dim; /* Dataset's dataspace dimensions */
const uint32_t *chunk_dim = layout->u.chunk.dim; /* Convenience pointer to chunk dimensions */
- int op_dim; /* Current operationg dimension */
+ unsigned op_dim; /* Current operating dimension */
H5D_fill_buf_info_t fb_info; /* Dataset's fill buffer info */
hbool_t fb_info_init = FALSE; /* Whether the fill value buffer has been initialized */
herr_t ret_value = SUCCEED; /* Return value */
@@ -3277,16 +3289,15 @@ H5D__chunk_allocate(const H5D_t *dset, hid_t dxpl_id, hbool_t full_overwrite,
HDassert(TRUE == H5P_isa_class(dxpl_id, H5P_DATASET_XFER));
/* Retrieve the dataset dimensions */
- if((space_ndims = H5S_get_simple_extent_dims(dset->shared->space, space_dim, NULL)) < 0)
- HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to get simple dataspace info")
- space_dim[space_ndims] = layout->u.chunk.dim[space_ndims];
+ space_dim = dset->shared->curr_dims;
+ space_ndims = dset->shared->ndims;
/* The last dimension in chunk_offset is always 0 */
chunk_offset[space_ndims] = (hsize_t)0;
/* Check if any space dimensions are 0, if so we do not have to do anything
*/
- for(op_dim=0; op_dim<space_ndims; op_dim++)
+ for(op_dim = 0; op_dim < (unsigned)space_ndims; op_dim++)
if(space_dim[op_dim] == 0) {
/* Reset any cached chunk info for this dataset */
H5D__chunk_cinfo_cache_reset(&dset->shared->cache.chunk.last);
@@ -3310,7 +3321,7 @@ H5D__chunk_allocate(const H5D_t *dset, hid_t dxpl_id, hbool_t full_overwrite,
HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't fill dxpl cache")
/* Get original chunk size */
- H5_ASSIGN_OVERFLOW(orig_chunk_size, layout->u.chunk.size, uint32_t, size_t);
+ H5_CHECKED_ASSIGN(orig_chunk_size, size_t, layout->u.chunk.size, uint32_t);
/* Check the dataset's fill-value status */
if(H5P_is_fill_value_defined(fill, &fill_status) < 0)
@@ -3333,8 +3344,8 @@ H5D__chunk_allocate(const H5D_t *dset, hid_t dxpl_id, hbool_t full_overwrite,
/* Initialize the fill value buffer */
/* (delay allocating fill buffer for VL datatypes until refilling) */
/* (casting away const OK - QAK) */
- if(H5D__fill_init(&fb_info, NULL, (H5MM_allocate_t)H5D__chunk_alloc,
- (void *)pline, (H5MM_free_t)H5D__chunk_xfree, (void *)pline,
+ if(H5D__fill_init(&fb_info, NULL, (H5MM_allocate_t)H5D__chunk_mem_alloc,
+ (void *)pline, (H5MM_free_t)H5D__chunk_mem_xfree, (void *)pline,
&dset->shared->dcpl_cache.fill, dset->shared->type,
dset->shared->type_id, (size_t)0, orig_chunk_size, dxpl_id) < 0)
HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "can't initialize fill buffer info")
@@ -3367,8 +3378,8 @@ H5D__chunk_allocate(const H5D_t *dset, hid_t dxpl_id, hbool_t full_overwrite,
/* Calculate the minimum and maximum chunk offsets in each dimension. Note
* that we assume here that all elements of space_dim are > 0. This is
- * checked at the top of this function */
- for(op_dim=0; op_dim<space_ndims; op_dim++) {
+ * checked at the top of this function. */
+ for(op_dim = 0; op_dim < (unsigned)space_ndims; op_dim++) {
min_unalloc[op_dim] = ((old_dim[op_dim] + chunk_dim[op_dim] - 1)
/ chunk_dim[op_dim]) * chunk_dim[op_dim];
max_unalloc[op_dim] = ((space_dim[op_dim] - 1) / chunk_dim[op_dim])
@@ -3393,7 +3404,7 @@ H5D__chunk_allocate(const H5D_t *dset, hid_t dxpl_id, hbool_t full_overwrite,
* certain dimension, max_unalloc is updated in order to avoid allocating
* those chunks again.
*/
- for(op_dim=0; op_dim<space_ndims; op_dim++) {
+ for(op_dim = 0; op_dim < space_ndims; op_dim++) {
H5D_chunk_ud_t udata; /* User data for querying chunk info */
int i; /* Local index variable */
@@ -3402,13 +3413,15 @@ H5D__chunk_allocate(const H5D_t *dset, hid_t dxpl_id, hbool_t full_overwrite,
continue;
else {
/* Reset the chunk offset indices */
- HDmemset(chunk_offset, 0, ((unsigned)space_ndims * sizeof(chunk_offset[0])));
+ HDmemset(chunk_offset, 0, (space_ndims * sizeof(chunk_offset[0])));
chunk_offset[op_dim] = min_unalloc[op_dim];
carry = FALSE;
} /* end else */
while(!carry) {
+ hbool_t need_insert = FALSE; /* Whether the chunk needs to be inserted into the index */
+
/* Reset size of chunk in bytes, in case filtered size changes */
chunk_size = orig_chunk_size;
@@ -3417,16 +3430,12 @@ H5D__chunk_allocate(const H5D_t *dset, hid_t dxpl_id, hbool_t full_overwrite,
{
hsize_t chunk_idx;
- /* Calculate the index of this chunk */
- if(H5VM_chunk_index((unsigned)space_ndims, chunk_offset,
- layout->u.chunk.dim, layout->u.chunk.down_chunks,
- &chunk_idx) < 0)
- HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "can't get chunk index")
-
+ /* Look up this chunk */
+ chunk_idx = H5VM_chunk_index(space_ndims, chunk_offset, layout->u.chunk.dim, layout->u.chunk.down_chunks);
if(H5D__chunk_lookup(dset, dxpl_id, chunk_offset, chunk_idx, &udata) < 0)
HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "error looking up chunk address")
- HDassert(!H5F_addr_defined(udata.addr));
+ HDassert(!H5F_addr_defined(udata.chunk_block.offset));
} /* end block */
/* Make sure the chunk is really in the dataset and outside the
@@ -3435,7 +3444,7 @@ H5D__chunk_allocate(const H5D_t *dset, hid_t dxpl_id, hbool_t full_overwrite,
unsigned u; /* Local index variable */
hbool_t outside_orig = FALSE;
- for(u = 0; u < (unsigned)space_ndims; u++) {
+ for(u = 0; u < space_ndims; u++) {
HDassert(chunk_offset[u] < space_dim[u]);
if(chunk_offset[u] >= old_dim[u])
outside_orig = TRUE;
@@ -3456,8 +3465,7 @@ H5D__chunk_allocate(const H5D_t *dset, hid_t dxpl_id, hbool_t full_overwrite,
* possible (though ill-advised) for the filter to shrink the
* buffer. */
if(fb_info.fill_buf_size < orig_chunk_size) {
- if(NULL == (fb_info.fill_buf = H5D__chunk_realloc(
- fb_info.fill_buf, orig_chunk_size, pline)))
+ if(NULL == (fb_info.fill_buf = H5D__chunk_mem_realloc(fb_info.fill_buf, orig_chunk_size, pline)))
HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory reallocation failed for raw data chunk")
fb_info.fill_buf_size = orig_chunk_size;
} /* end if */
@@ -3489,21 +3497,20 @@ H5D__chunk_allocate(const H5D_t *dset, hid_t dxpl_id, hbool_t full_overwrite,
udata.common.layout = &layout->u.chunk;
udata.common.storage = &layout->storage.u.chunk;
udata.common.offset = chunk_offset;
- udata.common.rdcc = NULL;
- H5_ASSIGN_OVERFLOW(udata.nbytes, chunk_size, size_t, uint32_t);
+ udata.chunk_block.offset = HADDR_UNDEF;
+ H5_CHECKED_ASSIGN(udata.chunk_block.length, uint32_t, chunk_size, size_t);
udata.filter_mask = filter_mask;
- udata.addr = HADDR_UNDEF;
- /* Allocate the chunk with all processes */
- if((ops->insert)(&idx_info, &udata) < 0)
- HGOTO_ERROR(H5E_DATASET, H5E_CANTINSERT, FAIL, "unable to insert record into chunk index")
- HDassert(H5F_addr_defined(udata.addr));
+ /* Allocate the chunk (with all processes) */
+ if(H5D__chunk_file_alloc(&idx_info, NULL, &udata.chunk_block, &need_insert) < 0)
+ HGOTO_ERROR(H5E_DATASET, H5E_CANTINSERT, FAIL, "unable to insert/resize chunk on chunk level")
+ HDassert(H5F_addr_defined(udata.chunk_block.offset));
/* Check if fill values should be written to chunks */
if(should_fill) {
/* Sanity check */
HDassert(fb_info_init);
- HDassert(udata.nbytes == chunk_size);
+ HDassert(udata.chunk_block.length == chunk_size);
#ifdef H5_HAVE_PARALLEL
/* Check if this file is accessed with an MPI-capable file driver */
@@ -3511,14 +3518,12 @@ H5D__chunk_allocate(const H5D_t *dset, hid_t dxpl_id, hbool_t full_overwrite,
/* collect all chunk addresses to be written to
write collectively at the end */
/* allocate/resize address array if no more space left */
- if(0 == chunk_info.num_io % 1024) {
- if(NULL == (chunk_info.addr = (haddr_t *)HDrealloc
- (chunk_info.addr, (chunk_info.num_io + 1024) * sizeof(haddr_t))))
- HGOTO_ERROR(H5E_DATASET, H5E_CANTALLOC, FAIL, "memory allocation failed for chunk addresses");
- } /* end if */
+ if(0 == chunk_info.num_io % 1024)
+ if(NULL == (chunk_info.addr = (haddr_t *)HDrealloc(chunk_info.addr, (chunk_info.num_io + 1024) * sizeof(haddr_t))))
+ HGOTO_ERROR(H5E_DATASET, H5E_CANTALLOC, FAIL, "memory allocation failed for chunk addresses")
/* Store the chunk's address for later */
- chunk_info.addr[chunk_info.num_io] = udata.addr;
+ chunk_info.addr[chunk_info.num_io] = udata.chunk_block.offset;
chunk_info.num_io++;
/* Indicate that blocks will be written */
@@ -3526,20 +3531,27 @@ H5D__chunk_allocate(const H5D_t *dset, hid_t dxpl_id, hbool_t full_overwrite,
} /* end if */
else {
#endif /* H5_HAVE_PARALLEL */
- if(H5F_block_write(dset->oloc.file, H5FD_MEM_DRAW, udata.addr, chunk_size,
- dxpl_id, fb_info.fill_buf) < 0)
+ if(H5F_block_write(dset->oloc.file, H5FD_MEM_DRAW, udata.chunk_block.offset, chunk_size, dxpl_id, fb_info.fill_buf) < 0)
HGOTO_ERROR(H5E_IO, H5E_WRITEERROR, FAIL, "unable to write raw data to file")
#ifdef H5_HAVE_PARALLEL
} /* end else */
#endif /* H5_HAVE_PARALLEL */
} /* end if */
- /* Increment indices */
+ /* Insert the chunk record into the index */
+ /* (Note that this isn't safe, from a SWMR perspective, unlike
+ * serial operation. -QAK
+ */
+ if(need_insert && ops->insert)
+ if((ops->insert)(&idx_info, &udata) < 0)
+ HGOTO_ERROR(H5E_DATASET, H5E_CANTINSERT, FAIL, "unable to insert chunk addr into index")
+
+ /* Increment indices and adjust the edge chunk state */
carry = TRUE;
for(i = ((int)space_ndims - 1); i >= 0; --i) {
chunk_offset[i] += chunk_dim[i];
if(chunk_offset[i] > max_unalloc[i]) {
- if(i == op_dim)
+ if((unsigned)i == op_dim)
chunk_offset[i] = min_unalloc[i];
else
chunk_offset[i] = 0;
@@ -3562,10 +3574,9 @@ H5D__chunk_allocate(const H5D_t *dset, hid_t dxpl_id, hbool_t full_overwrite,
#ifdef H5_HAVE_PARALLEL
/* do final collective I/O */
- if(using_mpi && blocks_written) {
+ if(using_mpi && blocks_written)
if(H5D__chunk_collective_fill(dset, dxpl_id, &chunk_info, chunk_size, fb_info.fill_buf) < 0)
HGOTO_ERROR(H5E_IO, H5E_WRITEERROR, FAIL, "unable to write raw data to file")
- } /* end if */
#endif /* H5_HAVE_PARALLEL */
/* Reset any cached chunk info for this dataset */
@@ -3577,10 +3588,8 @@ done:
HDONE_ERROR(H5E_DATASET, H5E_CANTFREE, FAIL, "Can't release fill buffer info")
#ifdef H5_HAVE_PARALLEL
- if(using_mpi) {
- if(chunk_info.addr)
- HDfree(chunk_info.addr);
- } /* end if */
+ if(using_mpi && chunk_info.addr)
+ HDfree(chunk_info.addr);
#endif
FUNC_LEAVE_NOAPI_TAG(ret_value, FAIL)
@@ -3647,9 +3656,9 @@ H5D__chunk_collective_fill(const H5D_t *dset, hid_t dxpl_id,
leftover_blocks = chunk_info->num_io % mpi_size;
/* Cast values to types needed by MPI */
- H5_ASSIGN_OVERFLOW(blocks, num_blocks, size_t, int);
- H5_ASSIGN_OVERFLOW(leftover, leftover_blocks, size_t, int);
- H5_ASSIGN_OVERFLOW(block_len, chunk_size, size_t, int);
+ H5_CHECKED_ASSIGN(blocks, int, num_blocks, size_t);
+ H5_CHECKED_ASSIGN(leftover, int, leftover_blocks, size_t);
+ H5_CHECKED_ASSIGN(block_len, int, chunk_size, size_t);
/* Allocate buffers */
/* (MSC - should not need block_lens if MPI_type_create_hindexed_block is working) */
@@ -3684,8 +3693,7 @@ H5D__chunk_collective_fill(const H5D_t *dset, hid_t dxpl_id,
* should use this if MPI_type_create_hindexed block is working
* mpi_code = MPI_Type_create_hindexed_block(blocks, block_len, chunk_disp_array, MPI_BYTE, &file_type);
*/
- mpi_code = MPI_Type_create_hindexed(blocks, block_lens, chunk_disp_array,
- MPI_BYTE, &file_type);
+ mpi_code = MPI_Type_create_hindexed(blocks, block_lens, chunk_disp_array, MPI_BYTE, &file_type);
if(mpi_code != MPI_SUCCESS)
HMPI_GOTO_ERROR(FAIL, "MPI_Type_create_hindexed failed", mpi_code)
if(MPI_SUCCESS != (mpi_code = MPI_Type_commit(&file_type)))
@@ -3718,9 +3726,8 @@ H5D__chunk_collective_fill(const H5D_t *dset, hid_t dxpl_id,
HGOTO_ERROR(H5E_PLIST, H5E_CANTSET, FAIL, "can't set transfer mode")
}
- /* low level write */
- if(H5F_block_write(dset->oloc.file, H5FD_MEM_DRAW, (haddr_t)0, (blocks) ? (size_t)1 : (size_t)0,
- data_dxpl_id, fill_buf) < 0)
+ /* low level write (collective) */
+ if(H5F_block_write(dset->oloc.file, H5FD_MEM_DRAW, (haddr_t)0, (blocks) ? (size_t)1 : (size_t)0, data_dxpl_id, fill_buf) < 0)
HGOTO_ERROR(H5E_IO, H5E_WRITEERROR, FAIL, "unable to write raw data to file")
/* Barrier so processes don't race ahead */
@@ -3780,15 +3787,14 @@ H5D__chunk_prune_fill(H5D_chunk_it_ud1_t *udata)
/* Get the chunk's size */
HDassert(layout->u.chunk.size > 0);
- H5_ASSIGN_OVERFLOW(chunk_size, layout->u.chunk.size, uint32_t, size_t);
+ H5_CHECKED_ASSIGN(chunk_size, size_t, layout->u.chunk.size, uint32_t);
/* Get the info for the chunk in the file */
if(H5D__chunk_lookup(dset, io_info->dxpl_id, chunk_offset, io_info->store->chunk.index, &chk_udata) < 0)
HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "error looking up chunk address")
- /* If this chunk does not exist in cache or on disk, no need to do anything
- */
- if(!H5F_addr_defined(chk_udata.addr) && UINT_MAX == chk_udata.idx_hint)
+ /* If this chunk does not exist in cache or on disk, no need to do anything */
+ if(!H5F_addr_defined(chk_udata.chunk_block.offset) && UINT_MAX == chk_udata.idx_hint)
HGOTO_DONE(SUCCEED)
/* Initialize the fill value buffer, if necessary */
@@ -3804,8 +3810,7 @@ H5D__chunk_prune_fill(H5D_chunk_it_ud1_t *udata)
/* Compute the # of elements to leave with existing value, in each dimension */
for(u = 0; u < rank; u++) {
- count[u] = MIN(layout->u.chunk.dim[u], (udata->space_dim[u]
- - chunk_offset[u]));
+ count[u] = MIN(layout->u.chunk.dim[u], (udata->space_dim[u] - chunk_offset[u]));
HDassert(count[u] > 0);
} /* end for */
@@ -3983,14 +3988,13 @@ H5D__chunk_prune_by_extent(H5D_t *dset, hid_t dxpl_id, const hsize_t *old_dim)
const H5O_layout_t *layout = &(dset->shared->layout); /* Dataset's layout */
const H5D_rdcc_t *rdcc = &(dset->shared->cache.chunk); /*raw data chunk cache */
H5D_rdcc_ent_t *ent = NULL; /* Cache entry */
- int space_ndims; /* Dataset's space rank */
- hsize_t space_dim[H5O_LAYOUT_NDIMS]; /* Current dataspace dimensions */
- int op_dim; /* Current operationg dimension */
+ unsigned space_ndims; /* Dataset's space rank */
+ const hsize_t *space_dim; /* Current dataspace dimensions */
+ unsigned op_dim; /* Current operating dimension */
hbool_t shrunk_dim[H5O_LAYOUT_NDIMS]; /* Dimensions which have shrunk */
H5D_chunk_it_ud1_t udata; /* Chunk index iterator user data */
hbool_t udata_init = FALSE; /* Whether the chunk index iterator user data has been initialized */
H5D_chunk_common_ud_t idx_udata; /* User data for index removal routine */
- H5D_chunk_ud_t chk_udata; /* User data for getting chunk info */
H5S_t *chunk_space = NULL; /* Dataspace for a chunk */
hsize_t chunk_dim[H5O_LAYOUT_NDIMS]; /* Chunk dimensions */
hsize_t chunk_offset[H5O_LAYOUT_NDIMS]; /* Offset of current chunk */
@@ -4012,16 +4016,14 @@ H5D__chunk_prune_by_extent(H5D_t *dset, hid_t dxpl_id, const hsize_t *old_dim)
HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't fill dxpl cache")
/* Go get the rank & dimensions (including the element size) */
- if((space_ndims = H5S_get_simple_extent_dims(dset->shared->space, space_dim,
- NULL)) < 0)
- HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't get dataset dimensions")
- space_dim[space_ndims] = layout->u.chunk.dim[space_ndims];
+ space_dim = dset->shared->curr_dims;
+ space_ndims = dset->shared->ndims;
/* The last dimension in chunk_offset is always 0 */
chunk_offset[space_ndims] = (hsize_t)0;
/* Check if any old dimensions are 0, if so we do not have to do anything */
- for(op_dim=0; op_dim<space_ndims; op_dim++)
+ for(op_dim = 0; op_dim < (unsigned)space_ndims; op_dim++)
if(old_dim[op_dim] == 0) {
/* Reset any cached chunk info for this dataset */
H5D__chunk_cinfo_cache_reset(&dset->shared->cache.chunk.last);
@@ -4034,14 +4036,14 @@ H5D__chunk_prune_by_extent(H5D_t *dset, hid_t dxpl_id, const hsize_t *old_dim)
/* (also copy the chunk dimensions into 'hsize_t' array for creating dataspace) */
/* (also compute the dimensions which have been shrunk) */
elmts_per_chunk = 1;
- for(u = 0; u < (unsigned)space_ndims; u++) {
+ for(u = 0; u < space_ndims; u++) {
elmts_per_chunk *= layout->u.chunk.dim[u];
chunk_dim[u] = layout->u.chunk.dim[u];
shrunk_dim[u] = space_dim[u] < old_dim[u];
} /* end for */
/* Create a dataspace for a chunk & set the extent */
- if(NULL == (chunk_space = H5S_create_simple((unsigned)space_ndims, chunk_dim, NULL)))
+ if(NULL == (chunk_space = H5S_create_simple(space_ndims, chunk_dim, NULL)))
HGOTO_ERROR(H5E_DATASPACE, H5E_CANTCREATE, FAIL, "can't create simple dataspace")
/* Reset hyperslab start array */
@@ -4065,7 +4067,6 @@ H5D__chunk_prune_by_extent(H5D_t *dset, hid_t dxpl_id, const hsize_t *old_dim)
HDmemset(&udata, 0, sizeof udata);
udata.common.layout = &layout->u.chunk;
udata.common.storage = &layout->storage.u.chunk;
- udata.common.rdcc = rdcc;
udata.io_info = &chk_io_info;
udata.idx_info = &idx_info;
udata.space_dim = space_dim;
@@ -4084,7 +4085,7 @@ H5D__chunk_prune_by_extent(H5D_t *dset, hid_t dxpl_id, const hsize_t *old_dim)
*/
HDmemset(min_mod_chunk_off, 0, sizeof(min_mod_chunk_off));
HDmemset(max_mod_chunk_off, 0, sizeof(max_mod_chunk_off));
- for(op_dim = 0; op_dim < space_ndims; op_dim++) {
+ for(op_dim = 0; op_dim < (unsigned)space_ndims; op_dim++) {
/* Calculate the largest offset of chunks that might need to be
* modified in this dimension */
max_mod_chunk_off[op_dim] = chunk_dim[op_dim] * ((old_dim[op_dim] - 1)
@@ -4119,21 +4120,8 @@ H5D__chunk_prune_by_extent(H5D_t *dset, hid_t dxpl_id, const hsize_t *old_dim)
fill_dim[op_dim] = FALSE;
} /* end for */
- /* Check the cache for any entries that are outside the bounds. Mark these
- * entries as deleted so they are not flushed to disk accidentally. This is
- * only necessary if there are chunks that need to be filled. */
- if(has_fill)
- for(ent = rdcc->head; ent; ent = ent->next)
- /* Check for chunk offset outside of new dimensions */
- for(u = 0; u < (unsigned)space_ndims; u++)
- if((hsize_t)ent->offset[u] >= space_dim[u]) {
- /* Mark the entry as "deleted" */
- ent->deleted = TRUE;
- break;
- } /* end if */
-
/* Main loop: fill or remove chunks */
- for(op_dim=0; op_dim<space_ndims; op_dim++) {
+ for(op_dim = 0; op_dim < (unsigned)space_ndims; op_dim++) {
/* Check if modification along this dimension is really necessary */
if(!shrunk_dim[op_dim])
continue;
@@ -4141,12 +4129,12 @@ H5D__chunk_prune_by_extent(H5D_t *dset, hid_t dxpl_id, const hsize_t *old_dim)
HDassert((hsize_t) max_mod_chunk_off[op_dim] >= min_mod_chunk_off[op_dim]);
/* Reset the chunk offset indices */
- HDmemset(chunk_offset, 0, ((unsigned)space_ndims * sizeof(chunk_offset[0])));
+ HDmemset(chunk_offset, 0, (space_ndims * sizeof(chunk_offset[0])));
chunk_offset[op_dim] = min_mod_chunk_off[op_dim];
/* Initialize "dims_outside_fill" array */
ndims_outside_fill = 0;
- for(u = 0; u < (unsigned)space_ndims; u++)
+ for(u = 0; u < space_ndims; u++)
if((hssize_t)chunk_offset[u] > max_fill_chunk_off[u]) {
dims_outside_fill[u] = TRUE;
ndims_outside_fill++;
@@ -4161,10 +4149,7 @@ H5D__chunk_prune_by_extent(H5D_t *dset, hid_t dxpl_id, const hsize_t *old_dim)
int i; /* Local index variable */
/* Calculate the index of this chunk */
- if(H5VM_chunk_index((unsigned)space_ndims, chunk_offset,
- layout->u.chunk.dim, layout->u.chunk.down_chunks,
- &(chk_io_info.store->chunk.index)) < 0)
- HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "can't get chunk index")
+ chk_io_info.store->chunk.index = H5VM_chunk_index(space_ndims, chunk_offset, layout->u.chunk.dim, layout->u.chunk.down_chunks);
if(0 == ndims_outside_fill) {
HDassert(fill_dim[op_dim]);
@@ -4175,12 +4160,14 @@ H5D__chunk_prune_by_extent(H5D_t *dset, hid_t dxpl_id, const hsize_t *old_dim)
HGOTO_ERROR(H5E_DATASET, H5E_WRITEERROR, FAIL, "unable to write fill value")
} /* end if */
else {
+ H5D_chunk_ud_t chk_udata; /* User data for getting chunk info */
+
#ifndef NDEBUG
/* Make sure this chunk is really outside the new dimensions */
{
hbool_t outside_dim = FALSE;
- for(u = 0; u < (unsigned)space_ndims; u++)
+ for(u = 0; u < space_ndims; u++)
if(chunk_offset[u] >= space_dim[u]) {
outside_dim = TRUE;
break;
@@ -4200,7 +4187,7 @@ H5D__chunk_prune_by_extent(H5D_t *dset, hid_t dxpl_id, const hsize_t *old_dim)
HGOTO_ERROR(H5E_DATASET, H5E_CANTREMOVE, FAIL, "unable to evict chunk")
/* Remove the chunk from disk, if present */
- if(H5F_addr_defined(chk_udata.addr)) {
+ if(H5F_addr_defined(chk_udata.chunk_block.offset)) {
/* Update the offset in idx_udata */
idx_udata.offset = chunk_offset;
@@ -4217,7 +4204,7 @@ H5D__chunk_prune_by_extent(H5D_t *dset, hid_t dxpl_id, const hsize_t *old_dim)
if(chunk_offset[i] > (hsize_t) max_mod_chunk_off[i]) {
/* Left maximum dimensions, "wrap around" and check if this
* dimension is no longer outside the fill dimension */
- if(i == op_dim) {
+ if((unsigned)i == op_dim) {
chunk_offset[i] = min_mod_chunk_off[i];
if(dims_outside_fill[i] && fill_dim[i]) {
dims_outside_fill[i] = FALSE;
@@ -4295,8 +4282,7 @@ H5D__chunk_addrmap_cb(const H5D_chunk_rec_t *chunk_rec, void *_udata)
FUNC_ENTER_STATIC
/* Compute the index for this chunk */
- if(H5VM_chunk_index(rank, chunk_rec->offset, udata->common.layout->dim, udata->common.layout->down_chunks, &chunk_index) < 0)
- HGOTO_ERROR(H5E_DATASPACE, H5E_BADRANGE, H5_ITER_ERROR, "can't get chunk index")
+ chunk_index = H5VM_chunk_index(rank, chunk_rec->offset, udata->common.layout->dim, udata->common.layout->down_chunks);
/* Set it in the userdata to return */
udata->chunk_addr[chunk_index] = chunk_rec->chunk_addr;
@@ -4337,7 +4323,6 @@ H5D__chunk_addrmap(const H5D_io_info_t *io_info, haddr_t chunk_addr[])
HDmemset(&udata, 0, sizeof(udata));
udata.common.layout = &dset->shared->layout.u.chunk;
udata.common.storage = &dset->shared->layout.storage.u.chunk;
- udata.common.rdcc = &(dset->shared->cache.chunk);
udata.chunk_addr = chunk_addr;
/* Compose chunked index info struct */
@@ -4453,7 +4438,6 @@ H5D__chunk_update_cache(H5D_t *dset, hid_t dxpl_id)
{
H5D_rdcc_t *rdcc = &(dset->shared->cache.chunk); /*raw data chunk cache */
H5D_rdcc_ent_t *ent, *next; /*cache entry */
- H5D_rdcc_ent_t *old_ent; /* Old cache entry */
H5D_dxpl_cache_t _dxpl_cache; /* Data transfer property cache buffer */
H5D_dxpl_cache_t *dxpl_cache = &_dxpl_cache; /* Data transfer property cache */
unsigned rank; /* Current # of dimensions */
@@ -4466,7 +4450,7 @@ H5D__chunk_update_cache(H5D_t *dset, hid_t dxpl_id)
HDassert(dset->shared->layout.u.chunk.ndims > 0 && dset->shared->layout.u.chunk.ndims <= H5O_LAYOUT_NDIMS);
/* Get the rank */
- rank = dset->shared->layout.u.chunk.ndims-1;
+ rank = dset->shared->layout.u.chunk.ndims - 1;
HDassert(rank > 0);
/* 1-D dataset's chunks can't have their index change */
@@ -4486,36 +4470,51 @@ H5D__chunk_update_cache(H5D_t *dset, hid_t dxpl_id)
next = ent->next;
/* Calculate the index of this chunk */
- if(H5VM_chunk_index(rank, ent->offset, dset->shared->layout.u.chunk.dim, dset->shared->layout.u.chunk.down_chunks, &idx) < 0)
- HGOTO_ERROR(H5E_DATASPACE, H5E_BADRANGE, FAIL, "can't get chunk index")
+ idx = H5VM_chunk_index(rank, ent->offset, dset->shared->layout.u.chunk.dim, dset->shared->layout.u.chunk.down_chunks);
/* Compute the index for the chunk entry */
old_idx = ent->idx; /* Save for later */
ent->idx = H5D_CHUNK_HASH(dset->shared, idx);
if(old_idx != ent->idx) {
+ H5D_rdcc_ent_t *old_ent; /* Old cache entry */
+
/* Check if there is already a chunk at this chunk's new location */
old_ent = rdcc->slot[ent->idx];
if(old_ent != NULL) {
- HDassert(old_ent->locked == 0);
+ HDassert(old_ent->locked == FALSE);
+ HDassert(old_ent->deleted == FALSE);
- /* Check if we are removing the entry we would walk to next */
- if(old_ent == next)
- next = old_ent->next;
-
- /* Remove the old entry from the cache */
- if(H5D__chunk_cache_evict(dset, dxpl_id, dxpl_cache, old_ent, TRUE) < 0)
- HGOTO_ERROR(H5E_IO, H5E_CANTFLUSH, FAIL, "unable to flush one or more raw data chunks")
+ /* Mark the old entry as deleted, but do not evict (yet).
+ * Make sure we do not make any calls to the index
+ * until all chunks have updated indices! */
+ old_ent->deleted = TRUE;
} /* end if */
/* Insert this chunk into correct location in hash table */
rdcc->slot[ent->idx] = ent;
- /* Null out previous location */
- rdcc->slot[old_idx] = NULL;
+ /* If this chunk was previously marked as deleted and therefore
+ * not in the hash table, reset the deleted flag.
+ * Otherwise clear the old hash table slot. */
+ if(ent->deleted)
+ ent->deleted = FALSE;
+ else
+ rdcc->slot[old_idx] = NULL;
} /* end if */
} /* end for */
+ /* Evict chunks that are still marked as deleted */
+ for(ent = rdcc->head; ent; ent = next) {
+ /* Get the pointer to the next cache entry */
+ next = ent->next;
+
+ /* Remove the old entry from the cache */
+ if(ent->deleted)
+ if(H5D__chunk_cache_evict(dset, dxpl_id, dxpl_cache, ent, TRUE) < 0)
+ HGOTO_ERROR(H5E_IO, H5E_CANTFLUSH, FAIL, "unable to flush one or more raw data chunks")
+ } /* end for */
+
done:
FUNC_LEAVE_NOAPI(ret_value)
} /* end H5D__chunk_update_cache() */
@@ -4541,6 +4540,7 @@ H5D__chunk_copy_cb(const H5D_chunk_rec_t *chunk_rec, void *_udata)
H5D_chunk_ud_t udata_dst; /* User data about new destination chunk */
hbool_t is_vlen = FALSE; /* Whether datatype is variable-length */
hbool_t fix_ref = FALSE; /* Whether to fix up references in the dest. file */
+ hbool_t need_insert = FALSE; /* Whether the chunk needs to be inserted into the index */
/* General information about chunk copy */
void *bkg = udata->bkg; /* Background buffer for datatype conversion */
@@ -4558,7 +4558,7 @@ H5D__chunk_copy_cb(const H5D_chunk_rec_t *chunk_rec, void *_udata)
FUNC_ENTER_STATIC
/* Get 'size_t' local value for number of bytes in chunk */
- H5_ASSIGN_OVERFLOW(nbytes, chunk_rec->nbytes, uint32_t, size_t);
+ H5_CHECKED_ASSIGN(nbytes, size_t, chunk_rec->nbytes, uint32_t);
/* Check parameter for type conversion */
if(udata->do_convert) {
@@ -4662,13 +4662,12 @@ H5D__chunk_copy_cb(const H5D_chunk_rec_t *chunk_rec, void *_udata)
udata_dst.common.layout = udata->idx_info_dst->layout;
udata_dst.common.storage = udata->idx_info_dst->storage;
udata_dst.common.offset = chunk_rec->offset;
- udata_dst.common.rdcc = NULL;
- udata_dst.nbytes = chunk_rec->nbytes;
+ udata_dst.chunk_block.offset = HADDR_UNDEF;
+ udata_dst.chunk_block.length = chunk_rec->nbytes;
udata_dst.filter_mask = chunk_rec->filter_mask;
- udata_dst.addr = HADDR_UNDEF;
/* Need to compress variable-length & reference data elements before writing to file */
- if(has_filters && (is_vlen || fix_ref) ) {
+ if(has_filters && (is_vlen || fix_ref)) {
if(H5Z_pipeline(pline, 0, &(udata_dst.filter_mask), H5Z_NO_EDC, cb_struct, &nbytes, &buf_size, &buf) < 0)
HGOTO_ERROR(H5E_PLINE, H5E_CANTFILTER, H5_ITER_ERROR, "output pipeline failed")
#if H5_SIZEOF_SIZE_T > 4
@@ -4676,26 +4675,31 @@ H5D__chunk_copy_cb(const H5D_chunk_rec_t *chunk_rec, void *_udata)
if(nbytes > ((size_t)0xffffffff))
HGOTO_ERROR(H5E_DATASET, H5E_BADRANGE, H5_ITER_ERROR, "chunk too large for 32-bit length")
#endif /* H5_SIZEOF_SIZE_T > 4 */
- H5_ASSIGN_OVERFLOW(udata_dst.nbytes, nbytes, size_t, uint32_t);
+ H5_CHECKED_ASSIGN(udata_dst.chunk_block.length, uint32_t, nbytes, size_t);
udata->buf = buf;
udata->buf_size = buf_size;
} /* end if */
+ /* Allocate chunk in the file */
+ if(H5D__chunk_file_alloc(udata->idx_info_dst, NULL, &udata_dst.chunk_block, &need_insert) < 0)
+ HGOTO_ERROR(H5E_DATASET, H5E_CANTINSERT, FAIL, "unable to insert/resize chunk on chunk level")
+
+ /* Write chunk data to destination file */
+ HDassert(H5F_addr_defined(udata_dst.chunk_block.offset));
+ if(H5F_block_write(udata->idx_info_dst->f, H5FD_MEM_DRAW, udata_dst.chunk_block.offset, nbytes, udata->idx_info_dst->dxpl_id, buf) < 0)
+ HGOTO_ERROR(H5E_DATASET, H5E_WRITEERROR, H5_ITER_ERROR, "unable to write raw data to file")
+
/* Set metadata tag in dxpl_id */
H5_BEGIN_TAG(udata->idx_info_dst->dxpl_id, H5AC__COPIED_TAG, H5_ITER_ERROR);
- /* Insert chunk into the destination index */
- if((udata->idx_info_dst->storage->ops->insert)(udata->idx_info_dst, &udata_dst) < 0)
- HGOTO_ERROR_TAG(H5E_DATASET, H5E_CANTINSERT, H5_ITER_ERROR, "unable to insert chunk into index")
+ /* Insert chunk record into index */
+ if(need_insert && udata->idx_info_dst->storage->ops->insert)
+ if((udata->idx_info_dst->storage->ops->insert)(udata->idx_info_dst, &udata_dst) < 0)
+ HGOTO_ERROR_TAG(H5E_DATASET, H5E_CANTINSERT, H5_ITER_ERROR, "unable to insert chunk addr into index")
/* Reset metadata tag in dxpl_id */
H5_END_TAG(H5_ITER_ERROR);
- /* Write chunk data to destination file */
- HDassert(H5F_addr_defined(udata_dst.addr));
- if(H5F_block_write(udata->idx_info_dst->f, H5FD_MEM_DRAW, udata_dst.addr, nbytes, udata->idx_info_dst->dxpl_id, buf) < 0)
- HGOTO_ERROR(H5E_DATASET, H5E_WRITEERROR, H5_ITER_ERROR, "unable to write raw data to file")
-
done:
FUNC_LEAVE_NOAPI(ret_value)
} /* end H5D__chunk_copy_cb() */
@@ -4773,7 +4777,7 @@ H5D__chunk_copy(H5F_t *f_src, H5O_storage_chunk_t *storage_src,
/* Get the dim info for dataset */
if((sndims = H5S_extent_get_dims(ds_extent_src, curr_dims, NULL)) < 0)
HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't get dataspace dimensions")
- H5_ASSIGN_OVERFLOW(ndims, sndims, int, unsigned);
+ H5_CHECKED_ASSIGN(ndims, unsigned, sndims, int);
/* Set the source layout chunk information */
if(H5D__chunk_set_info_real(layout_src, ndims, curr_dims) < 0)
@@ -4881,7 +4885,7 @@ H5D__chunk_copy(H5F_t *f_src, H5O_storage_chunk_t *storage_src,
do_convert = TRUE;
} /* end if */
- H5_ASSIGN_OVERFLOW(buf_size, layout_src->size, uint32_t, size_t);
+ H5_CHECKED_ASSIGN(buf_size, size_t, layout_src->size, uint32_t);
reclaim_buf_size = 0;
} /* end else */
@@ -4906,7 +4910,6 @@ H5D__chunk_copy(H5F_t *f_src, H5O_storage_chunk_t *storage_src,
HDmemset(&udata, 0, sizeof udata);
udata.common.layout = layout_src;
udata.common.storage = storage_src;
- udata.common.rdcc = NULL;
udata.file_src = f_src;
udata.idx_info_dst = &idx_info_dst;
udata.buf = buf;
@@ -4952,7 +4955,7 @@ done:
/* Clean up any index information */
if(copy_setup_done)
- if((storage_src->ops->copy_shutdown)(storage_src, storage_dst, dxpl_id) < 0)
+ if(storage_src->ops->copy_shutdown && (storage_src->ops->copy_shutdown)(storage_src, storage_dst, dxpl_id) < 0)
HDONE_ERROR(H5E_DATASET, H5E_CANTRELEASE, FAIL, "unable to shut down index copying info")
FUNC_LEAVE_NOAPI(ret_value)
@@ -5337,3 +5340,114 @@ done:
FUNC_LEAVE_NOAPI(ret_value)
} /* H5D__nonexistent_readvv() */
+
+/*-------------------------------------------------------------------------
+ * Function: H5D__chunk_file_alloc()
+ *
+ * Purpose: Chunk allocation:
+ * Create the chunk if it doesn't exist, or reallocate the
+ * chunk if its size changed.
+ * The coding is moved and modified from each index structure.
+ *
+ * Return: Non-negative on success/Negative on failure
+ *
+ * Programmer: Vailin Choi; June 2014
+ *
+ *-------------------------------------------------------------------------
+ */
+static herr_t
+H5D__chunk_file_alloc(const H5D_chk_idx_info_t *idx_info, const H5F_block_t *old_chunk,
+ H5F_block_t *new_chunk, hbool_t *need_insert)
+{
+ hbool_t alloc_chunk = FALSE; /* Whether to allocate chunk */
+ herr_t ret_value = SUCCEED; /* Return value */
+
+ FUNC_ENTER_STATIC
+
+ /* Sanity check */
+ HDassert(idx_info);
+ HDassert(idx_info->f);
+ HDassert(idx_info->pline);
+ HDassert(idx_info->layout);
+ HDassert(idx_info->storage);
+ HDassert(H5F_addr_defined(idx_info->storage->idx_addr));
+ HDassert(new_chunk);
+ HDassert(need_insert);
+
+ /* Check for filters on chunks */
+ if(idx_info->pline->nused > 0) {
+ /* Sanity/error checking block */
+ {
+ unsigned allow_chunk_size_len; /* Allowed size of encoded chunk size */
+ unsigned new_chunk_size_len; /* Size of encoded chunk size */
+
+ /* Compute the size required for encoding the size of a chunk, allowing
+ * for an extra byte, in case the filter makes the chunk larger.
+ */
+ allow_chunk_size_len = 1 + ((H5VM_log2_gen((uint64_t)(idx_info->layout->size)) + 8) / 8);
+ if(allow_chunk_size_len > 8)
+ allow_chunk_size_len = 8;
+
+ /* Compute encoded size of chunk */
+ new_chunk_size_len = (H5VM_log2_gen((uint64_t)(new_chunk->length)) + 8) / 8;
+ if(new_chunk_size_len > 8)
+ HGOTO_ERROR(H5E_DATASET, H5E_BADRANGE, FAIL, "encoded chunk size is more than 8 bytes?!?")
+
+ /* Check if the chunk became too large to be encoded */
+ if(new_chunk_size_len > allow_chunk_size_len)
+ HGOTO_ERROR(H5E_DATASET, H5E_BADRANGE, FAIL, "chunk size can't be encoded")
+ } /* end block */
+
+ if(old_chunk && H5F_addr_defined(old_chunk->offset)) {
+ /* Sanity check */
+ HDassert(!H5F_addr_defined(new_chunk->offset) || H5F_addr_eq(new_chunk->offset, old_chunk->offset));
+
+ /* Check for chunk being same size */
+ if(new_chunk->length != old_chunk->length) {
+ /* Release previous chunk */
+ if(H5MF_xfree(idx_info->f, H5FD_MEM_DRAW, idx_info->dxpl_id, old_chunk->offset, old_chunk->length) < 0)
+ HGOTO_ERROR(H5E_DATASET, H5E_CANTFREE, FAIL, "unable to free chunk")
+ alloc_chunk = TRUE;
+ } /* end if */
+ else {
+ /* Don't need to reallocate chunk, but send its address back up */
+ if(!H5F_addr_defined(new_chunk->offset))
+ new_chunk->offset = old_chunk->offset;
+ } /* end else */
+ } /* end if */
+ else {
+ HDassert(!H5F_addr_defined(new_chunk->offset));
+ alloc_chunk = TRUE;
+ } /* end else */
+ } /* end if */
+ else {
+ HDassert(!H5F_addr_defined(new_chunk->offset));
+ HDassert(new_chunk->length == idx_info->layout->size);
+ alloc_chunk = TRUE;
+ } /* end else */
+
+ /* Actually allocate space for the chunk in the file */
+ if(alloc_chunk) {
+ switch(idx_info->storage->idx_type) {
+ case H5D_CHUNK_IDX_BTREE:
+ HDassert(new_chunk->length > 0);
+ H5_CHECK_OVERFLOW(new_chunk->length, /*From: */uint32_t, /*To: */hsize_t);
+ new_chunk->offset = H5MF_alloc(idx_info->f, H5FD_MEM_DRAW, idx_info->dxpl_id, (hsize_t)new_chunk->length);
+ if(!H5F_addr_defined(new_chunk->offset))
+ HGOTO_ERROR(H5E_DATASET, H5E_CANTALLOC, FAIL, "file allocation failed")
+ *need_insert = TRUE;
+ break;
+
+ case H5D_CHUNK_IDX_NTYPES:
+ default:
+ HDassert(0 && "This should never be executed!");
+ break;
+ } /* end switch */
+ } /* end if */
+
+ HDassert(H5F_addr_defined(new_chunk->offset));
+
+done:
+ FUNC_LEAVE_NOAPI(ret_value)
+} /* H5D__chunk_file_alloc() */
+
diff --git a/src/H5Dcompact.c b/src/H5Dcompact.c
index 789beab..af70c07 100644
--- a/src/H5Dcompact.c
+++ b/src/H5Dcompact.c
@@ -174,11 +174,8 @@ H5D__compact_construct(H5F_t *f, H5D_t *dset)
hssize_t stmp_size; /* Temporary holder for raw data size */
hsize_t tmp_size; /* Temporary holder for raw data size */
hsize_t max_comp_data_size; /* Max. allowed size of compact data */
- hsize_t dim[H5O_LAYOUT_NDIMS]; /* Current size of data in elements */
- hsize_t max_dim[H5O_LAYOUT_NDIMS]; /* Maximum size of data in elements */
- int ndims; /* Rank of dataspace */
- int i; /* Local index variable */
- herr_t ret_value = SUCCEED; /* Return value */
+ unsigned u; /* Local index variable */
+ herr_t ret_value = SUCCEED; /* Return value */
FUNC_ENTER_STATIC
@@ -187,11 +184,9 @@ H5D__compact_construct(H5F_t *f, H5D_t *dset)
HDassert(dset);
/* Check for invalid dataset dimensions */
- if((ndims = H5S_get_simple_extent_dims(dset->shared->space, dim, max_dim)) < 0)
- HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't get dataspace dimensions")
- for(i = 0; i < ndims; i++)
- if(max_dim[i] > dim[i])
- HGOTO_ERROR(H5E_DATASET, H5E_UNSUPPORTED, FAIL, "extendible compact dataset")
+ for(u = 0; u < dset->shared->ndims; u++)
+ if(dset->shared->max_dims[u] > dset->shared->curr_dims[u])
+ HGOTO_ERROR(H5E_DATASET, H5E_UNSUPPORTED, FAIL, "extendible compact dataset not allowed")
/*
* Compact dataset is stored in dataset object header message of
@@ -202,7 +197,7 @@ H5D__compact_construct(H5F_t *f, H5D_t *dset)
tmp_size = H5T_get_size(dset->shared->type);
HDassert(tmp_size > 0);
tmp_size = tmp_size * (hsize_t)stmp_size;
- H5_ASSIGN_OVERFLOW(dset->shared->layout.storage.u.compact.size, tmp_size, hssize_t, size_t);
+ H5_CHECKED_ASSIGN(dset->shared->layout.storage.u.compact.size, size_t, tmp_size, hssize_t);
/* Verify data size is smaller than maximum header message size
* (64KB) minus other layout message fields.
diff --git a/src/H5Dcontig.c b/src/H5Dcontig.c
index 8d4cd02..898b46d 100644
--- a/src/H5Dcontig.c
+++ b/src/H5Dcontig.c
@@ -259,7 +259,7 @@ H5D__contig_fill(const H5D_t *dset, hid_t dxpl_id)
/* Get the number of elements in the dataset's dataspace */
if((snpoints = H5S_GET_EXTENT_NPOINTS(dset->shared->space)) < 0)
HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "dataset has negative number of elements")
- H5_ASSIGN_OVERFLOW(npoints, snpoints, hssize_t, size_t);
+ H5_CHECKED_ASSIGN(npoints, size_t, snpoints, hssize_t);
/* Initialize the fill value buffer */
if(H5D__fill_init(&fb_info, NULL, NULL, NULL, NULL, NULL,
@@ -396,10 +396,7 @@ H5D__contig_construct(H5F_t *f, H5D_t *dset)
size_t dt_size; /* Size of datatype */
hsize_t tmp_size; /* Temporary holder for raw data size */
size_t tmp_sieve_buf_size; /* Temporary holder for sieve buffer size */
- hsize_t dim[H5O_LAYOUT_NDIMS]; /* Current size of data in elements */
- hsize_t max_dim[H5O_LAYOUT_NDIMS]; /* Maximum size of data in elements */
- int ndims; /* Rank of dataspace */
- int i; /* Local index variable */
+ unsigned u; /* Local index variable */
herr_t ret_value = SUCCEED; /* Return value */
FUNC_ENTER_STATIC
@@ -415,11 +412,9 @@ H5D__contig_construct(H5F_t *f, H5D_t *dset)
*/
/* Check for invalid dataset dimensions */
- if((ndims = H5S_get_simple_extent_dims(dset->shared->space, dim, max_dim)) < 0)
- HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to initialize contiguous storage")
- for(i = 0; i < ndims; i++)
- if(max_dim[i] > dim[i])
- HGOTO_ERROR(H5E_DATASET, H5E_UNSUPPORTED, FAIL, "extendible contiguous non-external dataset")
+ for(u = 0; u < dset->shared->ndims; u++)
+ if(dset->shared->max_dims[u] > dset->shared->curr_dims[u])
+ HGOTO_ERROR(H5E_DATASET, H5E_UNSUPPORTED, FAIL, "extendible contiguous non-external dataset not allowed")
/* Retrieve the number of elements in the dataspace */
if((snelmts = H5S_GET_EXTENT_NPOINTS(dset->shared->space)) < 0)
@@ -649,6 +644,7 @@ H5D__contig_readvv_sieve_cb(hsize_t dst_off, hsize_t src_off, size_t len,
size_t sieve_size = (size_t)-1; /* Size of sieve buffer */
haddr_t rel_eoa; /* Relative end of file address */
hsize_t max_data; /* Actual maximum size of data to cache */
+ hsize_t min; /* temporary minimum value (avoids some ugly macro nesting) */
herr_t ret_value = SUCCEED; /* Return value */
FUNC_ENTER_STATIC
@@ -675,7 +671,7 @@ H5D__contig_readvv_sieve_cb(hsize_t dst_off, hsize_t src_off, size_t len,
} /* end if */
else {
/* Allocate room for the data sieve buffer */
- if(NULL == (dset_contig->sieve_buf = H5FL_BLK_MALLOC(sieve_buf, dset_contig->sieve_buf_size)))
+ if(NULL == (dset_contig->sieve_buf = H5FL_BLK_CALLOC(sieve_buf, dset_contig->sieve_buf_size)))
HGOTO_ERROR(H5E_DATASET, H5E_CANTALLOC, FAIL, "memory allocation failed")
/* Determine the new sieve buffer size & location */
@@ -689,7 +685,8 @@ H5D__contig_readvv_sieve_cb(hsize_t dst_off, hsize_t src_off, size_t len,
max_data = store_contig->dset_size - dst_off;
/* Compute the size of the sieve buffer */
- H5_ASSIGN_OVERFLOW(dset_contig->sieve_size, MIN3(rel_eoa - dset_contig->sieve_loc, max_data, dset_contig->sieve_buf_size), hsize_t, size_t);
+ min = MIN3(rel_eoa - dset_contig->sieve_loc, max_data, dset_contig->sieve_buf_size);
+ H5_CHECKED_ASSIGN(dset_contig->sieve_size, size_t, min, hsize_t);
/* Read the new sieve buffer */
if(H5F_block_read(file, H5FD_MEM_DRAW, dset_contig->sieve_loc, dset_contig->sieve_size, udata->dxpl_id, dset_contig->sieve_buf) < 0)
@@ -762,9 +759,13 @@ H5D__contig_readvv_sieve_cb(hsize_t dst_off, hsize_t src_off, size_t len,
/* Only need this when resizing sieve buffer */
max_data = store_contig->dset_size - dst_off;
- /* Compute the size of the sieve buffer */
- /* Don't read off the end of the file, don't read past the end of the data element and don't read more than the buffer size */
- H5_ASSIGN_OVERFLOW(dset_contig->sieve_size, MIN3(rel_eoa - dset_contig->sieve_loc, max_data, dset_contig->sieve_buf_size), hsize_t, size_t);
+ /* Compute the size of the sieve buffer.
+ * Don't read off the end of the file, don't read past
+ * the end of the data element, and don't read more than
+ * the buffer size.
+ */
+ min = MIN3(rel_eoa - dset_contig->sieve_loc, max_data, dset_contig->sieve_buf_size);
+ H5_CHECKED_ASSIGN(dset_contig->sieve_size, size_t, min, hsize_t);
/* Update local copies of sieve information */
sieve_start = dset_contig->sieve_loc;
@@ -920,6 +921,7 @@ H5D__contig_writevv_sieve_cb(hsize_t dst_off, hsize_t src_off, size_t len,
size_t sieve_size = (size_t)-1; /* size of sieve buffer */
haddr_t rel_eoa; /* Relative end of file address */
hsize_t max_data; /* Actual maximum size of data to cache */
+ hsize_t min; /* temporary minimum value (avoids some ugly macro nesting) */
herr_t ret_value = SUCCEED; /* Return value */
FUNC_ENTER_STATIC
@@ -946,7 +948,7 @@ H5D__contig_writevv_sieve_cb(hsize_t dst_off, hsize_t src_off, size_t len,
} /* end if */
else {
/* Allocate room for the data sieve buffer */
- if(NULL == (dset_contig->sieve_buf = H5FL_BLK_MALLOC(sieve_buf, dset_contig->sieve_buf_size)))
+ if(NULL == (dset_contig->sieve_buf = H5FL_BLK_CALLOC(sieve_buf, dset_contig->sieve_buf_size)))
HGOTO_ERROR(H5E_DATASET, H5E_CANTALLOC, FAIL, "memory allocation failed")
#ifdef H5_CLEAR_MEMORY
@@ -965,7 +967,8 @@ if(dset_contig->sieve_size > len)
max_data = store_contig->dset_size - dst_off;
/* Compute the size of the sieve buffer */
- H5_ASSIGN_OVERFLOW(dset_contig->sieve_size, MIN3(rel_eoa - dset_contig->sieve_loc, max_data, dset_contig->sieve_buf_size), hsize_t, size_t);
+ min = MIN3(rel_eoa - dset_contig->sieve_loc, max_data, dset_contig->sieve_buf_size);
+ H5_CHECKED_ASSIGN(dset_contig->sieve_size, size_t, min, hsize_t);
/* Check if there is any point in reading the data from the file */
if(dset_contig->sieve_size > len) {
@@ -1080,9 +1083,13 @@ if(dset_contig->sieve_size > len)
/* Only need this when resizing sieve buffer */
max_data = store_contig->dset_size - dst_off;
- /* Compute the size of the sieve buffer */
- /* Don't read off the end of the file, don't read past the end of the data element and don't read more than the buffer size */
- H5_ASSIGN_OVERFLOW(dset_contig->sieve_size, MIN3(rel_eoa - dset_contig->sieve_loc, max_data, dset_contig->sieve_buf_size), hsize_t, size_t);
+ /* Compute the size of the sieve buffer.
+ * Don't read off the end of the file, don't read past
+ * the end of the data element, and don't read more than
+ * the buffer size.
+ */
+ min = MIN3(rel_eoa - dset_contig->sieve_loc, max_data, dset_contig->sieve_buf_size);
+ H5_CHECKED_ASSIGN(dset_contig->sieve_size, size_t, min, hsize_t);
/* Update local copies of sieve information */
sieve_start = dset_contig->sieve_loc;
diff --git a/src/H5Ddbg.c b/src/H5Ddbg.c
index e187fa2..bcbbc36 100644
--- a/src/H5Ddbg.c
+++ b/src/H5Ddbg.c
@@ -113,7 +113,7 @@ H5Ddebug(hid_t dset_id)
/* Print B-tree information */
if(H5D_CHUNKED == dset->shared->layout.type)
- (void)H5D__chunk_dump_index(dset, H5AC_dxpl_id, stdout);
+ (void)H5D__chunk_dump_index(dset, H5AC_ind_dxpl_id, stdout);
else if(H5D_CONTIGUOUS == dset->shared->layout.type)
HDfprintf(stdout, " %-10s %a\n", "Address:", dset->shared->layout.storage.u.contig.addr);
diff --git a/src/H5Ddeprec.c b/src/H5Ddeprec.c
index e87cbdb..e9842e2 100644
--- a/src/H5Ddeprec.c
+++ b/src/H5Ddeprec.c
@@ -241,6 +241,7 @@ H5Dopen1(hid_t loc_id, const char *name)
H5VL_object_t *obj = NULL; /* object token of loc_id */
H5VL_loc_params_t loc_params;
hid_t dapl_id = H5P_DATASET_ACCESS_DEFAULT; /* dapl to use to open dataset */
+ hid_t dxpl_id = H5AC_ind_dxpl_id; /* dxpl to use to open datset */
hid_t ret_value;
FUNC_ENTER_API(FAIL)
@@ -258,7 +259,7 @@ H5Dopen1(hid_t loc_id, const char *name)
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "invalid location identifier")
/* Create the dataset through the VOL */
- if(NULL == (dset = H5VL_dataset_open(obj->vol_obj, loc_params, obj->vol_info->vol_cls, name, dapl_id, H5AC_dxpl_id, H5_REQUEST_NULL)))
+ if(NULL == (dset = H5VL_dataset_open(obj->vol_obj, loc_params, obj->vol_info->vol_cls, name, dapl_id, dxpl_id, H5_REQUEST_NULL)))
HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to create dataset")
/* Get an atom for the dataset */
@@ -267,7 +268,7 @@ H5Dopen1(hid_t loc_id, const char *name)
done:
if (ret_value < 0 && dset)
- if(H5VL_dataset_close (dset, obj->vol_info->vol_cls, H5AC_dxpl_id, H5_REQUEST_NULL) < 0)
+ if(H5VL_dataset_close (dset, obj->vol_info->vol_cls, dxpl_id, H5_REQUEST_NULL) < 0)
HDONE_ERROR(H5E_DATASET, H5E_CLOSEERROR, FAIL, "unable to release dataset")
FUNC_LEAVE_API(ret_value)
} /* end H5Dopen1() */
@@ -329,9 +330,7 @@ static herr_t
H5D__extend(H5D_t *dataset, const hsize_t *size, hid_t dxpl_id)
{
htri_t changed; /* Flag to indicate that the dataspace was successfully extended */
- H5S_t *space; /* Dataset's dataspace */
- int rank; /* Dataspace # of dimensions */
- hsize_t curr_dims[H5O_LAYOUT_NDIMS];/* Current dimension sizes */
+ hsize_t old_dims[H5S_MAX_RANK]; /* Current (i.e. old, if changed) dimension sizes */
H5O_fill_t *fill; /* Dataset's fill value */
herr_t ret_value = SUCCEED; /* Return value */
@@ -352,20 +351,30 @@ H5D__extend(H5D_t *dataset, const hsize_t *size, hid_t dxpl_id)
*/
/* Retrieve the current dimensions */
- space = dataset->shared->space;
- if((rank = H5S_get_simple_extent_dims(space, curr_dims, NULL)) < 0)
- HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't get dataset dimensions")
+ HDcompile_assert(sizeof(old_dims) == sizeof(dataset->shared->curr_dims));
+ HDmemcpy(old_dims, dataset->shared->curr_dims, H5S_MAX_RANK * sizeof(old_dims[0]));
/* Increase the size of the data space */
- if((changed = H5S_extend(space, size)) < 0)
- HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to increase size of data space")
+ if((changed = H5S_extend(dataset->shared->space, size)) < 0)
+ HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to increase size of dataspace")
/* Updated the dataset's info if the dataspace was successfully extended */
if(changed) {
+ /* Get the extended dimension sizes */
+ /* (Need to retrieve this here, since the 'size' dimensions could
+ * extend one dimension but be smaller in a different dimension,
+ * and the dataspace's extent is the larger of the current and
+ * 'size' dimension values. - QAK)
+ */
+ if(H5S_get_simple_extent_dims(dataset->shared->space, dataset->shared->curr_dims, NULL) < 0)
+ HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't get dataset dimensions")
+
/* Update the index values for the cached chunks for this dataset */
if(H5D_CHUNKED == dataset->shared->layout.type) {
+ /* Update general information for chunks */
if(H5D__chunk_set_info(dataset) < 0)
HGOTO_ERROR(H5E_DATASET, H5E_CANTSET, FAIL, "unable to update # of chunks")
+ /* Update the chunk cache indices */
if(H5D__chunk_update_cache(dataset, dxpl_id) < 0)
HGOTO_ERROR(H5E_DATASET, H5E_WRITEERROR, FAIL, "unable to update cached chunk indices")
} /* end if */
@@ -373,8 +382,7 @@ H5D__extend(H5D_t *dataset, const hsize_t *size, hid_t dxpl_id)
/* Allocate space for the new parts of the dataset, if appropriate */
fill = &dataset->shared->dcpl_cache.fill;
if(fill->alloc_time == H5D_ALLOC_TIME_EARLY)
- if(H5D__alloc_storage(dataset, dxpl_id, H5D_ALLOC_EXTEND, FALSE,
- curr_dims) < 0)
+ if(H5D__alloc_storage(dataset, dxpl_id, H5D_ALLOC_EXTEND, FALSE, old_dims) < 0)
HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to initialize dataset with fill value")
/* Mark the dataspace as dirty, for later writing to the file */
diff --git a/src/H5Defl.c b/src/H5Defl.c
index 38c8ccd..6707568 100644
--- a/src/H5Defl.c
+++ b/src/H5Defl.c
@@ -126,14 +126,11 @@ static herr_t
H5D__efl_construct(H5F_t *f, H5D_t *dset)
{
size_t dt_size; /* Size of datatype */
- hsize_t dim[H5O_LAYOUT_NDIMS]; /* Current size of data in elements */
- hsize_t max_dim[H5O_LAYOUT_NDIMS]; /* Maximum size of data in elements */
hssize_t stmp_size; /* Temporary holder for raw data size */
hsize_t tmp_size; /* Temporary holder for raw data size */
hsize_t max_points; /* Maximum elements */
hsize_t max_storage; /* Maximum storage size */
- int ndims; /* Rank of dataspace */
- int i; /* Local index variable */
+ unsigned u; /* Local index variable */
herr_t ret_value = SUCCEED; /* Return value */
FUNC_ENTER_STATIC
@@ -149,11 +146,9 @@ H5D__efl_construct(H5F_t *f, H5D_t *dset)
*/
/* Check for invalid dataset dimensions */
- if((ndims = H5S_get_simple_extent_dims(dset->shared->space, dim, max_dim)) < 0)
- HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to initialize contiguous storage")
- for(i = 1; i < ndims; i++)
- if(max_dim[i] > dim[i])
- HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "only the first dimension can be extendible")
+ for(u = 1; u < dset->shared->ndims; u++)
+ if(dset->shared->max_dims[u] > dset->shared->curr_dims[u])
+ HGOTO_ERROR(H5E_DATASET, H5E_UNSUPPORTED, FAIL, "only the first dimension can be extendible")
/* Retrieve the size of the dataset's datatype */
if(0 == (dt_size = H5T_get_size(dset->shared->type)))
@@ -175,7 +170,7 @@ H5D__efl_construct(H5F_t *f, H5D_t *dset)
stmp_size = H5S_GET_EXTENT_NPOINTS(dset->shared->space);
HDassert(stmp_size >= 0);
tmp_size = (hsize_t)stmp_size * dt_size;
- H5_ASSIGN_OVERFLOW(dset->shared->layout.storage.u.contig.size, tmp_size, hssize_t, hsize_t);
+ H5_CHECKED_ASSIGN(dset->shared->layout.storage.u.contig.size, hsize_t, tmp_size, hssize_t);
/* Get the sieve buffer size for this dataset */
dset->shared->cache.contig.sieve_buf_size = H5F_SIEVE_BUF_SIZE(f);
diff --git a/src/H5Dfill.c b/src/H5Dfill.c
index e682dd6..484c362 100644
--- a/src/H5Dfill.c
+++ b/src/H5Dfill.c
@@ -133,7 +133,7 @@ H5Dfill(const void *fill, hid_t fill_type_id, void *buf, hid_t buf_type_id, hid_
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, 0, "not a datatype")
/* Fill the selection in the memory buffer */
- if(H5D__fill(fill, fill_type, buf, buf_type, space, H5AC_dxpl_id) < 0)
+ if(H5D__fill(fill, fill_type, buf, buf_type, space, H5AC_ind_dxpl_id) < 0)
HGOTO_ERROR(H5E_DATASET, H5E_CANTENCODE, FAIL, "filling selection failed")
done:
diff --git a/src/H5Dint.c b/src/H5Dint.c
index 63c7549..317f73b 100644
--- a/src/H5Dint.c
+++ b/src/H5Dint.c
@@ -62,6 +62,7 @@ static H5D_shared_t *H5D__new(hid_t dcpl_id, hbool_t creating,
hbool_t vl_type);
static herr_t H5D__init_type(H5F_t *file, const H5D_t *dset, hid_t type_id,
const H5T_t *type);
+static herr_t H5D__cache_dataspace_info(const H5D_t *dset);
static herr_t H5D__init_space(H5F_t *file, const H5D_t *dset, const H5S_t *space);
static herr_t H5D__update_oh_info(H5F_t *file, hid_t dxpl_id, H5D_t *dset,
hid_t dapl_id);
@@ -665,6 +666,40 @@ done:
/*-------------------------------------------------------------------------
+ * Function: H5D__cache_dataspace_info
+ *
+ * Purpose: Cache dataspace info for a dataset
+ *
+ * Return: Success: SUCCEED
+ * Failure: FAIL
+ *
+ * Programmer: Quincey Koziol
+ * Wednesday, November 19, 2014
+ *
+ *-------------------------------------------------------------------------
+ */
+static herr_t
+H5D__cache_dataspace_info(const H5D_t *dset)
+{
+ int sndims; /* Signed number of dimensions of dataspace rank */
+ herr_t ret_value = SUCCEED; /* Return value */
+
+ FUNC_ENTER_STATIC
+
+ /* Sanity checking */
+ HDassert(dset);
+
+ /* Cache info for dataset's dataspace */
+ if((sndims = H5S_get_simple_extent_dims(dset->shared->space, dset->shared->curr_dims, dset->shared->max_dims)) < 0)
+ HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't cache dataspace dimensions")
+ dset->shared->ndims = (unsigned)sndims;
+
+done:
+ FUNC_LEAVE_NOAPI(ret_value)
+} /* end H5D__cache_dataspace_info() */
+
+
+/*-------------------------------------------------------------------------
* Function: H5D__init_space
*
* Purpose: Copy a dataspace for a dataset's use, performing all the
@@ -698,6 +733,10 @@ H5D__init_space(H5F_t *file, const H5D_t *dset, const H5S_t *space)
if(NULL == (dset->shared->space = H5S_copy(space, FALSE, TRUE)))
HGOTO_ERROR(H5E_DATASET, H5E_CANTCOPY, FAIL, "can't copy dataspace")
+ /* Cache the dataset's dataspace info */
+ if(H5D__cache_dataspace_info(dset) < 0)
+ HGOTO_ERROR(H5E_DATASET, H5E_CANTCOPY, FAIL, "can't cache dataspace info")
+
/* Set the latest format, if requested */
if(use_latest_format)
if(H5S_set_latest_version(dset->shared->space) < 0)
@@ -1254,6 +1293,10 @@ H5D__open_oid(H5D_t *dataset, hid_t dapl_id, hid_t dxpl_id)
if(NULL == (dataset->shared->space = H5S_read(&(dataset->oloc), dxpl_id)))
HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to load dataspace info from dataset header")
+ /* Cache the dataset's dataspace info */
+ if(H5D__cache_dataspace_info(dataset) < 0)
+ HGOTO_ERROR(H5E_DATASET, H5E_CANTCOPY, FAIL, "can't cache dataspace info")
+
/* Get a datatype ID for the dataset's datatype */
if((dataset->shared->type_id = H5I_register(H5I_DATATYPE, dataset->shared->type, FALSE)) < 0)
HGOTO_ERROR(H5E_DATASET, H5E_CANTREGISTER, FAIL, "unable to register type")
@@ -2171,9 +2214,7 @@ done:
herr_t
H5D__set_extent(H5D_t *dset, const hsize_t *size, hid_t dxpl_id)
{
- H5S_t *space; /* Dataset's dataspace */
- int rank; /* Dataspace # of dimensions */
- hsize_t curr_dims[H5O_LAYOUT_NDIMS];/* Current dimension sizes */
+ hsize_t curr_dims[H5S_MAX_RANK]; /* Current dimension sizes */
htri_t changed; /* Whether the dataspace changed size */
herr_t ret_value = SUCCEED; /* Return value */
@@ -2197,29 +2238,30 @@ H5D__set_extent(H5D_t *dset, const hsize_t *size, hid_t dxpl_id)
if(H5D__check_filters(dset) < 0)
HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "can't apply filters")
- /* Get the data space */
- space = dset->shared->space;
-
- /* Check if we are shrinking or expanding any of the dimensions */
- if((rank = H5S_get_simple_extent_dims(space, curr_dims, NULL)) < 0)
- HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't get dataset dimensions")
+ /* Keep the current dataspace dimensions for later */
+ HDcompile_assert(sizeof(curr_dims) == sizeof(dset->shared->curr_dims));
+ HDmemcpy(curr_dims, dset->shared->curr_dims, H5S_MAX_RANK * sizeof(curr_dims[0]));
- /* Modify the size of the data space */
- if((changed = H5S_set_extent(space, size)) < 0)
- HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to modify size of data space")
+ /* Modify the size of the dataspace */
+ if((changed = H5S_set_extent(dset->shared->space, size)) < 0)
+ HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to modify size of dataspace")
/* Don't bother updating things, unless they've changed */
if(changed) {
- hbool_t shrink = FALSE; /* Flag to indicate a dimension has shrank */
- hbool_t expand = FALSE; /* Flag to indicate a dimension has grown */
- unsigned u; /* Local index variable */
+ hbool_t shrink = FALSE; /* Flag to indicate a dimension has shrank */
+ hbool_t expand = FALSE; /* Flag to indicate a dimension has grown */
+ unsigned u; /* Local index variable */
/* Determine if we are shrinking and/or expanding any dimensions */
- for(u = 0; u < (unsigned)rank; u++) {
+ for(u = 0; u < dset->shared->ndims; u++) {
+ /* Check for various status changes */
if(size[u] < curr_dims[u])
shrink = TRUE;
if(size[u] > curr_dims[u])
expand = TRUE;
+
+ /* Update the cached copy of the dataset's dimensions */
+ dset->shared->curr_dims[u] = size[u];
} /* end for */
/*-------------------------------------------------------------------------
@@ -2228,7 +2270,7 @@ H5D__set_extent(H5D_t *dset, const hsize_t *size, hid_t dxpl_id)
*/
/* Update the index values for the cached chunks for this dataset */
if(H5D_CHUNKED == dset->shared->layout.type) {
- /* Update the cached chunk info */
+ /* Set the cached chunk info */
if(H5D__chunk_set_info(dset) < 0)
HGOTO_ERROR(H5E_DATASET, H5E_CANTSET, FAIL, "unable to update # of chunks")
if(H5D__chunk_update_cache(dset, dxpl_id) < 0)
diff --git a/src/H5Dio.c b/src/H5Dio.c
index ade7351..e5d8009 100644
--- a/src/H5Dio.c
+++ b/src/H5Dio.c
@@ -294,10 +294,8 @@ H5D__pre_write(H5D_t *dset, hbool_t direct_write, hid_t mem_type_id,
uint32_t direct_filters;
hsize_t *direct_offset;
uint32_t direct_datasize;
- int ndims = 0;
- hsize_t dims[H5O_LAYOUT_NDIMS];
hsize_t internal_offset[H5O_LAYOUT_NDIMS];
- unsigned u;
+ unsigned u; /* Local index variable */
/* Get the dataset transfer property list */
if(NULL == (plist = (H5P_genplist_t *)H5I_object(dxpl_id)))
@@ -316,12 +314,9 @@ H5D__pre_write(H5D_t *dset, hbool_t direct_write, hid_t mem_type_id,
/* The library's chunking code requires the offset terminates with a zero. So transfer the
* offset array to an internal offset array */
- if((ndims = H5S_get_simple_extent_dims(dset->shared->space, dims, NULL)) < 0)
- HGOTO_ERROR(H5E_DATASPACE, H5E_CANTGET, FAIL, "can't retrieve dataspace extent dims")
-
- for(u = 0; u < ndims; u++) {
+ for(u = 0; u < dset->shared->ndims; u++) {
/* Make sure the offset doesn't exceed the dataset's dimensions */
- if(direct_offset[u] > dims[u])
+ if(direct_offset[u] > dset->shared->curr_dims[u])
HGOTO_ERROR(H5E_DATASPACE, H5E_BADTYPE, FAIL, "offset exceeds dimensions of dataset")
/* Make sure the offset fall right on a chunk's boundary */
@@ -332,7 +327,7 @@ H5D__pre_write(H5D_t *dset, hbool_t direct_write, hid_t mem_type_id,
} /* end for */
/* Terminate the offset with a zero */
- internal_offset[ndims] = 0;
+ internal_offset[dset->shared->ndims] = 0;
/* write raw data */
if(H5D__chunk_direct_write(dset, dxpl_id, direct_filters, internal_offset, direct_datasize, buf) < 0)
@@ -406,7 +401,7 @@ H5D__read(H5D_t *dataset, hid_t mem_type_id, const H5S_t *mem_space,
mem_space = file_space;
if((snelmts = H5S_GET_SELECT_NPOINTS(mem_space)) < 0)
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "dst dataspace has invalid selection")
- H5_ASSIGN_OVERFLOW(nelmts,snelmts,hssize_t,hsize_t);
+ H5_CHECKED_ASSIGN(nelmts, hsize_t, snelmts, hssize_t);
/* Fill the DXPL cache values for later use */
if(H5D__get_dxpl_cache(dxpl_id, &dxpl_cache) < 0)
@@ -676,7 +671,7 @@ H5D__write(H5D_t *dataset, hid_t mem_type_id, const H5S_t *mem_space,
if((snelmts = H5S_GET_SELECT_NPOINTS(mem_space)) < 0)
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "src dataspace has invalid selection")
- H5_ASSIGN_OVERFLOW(nelmts, snelmts, hssize_t, hsize_t);
+ H5_CHECKED_ASSIGN(nelmts, hsize_t, snelmts, hssize_t);
/* Make certain that the number of elements in each selection is the same */
if(nelmts != (hsize_t)H5S_GET_SELECT_NPOINTS(file_space))
diff --git a/src/H5Dmpio.c b/src/H5Dmpio.c
index 01d2288..825c562 100644
--- a/src/H5Dmpio.c
+++ b/src/H5Dmpio.c
@@ -438,7 +438,7 @@ H5D__mpio_get_sum_chunk(const H5D_io_info_t *io_info, const H5D_chunk_map_t *fm,
/* Get the number of chunks to perform I/O on */
num_chunkf = 0;
ori_num_chunkf = H5SL_count(fm->sel_chunks);
- H5_ASSIGN_OVERFLOW(num_chunkf, ori_num_chunkf, size_t, int);
+ H5_CHECKED_ASSIGN(num_chunkf, int, ori_num_chunkf, size_t);
/* Determine the summation of number of chunks for all processes */
if(MPI_SUCCESS != (mpi_code = MPI_Allreduce(&num_chunkf, sum_chunkf, 1, MPI_INT, MPI_SUM, io_info->comm)))
@@ -826,7 +826,7 @@ H5D__link_chunk_collective_io(H5D_io_info_t *io_info, const H5D_type_info_t *typ
} /* end if */
/* Retrieve total # of chunks in dataset */
- H5_ASSIGN_OVERFLOW(total_chunks, fm->layout->u.chunk.nchunks, hsize_t, size_t);
+ H5_CHECKED_ASSIGN(total_chunks, size_t, fm->layout->u.chunk.nchunks, hsize_t);
/* Handle special case when dataspace dimensions only allow one chunk in
* the dataset. [This sometimes is used by developers who want the
@@ -860,10 +860,9 @@ H5D__link_chunk_collective_io(H5D_io_info_t *io_info, const H5D_type_info_t *typ
mspace = chunk_info->mspace;
/* Look up address of chunk */
- if(H5D__chunk_lookup(io_info->dset, io_info->dxpl_id, chunk_info->coords,
- chunk_info->index, &udata) < 0)
+ if(H5D__chunk_lookup(io_info->dset, io_info->dxpl_id, chunk_info->coords, chunk_info->index, &udata) < 0)
HGOTO_ERROR(H5E_STORAGE, H5E_CANTGET, FAIL, "couldn't get chunk address")
- ctg_store.contig.dset_addr = udata.addr;
+ ctg_store.contig.dset_addr = udata.chunk_block.offset;
} /* end else */
/* Set up the base storage address for this chunk */
@@ -1149,7 +1148,7 @@ H5D__multi_chunk_collective_io(H5D_io_info_t *io_info, const H5D_type_info_t *ty
#endif
/* Retrieve total # of chunks in dataset */
- H5_ASSIGN_OVERFLOW(total_chunk, fm->layout->u.chunk.nchunks, hsize_t, size_t);
+ H5_CHECKED_ASSIGN(total_chunk, size_t, fm->layout->u.chunk.nchunks, hsize_t);
HDassert(total_chunk != 0);
/* Allocate memories */
@@ -1592,7 +1591,7 @@ if(H5DEBUG(D))
if(H5D__chunk_lookup(io_info->dset, io_info->dxpl_id,
chunk_info->coords, chunk_info->index, &udata) < 0)
HGOTO_ERROR(H5E_STORAGE, H5E_CANTGET, FAIL, "couldn't get chunk info from skipped list")
- chunk_addr = udata.addr;
+ chunk_addr = udata.chunk_block.offset;
} /* end if */
else
chunk_addr = total_chunk_addr_array[chunk_info->index];
@@ -1700,7 +1699,7 @@ H5D__obtain_mpio_mode(H5D_io_info_t* io_info, H5D_chunk_map_t *fm,
HGOTO_ERROR(H5E_IO, H5E_MPI, FAIL, "unable to obtain mpi size")
/* Setup parameters */
- H5_ASSIGN_OVERFLOW(total_chunks, fm->layout->u.chunk.nchunks, hsize_t, int);
+ H5_CHECKED_ASSIGN(total_chunks, int, fm->layout->u.chunk.nchunks, hsize_t);
percent_nproc_per_chunk = H5P_peek_unsigned(dx_plist, H5D_XFER_MPIO_CHUNK_OPT_RATIO_NAME);
/* if ratio is 0, perform collective io */
if(0 == percent_nproc_per_chunk) {
diff --git a/src/H5Dpkg.h b/src/H5Dpkg.h
index daee34f..ea89331 100644
--- a/src/H5Dpkg.h
+++ b/src/H5Dpkg.h
@@ -33,6 +33,7 @@
/* Other private headers needed by this file */
#include "H5ACprivate.h" /* Metadata cache */
+#include "H5Fprivate.h" /* File access */
#include "H5Gprivate.h" /* Groups */
#include "H5SLprivate.h" /* Skip lists */
#include "H5Tprivate.h" /* Datatypes */
@@ -82,7 +83,7 @@ typedef struct H5D_type_info_t {
/* Computed/derived values */
size_t src_type_size; /* Size of source type */
- size_t dst_type_size; /* Size of destination type*/
+ size_t dst_type_size; /* Size of destination type */
size_t max_type_size; /* Size of largest source/destination type */
hbool_t is_conv_noop; /* Whether the type conversion is a NOOP */
hbool_t is_xform_noop; /* Whether the data transform is a NOOP */
@@ -238,8 +239,8 @@ typedef struct H5D_chk_idx_info_t {
* The chunk's file address, filter mask and size on disk are not key values.
*/
typedef struct H5D_chunk_rec_t {
- uint32_t nbytes; /* Size of stored data */
hsize_t offset[H5O_LAYOUT_NDIMS]; /* Logical offset to start */
+ uint32_t nbytes; /* Size of stored data */
unsigned filter_mask; /* Excluded filters */
haddr_t chunk_addr; /* Address of chunk in file */
} H5D_chunk_rec_t;
@@ -254,9 +255,6 @@ typedef struct H5D_chunk_common_ud_t {
const H5O_layout_chunk_t *layout; /* Chunk layout description */
const H5O_storage_chunk_t *storage; /* Chunk storage description */
const hsize_t *offset; /* Logical offset of chunk */
- const struct H5D_rdcc_t *rdcc; /* Chunk cache. Only necessary if the index may
- * be modified, and if any chunks in the dset
- * may be cached */
} H5D_chunk_common_ud_t;
/* B-tree callback info for various operations */
@@ -265,9 +263,8 @@ typedef struct H5D_chunk_ud_t {
/* Upward */
unsigned idx_hint; /*index of chunk in cache, if present */
- uint32_t nbytes; /*size of stored data */
+ H5F_block_t chunk_block; /*offset/length of chunk in file */
unsigned filter_mask; /*excluded filters */
- haddr_t addr; /*file address of chunk */
} H5D_chunk_ud_t;
/* Typedef for "generic" chunk callbacks */
@@ -325,9 +322,9 @@ typedef struct H5D_chunk_info_t {
uint32_t chunk_points; /* Number of elements selected in chunk */
hsize_t coords[H5O_LAYOUT_NDIMS]; /* Coordinates of chunk in file dataset's dataspace */
H5S_t *fspace; /* Dataspace describing chunk & selection in it */
- unsigned fspace_shared; /* Indicate that the file space for a chunk is shared and shouldn't be freed */
+ hbool_t fspace_shared; /* Indicate that the file space for a chunk is shared and shouldn't be freed */
H5S_t *mspace; /* Dataspace describing selection in memory corresponding to this chunk */
- unsigned mspace_shared; /* Indicate that the memory space for a chunk is shared and shouldn't be freed */
+ hbool_t mspace_shared; /* Indicate that the memory space for a chunk is shared and shouldn't be freed */
} H5D_chunk_info_t;
/* Main structure holding the mapping between file chunks and memory */
@@ -337,7 +334,6 @@ typedef struct H5D_chunk_map_t {
const H5S_t *file_space; /* Pointer to the file dataspace */
unsigned f_ndims; /* Number of dimensions for file dataspace */
- hsize_t f_dims[H5O_LAYOUT_NDIMS]; /* File dataspace dimensions */
const H5S_t *mem_space; /* Pointer to the memory dataspace */
H5S_t *mchunk_tmpl; /* Dataspace template for new memory chunks */
@@ -365,9 +361,9 @@ typedef struct H5D_chunk_map_t {
typedef struct H5D_chunk_cached_t {
hbool_t valid; /*whether cache info is valid*/
hsize_t offset[H5O_LAYOUT_NDIMS]; /*logical offset to start*/
+ haddr_t addr; /*file address of chunk */
uint32_t nbytes; /*size of stored data */
unsigned filter_mask; /*excluded filters */
- haddr_t addr; /*file address of chunk */
} H5D_chunk_cached_t;
/* The raw data chunk cache */
@@ -389,7 +385,7 @@ typedef struct H5D_rdcc_t {
struct H5D_rdcc_ent_t **slot; /* Chunk slots, each points to a chunk*/
H5SL_t *sel_chunks; /* Skip list containing information for each chunk selected */
H5S_t *single_space; /* Dataspace for single element I/O on chunks */
- H5D_chunk_info_t *single_chunk_info; /* Pointer to single chunk's info */
+ H5D_chunk_info_t *single_chunk_info; /* Pointer to single chunk's info */
} H5D_rdcc_t;
/* The raw data contiguous data cache */
@@ -419,6 +415,11 @@ typedef struct H5D_shared_t {
H5O_layout_t layout; /* Data layout */
hbool_t checked_filters;/* TRUE if dataset passes can_apply check */
+ /* Cached dataspace info */
+ unsigned ndims; /* The dataset's dataspace rank */
+ hsize_t curr_dims[H5S_MAX_RANK]; /* The curr. size of dataset dimensions */
+ hsize_t max_dims[H5S_MAX_RANK]; /* The max. size of dataset dimensions */
+
/* Buffered/cached information for types of raw data storage*/
struct {
H5D_rdcdc_t contig; /* Information about contiguous data */
@@ -492,11 +493,11 @@ typedef struct {
typedef struct H5D_rdcc_ent_t {
hbool_t locked; /*entry is locked in cache */
hbool_t dirty; /*needs to be written to disk? */
- hbool_t deleted; /*chunk about to be deleted (do not flush) */
+ hbool_t deleted; /*chunk about to be deleted */
hsize_t offset[H5O_LAYOUT_NDIMS]; /*chunk name */
uint32_t rd_count; /*bytes remaining to be read */
uint32_t wr_count; /*bytes remaining to be written */
- haddr_t chunk_addr; /*address of chunk in file */
+ H5F_block_t chunk_block; /*offset/length of chunk in file */
uint8_t *chunk; /*the unfiltered chunk data */
unsigned idx; /*index in hash table */
struct H5D_rdcc_ent_t *next;/*next item in doubly-linked list */
diff --git a/src/H5F.c b/src/H5F.c
index 363fef5..3866adc 100644
--- a/src/H5F.c
+++ b/src/H5F.c
@@ -603,15 +603,15 @@ H5Fcreate(const char *filename, unsigned flags, hid_t fcpl_id, hid_t fapl_id)
/* Check/fix arguments */
if(!filename || !*filename)
- HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "invalid file name")
+ HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "invalid file name")
/* In this routine, we only accept the following flags:
- * H5F_ACC_EXCL, H5F_ACC_TRUNC and H5F_ACC_DEBUG
+ * H5F_ACC_EXCL and H5F_ACC_TRUNC
*/
- if(flags & ~(H5F_ACC_EXCL | H5F_ACC_TRUNC | H5F_ACC_DEBUG))
- HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "invalid flags")
+ if(flags & ~(H5F_ACC_EXCL | H5F_ACC_TRUNC))
+ HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "invalid flags")
/* The H5F_ACC_EXCL and H5F_ACC_TRUNC flags are mutually exclusive */
if((flags & H5F_ACC_EXCL) && (flags & H5F_ACC_TRUNC))
- HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "mutually exclusive flags for file creation")
+ HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "mutually exclusive flags for file creation")
/* Check file creation property list */
if(H5P_DEFAULT == fcpl_id)
diff --git a/src/H5FAdblock.c b/src/H5FAdblock.c
index 80e2159..9efc2bc 100644
--- a/src/H5FAdblock.c
+++ b/src/H5FAdblock.c
@@ -129,7 +129,7 @@ H5FA__dblock_alloc(H5FA_hdr_t *hdr, hsize_t nelmts))
hsize_t npages = ((nelmts + dblock->dblk_page_nelmts) - 1) / dblock->dblk_page_nelmts;
/* Safely assign the number of pages */
- H5_ASSIGN_OVERFLOW(/* To: */ dblock->npages, /* From: */ npages, /* From: */ hsize_t, /* To: */ size_t);
+ H5_CHECKED_ASSIGN(dblock->npages, size_t, npages, hsize_t);
/* Sanity check that we have at least 1 page */
HDassert(dblock->npages > 0);
diff --git a/src/H5FD.c b/src/H5FD.c
index 914bcc7..57f7c50 100644
--- a/src/H5FD.c
+++ b/src/H5FD.c
@@ -1840,12 +1840,12 @@ done:
*-------------------------------------------------------------------------
*/
herr_t
-H5FDtruncate(H5FD_t *file, hid_t dxpl_id, unsigned closing)
+H5FDtruncate(H5FD_t *file, hid_t dxpl_id, hbool_t closing)
{
herr_t ret_value = SUCCEED; /* Return value */
FUNC_ENTER_API(FAIL)
- H5TRACE3("e", "*xiIu", file, dxpl_id, closing);
+ H5TRACE3("e", "*xib", file, dxpl_id, closing);
/* Check args */
if(!file || !file->cls)
@@ -1879,7 +1879,7 @@ done:
*-------------------------------------------------------------------------
*/
herr_t
-H5FD_truncate(H5FD_t *file, hid_t dxpl_id, unsigned closing)
+H5FD_truncate(H5FD_t *file, hid_t dxpl_id, hbool_t closing)
{
herr_t ret_value = SUCCEED; /* Return value */
diff --git a/src/H5FDcore.c b/src/H5FDcore.c
index ba4270e..f9bda00 100644
--- a/src/H5FDcore.c
+++ b/src/H5FDcore.c
@@ -1300,7 +1300,7 @@ H5FD_core_write(H5FD_t *_file, H5FD_mem_t UNUSED type, hid_t UNUSED dxpl_id, had
size_t new_eof;
/* Determine new size of memory buffer */
- H5_ASSIGN_OVERFLOW(new_eof, file->increment * ((addr + size) / file->increment), hsize_t, size_t);
+ H5_CHECKED_ASSIGN(new_eof, size_t, file->increment * ((addr + size) / file->increment), hsize_t);
if((addr + size) % file->increment)
new_eof += file->increment;
@@ -1469,7 +1469,7 @@ H5FD_core_truncate(H5FD_t *_file, hid_t UNUSED dxpl_id, hbool_t closing)
new_eof = file->eoa;
else { /* set eof to smallest multiple of increment that exceeds eoa */
/* Determine new size of memory buffer */
- H5_ASSIGN_OVERFLOW(new_eof, file->increment * (file->eoa / file->increment), hsize_t, size_t);
+ H5_CHECKED_ASSIGN(new_eof, size_t, file->increment * (file->eoa / file->increment), hsize_t);
if(file->eoa % file->increment)
new_eof += file->increment;
} /* end else */
diff --git a/src/H5FDdirect.c b/src/H5FDdirect.c
index 7507a2e..c2b0660 100644
--- a/src/H5FDdirect.c
+++ b/src/H5FDdirect.c
@@ -515,7 +515,7 @@ H5FD_direct_open(const char *name, unsigned flags, hid_t fapl_id, haddr_t maxadd
HGOTO_ERROR(H5E_PLIST, H5E_BADVALUE, NULL, "bad VFL driver info")
file->fd = fd;
- H5_ASSIGN_OVERFLOW(file->eof,sb.st_size,h5_stat_size_t,haddr_t);
+ H5_CHECKED_ASSIGN(file->eof, haddr_t, sb.st_size, h5_stat_size_t);
file->pos = HADDR_UNDEF;
file->op = OP_UNKNOWN;
#ifdef H5_HAVE_WIN32_API
diff --git a/src/H5FDfamily.c b/src/H5FDfamily.c
index d4e6f3d..175d5fd 100644
--- a/src/H5FDfamily.c
+++ b/src/H5FDfamily.c
@@ -1164,7 +1164,7 @@ H5FD_family_read(H5FD_t *_file, H5FD_mem_t type, hid_t dxpl_id, haddr_t addr, si
/* Read from each member */
while(size > 0) {
- H5_ASSIGN_OVERFLOW(u,addr /file->memb_size,hsize_t,unsigned);
+ H5_CHECKED_ASSIGN(u, unsigned, addr / file->memb_size, hsize_t);
sub = addr % file->memb_size;
@@ -1233,7 +1233,7 @@ H5FD_family_write(H5FD_t *_file, H5FD_mem_t type, hid_t dxpl_id, haddr_t addr, s
/* Write to each member */
while (size>0) {
- H5_ASSIGN_OVERFLOW(u,addr /file->memb_size,hsize_t,unsigned);
+ H5_CHECKED_ASSIGN(u, unsigned, addr / file->memb_size, hsize_t);
sub = addr % file->memb_size;
diff --git a/src/H5FDlog.c b/src/H5FDlog.c
index a2284dd..cc0caa4 100644
--- a/src/H5FDlog.c
+++ b/src/H5FDlog.c
@@ -571,7 +571,7 @@ H5FD_log_open(const char *name, unsigned flags, hid_t fapl_id, haddr_t maxaddr)
HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "unable to allocate file struct")
file->fd = fd;
- H5_ASSIGN_OVERFLOW(file->eof, sb.st_size, h5_stat_size_t, haddr_t);
+ H5_CHECKED_ASSIGN(file->eof, haddr_t, sb.st_size, h5_stat_size_t);
file->pos = HADDR_UNDEF;
file->op = OP_UNKNOWN;
#ifdef H5_HAVE_WIN32_API
diff --git a/src/H5FDmulti.c b/src/H5FDmulti.c
index b1f094c..bc61374 100644
--- a/src/H5FDmulti.c
+++ b/src/H5FDmulti.c
@@ -30,18 +30,11 @@
/* Disable certain warnings in PC-Lint: */
/*lint --emacro( {534, 830}, H5P_DEFAULT, H5P_FILE_ACCESS, H5P_DATASET_XFER) */
-/*lint --emacro( {534, 830}, H5F_ACC_DEBUG, H5F_ACC_RDWR) */
/*lint --emacro( {534, 830}, H5FD_MULTI) */
/*lint -esym( 534, H5Eclear2, H5Epush2) */
#include "hdf5.h"
-/*
- * Define H5FD_MULTI_DEBUG if you want the ability to print debugging
- * messages to the standard error stream. Messages are only printed if the
- * file is opened with the H5F_ACC_DEBUG flag.
- */
-#define H5FD_MULTI_DEBUG
#ifndef FALSE
#define FALSE 0
@@ -796,19 +789,6 @@ H5FD_multi_sb_decode(H5FD_t *_file, const char *name, const unsigned char *buf)
* files at the end.
*/
if (map_changed) {
-#ifdef H5FD_MULTI_DEBUG
- if (file->flags & H5F_ACC_DEBUG) {
- fprintf(stderr, "H5FD_MULTI: member map override\n");
- fprintf(stderr, " old value: ");
- ALL_MEMBERS(mt) {
- fprintf(stderr, "%s%d", mt?", ":"", (int)(file->fa.memb_map[mt]));
- } END_MEMBERS;
- fprintf(stderr, "\n new value: ");
- ALL_MEMBERS(mt) {
- fprintf(stderr, "%s%d", mt?", ":"", (int)(map[mt]));
- } END_MEMBERS;
- }
-#endif
/* Commit map */
ALL_MEMBERS(mt) {
file->fa.memb_map[mt] = map[mt];
@@ -821,11 +801,6 @@ H5FD_multi_sb_decode(H5FD_t *_file, const char *name, const unsigned char *buf)
} END_MEMBERS;
ALL_MEMBERS(mt) {
if (!in_use[mt] && file->memb[mt]) {
-#ifdef H5FD_MULTI_DEBUG
- if (file->flags & H5F_ACC_DEBUG) {
- fprintf(stderr, "H5FD_MULTI: close member %d\n", (int)mt);
- }
-#endif
(void)H5FDclose(file->memb[mt]);
file->memb[mt] = NULL;
}
@@ -1109,20 +1084,10 @@ H5FD_multi_close(H5FD_t *_file)
/* Close as many members as possible */
ALL_MEMBERS(mt) {
if (file->memb[mt]) {
-#ifdef H5FD_MULTI_DEBUG
- if (file->flags & H5F_ACC_DEBUG) {
- fprintf(stderr, "H5FD_MULTI: closing member %d\n", (int)mt);
- }
-#endif
if (H5FDclose(file->memb[mt])<0) {
-#ifdef H5FD_MULTI_DEBUG
- if (file->flags & H5F_ACC_DEBUG) {
- fprintf(stderr, "H5FD_MULTI: close failed\n");
- }
-#endif
- nerrors++;
+ nerrors++;
} else {
- file->memb[mt] = NULL;
+ file->memb[mt] = NULL;
}
}
} END_MEMBERS;
@@ -1895,18 +1860,10 @@ open_members(H5FD_multi_t *file)
*/
sprintf(tmp, file->fa.memb_name[mt], file->name);
-#ifdef H5FD_MULTI_DEBUG
- if(file->flags & H5F_ACC_DEBUG)
- fprintf(stderr, "H5FD_MULTI: open member %d \"%s\"\n", (int)mt, tmp);
-#endif
H5E_BEGIN_TRY {
file->memb[mt] = H5FDopen(tmp, file->flags, file->fa.memb_fapl[mt], HADDR_UNDEF);
} H5E_END_TRY;
if(!file->memb[mt]) {
-#ifdef H5FD_MULTI_DEBUG
- if(file->flags & H5F_ACC_DEBUG)
- fprintf(stderr, "H5FD_MULTI: open failed for member %d\n", (int)mt);
-#endif
if(!file->fa.relax || (file->flags & H5F_ACC_RDWR))
nerrors++;
}
diff --git a/src/H5FDprivate.h b/src/H5FDprivate.h
index e98f0f4..20e9a79 100644
--- a/src/H5FDprivate.h
+++ b/src/H5FDprivate.h
@@ -134,7 +134,7 @@ H5_DLL herr_t H5FD_read(H5FD_t *file, const H5P_genplist_t *dxpl, H5FD_mem_t typ
haddr_t addr, size_t size, void *buf/*out*/);
H5_DLL herr_t H5FD_write(H5FD_t *file, const H5P_genplist_t *dxpl, H5FD_mem_t type,
haddr_t addr, size_t size, const void *buf);
-H5_DLL herr_t H5FD_flush(H5FD_t *file, hid_t dxpl_id, hbool_t closing);
+H5_DLL herr_t H5FD_flush(H5FD_t *file, hid_t dxpl_id, unsigned closing);
H5_DLL herr_t H5FD_truncate(H5FD_t *file, hid_t dxpl_id, hbool_t closing);
H5_DLL herr_t H5FD_get_fileno(const H5FD_t *file, unsigned long *filenum);
H5_DLL herr_t H5FD_get_vfd_handle(H5FD_t *file, hid_t fapl, void** file_handle);
diff --git a/src/H5FDsec2.c b/src/H5FDsec2.c
index 1130789..b938c41 100644
--- a/src/H5FDsec2.c
+++ b/src/H5FDsec2.c
@@ -358,7 +358,7 @@ H5FD_sec2_open(const char *name, unsigned flags, hid_t fapl_id, haddr_t maxaddr)
HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "unable to allocate file struct")
file->fd = fd;
- H5_ASSIGN_OVERFLOW(file->eof, sb.st_size, h5_stat_size_t, haddr_t);
+ H5_CHECKED_ASSIGN(file->eof, haddr_t, sb.st_size, h5_stat_size_t);
file->pos = HADDR_UNDEF;
file->op = OP_UNKNOWN;
#ifdef H5_HAVE_WIN32_API
diff --git a/src/H5FScache.c b/src/H5FScache.c
index e03a0a4..306a3fd 100644
--- a/src/H5FScache.c
+++ b/src/H5FScache.c
@@ -578,7 +578,7 @@ H5FS_cache_sinfo_load(H5F_t *f, hid_t dxpl_id, haddr_t UNUSED addr, void *_udata
HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed")
/* Allocate space for the buffer to serialize the sections into */
- H5_ASSIGN_OVERFLOW(/* To: */ old_sect_size, /* From: */ udata->fspace->sect_size, /* From: */ hsize_t, /* To: */ size_t);
+ H5_CHECKED_ASSIGN(old_sect_size, size_t, udata->fspace->sect_size, hsize_t);
if(NULL == (buf = H5FL_BLK_MALLOC(sect_block, (size_t)udata->fspace->sect_size)))
HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed")
@@ -1038,7 +1038,7 @@ H5FS_cache_sinfo_size(const H5F_t UNUSED *f, const H5FS_sinfo_t *sinfo, size_t *
HDassert(size_ptr);
/* Set size value */
- H5_ASSIGN_OVERFLOW(/* To: */ *size_ptr, /* From: */ sinfo->fspace->alloc_sect_size, /* From: */ hsize_t, /* To: */ size_t);
+ H5_CHECKED_ASSIGN(*size_ptr, size_t, sinfo->fspace->alloc_sect_size, hsize_t);
FUNC_LEAVE_NOAPI(SUCCEED)
} /* H5FS_cache_sinfo_size() */
diff --git a/src/H5Faccum.c b/src/H5Faccum.c
index 7eb75bd..7cd9abb 100644
--- a/src/H5Faccum.c
+++ b/src/H5Faccum.c
@@ -172,7 +172,7 @@ H5F__accum_read(const H5F_io_info_t *fio_info, H5FD_mem_t type, haddr_t addr,
/* Read the part before the metadata accumulator */
if(addr < accum->loc) {
/* Set the amount to read */
- H5_ASSIGN_OVERFLOW(amount_before, (accum->loc - addr), hsize_t, size_t);
+ H5_CHECKED_ASSIGN(amount_before, size_t, (accum->loc - addr), hsize_t);
/* Make room for the metadata to read in */
HDmemmove(accum->buf + amount_before, accum->buf, accum->size);
@@ -193,7 +193,7 @@ H5F__accum_read(const H5F_io_info_t *fio_info, H5FD_mem_t type, haddr_t addr,
size_t amount_after; /* Amount to read at a time */
/* Set the amount to read */
- H5_ASSIGN_OVERFLOW(amount_after, ((addr + size) - (accum->loc + accum->size)), hsize_t, size_t);
+ H5_CHECKED_ASSIGN(amount_after, size_t, ((addr + size) - (accum->loc + accum->size)), hsize_t);
/* Dispatch to driver */
if(H5FD_read(fio_info->f->shared->lf, fio_info->dxpl, map_type, (accum->loc + accum->size), amount_after, (accum->buf + accum->size + amount_before)) < 0)
@@ -536,14 +536,14 @@ H5F__accum_write(const H5F_io_info_t *fio_info, H5FD_mem_t type, haddr_t addr,
size_t old_offset; /* Offset of old data within the accumulator buffer */
/* Calculate the amount we will need to add to the accumulator size, based on the amount of overlap */
- H5_ASSIGN_OVERFLOW(add_size, (accum->loc - addr), hsize_t, size_t);
+ H5_CHECKED_ASSIGN(add_size, size_t, (accum->loc - addr), hsize_t);
/* Check if we need to adjust accumulator size */
if(H5F__accum_adjust(accum, fio_info, H5F_ACCUM_PREPEND, add_size) < 0)
HGOTO_ERROR(H5E_IO, H5E_CANTRESIZE, FAIL, "can't adjust metadata accumulator")
/* Calculate the proper offset of the existing metadata */
- H5_ASSIGN_OVERFLOW(old_offset, (addr + size) - accum->loc, hsize_t, size_t);
+ H5_CHECKED_ASSIGN(old_offset, size_t, (addr + size) - accum->loc, hsize_t);
/* Move the existing metadata to the proper location */
HDmemmove(accum->buf + size, accum->buf + old_offset, (accum->size - old_offset));
@@ -576,7 +576,7 @@ H5F__accum_write(const H5F_io_info_t *fio_info, H5FD_mem_t type, haddr_t addr,
size_t dirty_off; /* Offset of dirty region */
/* Calculate the amount we will need to add to the accumulator size, based on the amount of overlap */
- H5_ASSIGN_OVERFLOW(add_size, (addr + size) - (accum->loc + accum->size), hsize_t, size_t);
+ H5_CHECKED_ASSIGN(add_size, size_t, (addr + size) - (accum->loc + accum->size), hsize_t);
/* Check if we need to adjust accumulator size */
if(H5F__accum_adjust(accum, fio_info, H5F_ACCUM_APPEND, add_size) < 0)
@@ -885,7 +885,7 @@ H5F__accum_free(const H5F_io_info_t *fio_info, H5FD_mem_t UNUSED type, haddr_t a
size_t new_accum_size; /* Size of new accumulator buffer */
/* Calculate the size of the overlap with the accumulator, etc. */
- H5_ASSIGN_OVERFLOW(overlap_size, (addr + size) - accum->loc, haddr_t, size_t);
+ H5_CHECKED_ASSIGN(overlap_size, size_t, (addr + size) - accum->loc, haddr_t);
new_accum_size = accum->size - overlap_size;
/* Move the accumulator buffer information to eliminate the freed block */
@@ -919,7 +919,7 @@ H5F__accum_free(const H5F_io_info_t *fio_info, H5FD_mem_t UNUSED type, haddr_t a
haddr_t dirty_start = accum->loc + accum->dirty_off;
/* Calculate the size of the overlap with the accumulator */
- H5_ASSIGN_OVERFLOW(overlap_size, (accum->loc + accum->size) - addr, haddr_t, size_t);
+ H5_CHECKED_ASSIGN(overlap_size, size_t, (accum->loc + accum->size) - addr, haddr_t);
/* Check if block to free begins before end of dirty region */
if(accum->dirty && H5F_addr_lt(addr, dirty_end)) {
diff --git a/src/H5Fio.c b/src/H5Fio.c
index 1d05cd0..763bd69 100644
--- a/src/H5Fio.c
+++ b/src/H5Fio.c
@@ -100,6 +100,9 @@ H5F_block_read(const H5F_t *f, H5FD_mem_t type, haddr_t addr, size_t size,
herr_t ret_value = SUCCEED; /* Return value */
FUNC_ENTER_NOAPI(FAIL)
+#ifdef QAK
+HDfprintf(stderr, "%s: read from addr = %a, size = %Zu\n", FUNC, addr, size);
+#endif /* QAK */
HDassert(f);
HDassert(f->shared);
diff --git a/src/H5Fprivate.h b/src/H5Fprivate.h
index 20b840b..03de941 100644
--- a/src/H5Fprivate.h
+++ b/src/H5Fprivate.h
@@ -577,6 +577,13 @@ typedef struct H5F_io_info_t {
const struct H5P_genplist_t *dxpl; /* DXPL object */
} H5F_io_info_t;
+/* Concise info about a block of bytes in a file */
+typedef struct H5F_block_t {
+ haddr_t offset; /* Offset of the block in the file */
+ hsize_t length; /* Length of the block in the file */
+} H5F_block_t;
+
+
/*****************************/
/* Library-private Variables */
/*****************************/
diff --git a/src/H5Fpublic.h b/src/H5Fpublic.h
index 54d5ce0..f899a50 100644
--- a/src/H5Fpublic.h
+++ b/src/H5Fpublic.h
@@ -41,12 +41,14 @@
* We're assuming that these constants are used rather early in the hdf5
* session.
*
+ * Note that H5F_ACC_DEBUG is deprecated (nonfuncational) but retained as a
+ * symbol for backward compatibility.
*/
#define H5F_ACC_RDONLY (H5CHECK 0x0000u) /*absence of rdwr => rd-only */
#define H5F_ACC_RDWR (H5CHECK 0x0001u) /*open for read and write */
#define H5F_ACC_TRUNC (H5CHECK 0x0002u) /*overwrite existing files */
#define H5F_ACC_EXCL (H5CHECK 0x0004u) /*fail if file already exists*/
-#define H5F_ACC_DEBUG (H5CHECK 0x0008u) /*print debug info */
+/* NOTE: 0x0008u was H5F_ACC_DEBUG, now deprecated */
#define H5F_ACC_CREAT (H5CHECK 0x0010u) /*create non-existing files */
/* Value passed to H5Pset_elink_acc_flags to cause flags to be taken from the
@@ -221,7 +223,7 @@ H5_DLL herr_t H5Fget_mpi_atomicity(hid_t file_id, hbool_t *flag);
#ifndef H5_NO_DEPRECATED_SYMBOLS
/* Macros */
-
+#define H5F_ACC_DEBUG (H5CHECK 0x0000u) /*print debug info (deprecated)*/
/* Typedefs */
diff --git a/src/H5Fsuper.c b/src/H5Fsuper.c
index dd80a46..845ab8c 100644
--- a/src/H5Fsuper.c
+++ b/src/H5Fsuper.c
@@ -434,7 +434,7 @@ H5F_super_init(H5F_t *f, hid_t dxpl_id)
superblock_size = (hsize_t)H5F_SUPERBLOCK_SIZE(super_vers, f);
/* Compute the size of the driver information block */
- H5_ASSIGN_OVERFLOW(driver_size, H5FD_sb_size(f->shared->lf), hsize_t, size_t);
+ H5_CHECKED_ASSIGN(driver_size, size_t, H5FD_sb_size(f->shared->lf), hsize_t);
if(driver_size > 0) {
driver_size += H5F_DRVINFOBLOCK_HDR_SIZE;
diff --git a/src/H5Fsuper_cache.c b/src/H5Fsuper_cache.c
index f3931cb..5737ce4 100644
--- a/src/H5Fsuper_cache.c
+++ b/src/H5Fsuper_cache.c
@@ -723,7 +723,7 @@ H5F_sblock_flush(H5F_t *f, hid_t dxpl_id, hbool_t destroy, haddr_t UNUSED addr,
HGOTO_ERROR(H5E_FILE, H5E_CANTENCODE, FAIL, "can't encode root group symbol table entry")
/* Encode the driver information block. */
- H5_ASSIGN_OVERFLOW(driver_size, H5FD_sb_size(f->shared->lf), hsize_t, size_t);
+ H5_CHECKED_ASSIGN(driver_size, size_t, H5FD_sb_size(f->shared->lf), hsize_t);
/* Checking whether driver block address is defined here is to handle backward
* compatibility. If the file was created with v1.6 library or earlier and no
@@ -799,7 +799,7 @@ H5F_sblock_flush(H5F_t *f, hid_t dxpl_id, hbool_t destroy, haddr_t UNUSED addr,
} /* end else */
/* Retrieve the total size of the superblock info */
- H5_ASSIGN_OVERFLOW(superblock_size, (p - buf), ptrdiff_t, size_t);
+ H5_CHECKED_ASSIGN(superblock_size, size_t, (p - buf), ptrdiff_t);
/* Double check we didn't overrun the block (unlikely) */
HDassert(superblock_size <= sizeof(buf));
@@ -824,7 +824,7 @@ H5F_sblock_flush(H5F_t *f, hid_t dxpl_id, hbool_t destroy, haddr_t UNUSED addr,
/* Check for ignoring the driver info for this file */
if(!H5F_HAS_FEATURE(f, H5FD_FEAT_IGNORE_DRVRINFO)) {
/* Check for driver info message */
- H5_ASSIGN_OVERFLOW(driver_size, H5FD_sb_size(f->shared->lf), hsize_t, size_t);
+ H5_CHECKED_ASSIGN(driver_size, size_t, H5FD_sb_size(f->shared->lf), hsize_t);
if(driver_size > 0) {
H5O_drvinfo_t drvinfo; /* Driver info */
uint8_t dbuf[H5F_MAX_DRVINFOBLOCK_SIZE]; /* Driver info block encoding buffer */
diff --git a/src/H5G.c b/src/H5G.c
index 22d367e..5939a39 100644
--- a/src/H5G.c
+++ b/src/H5G.c
@@ -472,7 +472,7 @@ H5Gopen2(hid_t loc_id, const char *name, hid_t gapl_id)
/* Create the group through the VOL */
if(NULL == (grp = H5VL_group_open(obj->vol_obj, loc_params, obj->vol_info->vol_cls,
- name, gapl_id, H5AC_dxpl_id, H5_REQUEST_NULL)))
+ name, gapl_id, H5AC_ind_dxpl_id, H5_REQUEST_NULL)))
HGOTO_ERROR(H5E_SYM, H5E_CANTOPENOBJ, FAIL, "unable to open group")
/* Get an atom for the group */
@@ -481,7 +481,7 @@ H5Gopen2(hid_t loc_id, const char *name, hid_t gapl_id)
done:
if (ret_value < 0 && grp)
- if(H5VL_group_close (grp, obj->vol_info->vol_cls, H5AC_dxpl_id, H5_REQUEST_NULL) < 0)
+ if(H5VL_group_close (grp, obj->vol_info->vol_cls, H5AC_ind_dxpl_id, H5_REQUEST_NULL) < 0)
HDONE_ERROR(H5E_SYM, H5E_CLOSEERROR, FAIL, "unable to release group")
FUNC_LEAVE_API(ret_value)
} /* end H5Gopen2() */
diff --git a/src/H5Gdeprec.c b/src/H5Gdeprec.c
index 411fc94..11a6d53 100644
--- a/src/H5Gdeprec.c
+++ b/src/H5Gdeprec.c
@@ -258,7 +258,7 @@ H5Gcreate1(hid_t loc_id, const char *name, size_t size_hint)
HGOTO_ERROR(H5E_PLIST, H5E_CANTGET, FAIL, "can't get group info")
/* Set the non-default local heap size hint */
- H5_ASSIGN_OVERFLOW(ginfo.lheap_size_hint, size_hint, size_t, uint32_t);
+ H5_CHECKED_ASSIGN(ginfo.lheap_size_hint, uint32_t, size_hint, size_t);
if(H5P_set(gc_plist, H5G_CRT_GROUP_INFO_NAME, &ginfo) < 0)
HGOTO_ERROR(H5E_PLIST, H5E_CANTSET, FAIL, "can't set group info")
} /* end if */
@@ -342,7 +342,7 @@ H5Gopen1(hid_t loc_id, const char *name)
/* Create the group through the VOL */
if(NULL == (grp = H5VL_group_open(obj->vol_obj, loc_params, obj->vol_info->vol_cls, name, H5P_DEFAULT,
- H5AC_dxpl_id, H5_REQUEST_NULL)))
+ H5AC_ind_dxpl_id, H5_REQUEST_NULL)))
HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to create group")
/* Get an atom for the group */
@@ -351,7 +351,7 @@ H5Gopen1(hid_t loc_id, const char *name)
done:
if (ret_value < 0 && grp)
- if(H5VL_group_close (grp, obj->vol_info->vol_cls, H5AC_dxpl_id, H5_REQUEST_NULL) < 0)
+ if(H5VL_group_close (grp, obj->vol_info->vol_cls, H5AC_ind_dxpl_id, H5_REQUEST_NULL) < 0)
HDONE_ERROR(H5E_SYM, H5E_CLOSEERROR, FAIL, "unable to release group")
FUNC_LEAVE_API(ret_value)
} /* end H5Gopen1() */
diff --git a/src/H5Glink.c b/src/H5Glink.c
index f934052..8b258b5 100644
--- a/src/H5Glink.c
+++ b/src/H5Glink.c
@@ -467,7 +467,7 @@ H5G__link_iterate_table(const H5G_link_table_t *ltable, hsize_t skip,
*last_lnk += skip;
/* Iterate over link messages */
- H5_ASSIGN_OVERFLOW(/* To: */ u, /* From: */ skip, /* From: */ hsize_t, /* To: */ size_t)
+ H5_CHECKED_ASSIGN(u, size_t, skip, hsize_t)
for(; u < ltable->nlinks && !ret_value; u++) {
/* Make the callback */
ret_value = (op)(&(ltable->lnks[u]), op_data);
diff --git a/src/H5Gtest.c b/src/H5Gtest.c
index da9884a..94599a4 100644
--- a/src/H5Gtest.c
+++ b/src/H5Gtest.c
@@ -98,6 +98,7 @@ H5G__is_empty_test(hid_t gid)
H5G_t *grp = NULL; /* Pointer to group */
htri_t msg_exists = FALSE; /* Indicate that a header message is present */
htri_t linfo_exists = FALSE;/* Indicate that the 'link info' message is present */
+ hid_t dxpl_id = H5AC_ind_dxpl_id; /* transfer property list used for this operation */
htri_t ret_value = TRUE; /* Return value */
FUNC_ENTER_PACKAGE
@@ -109,11 +110,11 @@ H5G__is_empty_test(hid_t gid)
/* "New format" checks */
/* Check if the group has any link messages */
- if((msg_exists = H5O_msg_exists(&(grp->oloc), H5O_LINK_ID, H5AC_dxpl_id)) < 0)
+ if((msg_exists = H5O_msg_exists(&(grp->oloc), H5O_LINK_ID, dxpl_id)) < 0)
HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to read object header")
if(msg_exists > 0) {
/* Sanity check that new group format shouldn't have old messages */
- if((msg_exists = H5O_msg_exists(&(grp->oloc), H5O_STAB_ID, H5AC_dxpl_id)) < 0)
+ if((msg_exists = H5O_msg_exists(&(grp->oloc), H5O_STAB_ID, dxpl_id)) < 0)
HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to read object header")
if(msg_exists > 0)
HGOTO_ERROR(H5E_SYM, H5E_BADVALUE, FAIL, "both symbol table and link messages found")
@@ -122,19 +123,19 @@ H5G__is_empty_test(hid_t gid)
} /* end if */
/* Check for a link info message */
- if((linfo_exists = H5O_msg_exists(&(grp->oloc), H5O_LINFO_ID, H5AC_dxpl_id)) < 0)
+ if((linfo_exists = H5O_msg_exists(&(grp->oloc), H5O_LINFO_ID, dxpl_id)) < 0)
HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to read object header")
if(linfo_exists > 0) {
H5O_linfo_t linfo; /* Link info message */
/* Sanity check that new group format shouldn't have old messages */
- if((msg_exists = H5O_msg_exists(&(grp->oloc), H5O_STAB_ID, H5AC_dxpl_id)) < 0)
+ if((msg_exists = H5O_msg_exists(&(grp->oloc), H5O_STAB_ID, dxpl_id)) < 0)
HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to read object header")
if(msg_exists > 0)
HGOTO_ERROR(H5E_SYM, H5E_BADVALUE, FAIL, "both symbol table and link info messages found")
/* Get the link info */
- if(H5G__obj_get_linfo(&(grp->oloc), &linfo, H5AC_dxpl_id) < 0)
+ if(H5G__obj_get_linfo(&(grp->oloc), &linfo, dxpl_id) < 0)
HGOTO_ERROR(H5E_SYM, H5E_BADMESG, FAIL, "can't get link info")
/* Check for 'dense' link storage file addresses being defined */
@@ -153,7 +154,7 @@ H5G__is_empty_test(hid_t gid)
/* "Old format" checks */
/* Check if the group has a symbol table message */
- if((msg_exists = H5O_msg_exists(&(grp->oloc), H5O_STAB_ID, H5AC_dxpl_id)) < 0)
+ if((msg_exists = H5O_msg_exists(&(grp->oloc), H5O_STAB_ID, dxpl_id)) < 0)
HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to read object header")
if(msg_exists > 0) {
H5O_stab_t stab; /* Info about local heap & B-tree */
@@ -162,17 +163,17 @@ H5G__is_empty_test(hid_t gid)
/* Sanity check that old group format shouldn't have new messages */
if(linfo_exists > 0)
HGOTO_ERROR(H5E_SYM, H5E_BADVALUE, FAIL, "both symbol table and link info messages found")
- if((msg_exists = H5O_msg_exists(&(grp->oloc), H5O_GINFO_ID, H5AC_dxpl_id)) < 0)
+ if((msg_exists = H5O_msg_exists(&(grp->oloc), H5O_GINFO_ID, dxpl_id)) < 0)
HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to read object header")
if(msg_exists > 0)
HGOTO_ERROR(H5E_SYM, H5E_BADVALUE, FAIL, "both symbol table and group info messages found")
/* Get the B-tree & local heap info */
- if(NULL == H5O_msg_read(&(grp->oloc), H5O_STAB_ID, &stab, H5AC_dxpl_id))
+ if(NULL == H5O_msg_read(&(grp->oloc), H5O_STAB_ID, &stab, dxpl_id))
HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, FAIL, "unable to read symbol table message")
/* Get the count of links in the group */
- if(H5G__stab_count(&(grp->oloc), &nlinks, H5AC_dxpl_id) < 0)
+ if(H5G__stab_count(&(grp->oloc), &nlinks, dxpl_id) < 0)
HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, FAIL, "unable to count links")
/* Check for link count */
@@ -209,6 +210,7 @@ H5G__has_links_test(hid_t gid, unsigned *nmsgs)
{
H5G_t *grp = NULL; /* Pointer to group */
htri_t msg_exists = 0; /* Indicate that a header message is present */
+ hid_t dxpl_id = H5AC_ind_dxpl_id; /* transfer property list used for this operation */
htri_t ret_value = TRUE; /* Return value */
FUNC_ENTER_PACKAGE
@@ -218,13 +220,13 @@ H5G__has_links_test(hid_t gid, unsigned *nmsgs)
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a group")
/* Check if the group has any link messages */
- if((msg_exists = H5O_msg_exists(&(grp->oloc), H5O_LINK_ID, H5AC_dxpl_id)) < 0)
+ if((msg_exists = H5O_msg_exists(&(grp->oloc), H5O_LINK_ID, dxpl_id)) < 0)
HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to read object header")
if(msg_exists == 0)
HGOTO_DONE(FALSE)
/* Check if the group has a symbol table message */
- if((msg_exists = H5O_msg_exists(&(grp->oloc), H5O_STAB_ID, H5AC_dxpl_id)) < 0)
+ if((msg_exists = H5O_msg_exists(&(grp->oloc), H5O_STAB_ID, dxpl_id)) < 0)
HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to read object header")
if(msg_exists > 0)
HGOTO_ERROR(H5E_SYM, H5E_BADVALUE, FAIL, "both symbol table and link messages found")
@@ -234,7 +236,7 @@ H5G__has_links_test(hid_t gid, unsigned *nmsgs)
int msg_count; /* Number of messages of a type */
/* Check how many link messages there are */
- if((msg_count = H5O_msg_count(&(grp->oloc), H5O_LINK_ID, H5AC_dxpl_id)) < 0)
+ if((msg_count = H5O_msg_count(&(grp->oloc), H5O_LINK_ID, dxpl_id)) < 0)
HGOTO_ERROR(H5E_SYM, H5E_CANTCOUNT, FAIL, "unable to count link messages")
*nmsgs = (unsigned)msg_count;
} /* end if */
@@ -267,6 +269,7 @@ H5G__has_stab_test(hid_t gid)
{
H5G_t *grp = NULL; /* Pointer to group */
htri_t msg_exists = 0; /* Indicate that a header message is present */
+ hid_t dxpl_id = H5AC_ind_dxpl_id; /* transfer property list used for this operation */
htri_t ret_value = TRUE; /* Return value */
FUNC_ENTER_PACKAGE
@@ -276,13 +279,13 @@ H5G__has_stab_test(hid_t gid)
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a group")
/* Check if the group has a symbol table message */
- if((msg_exists = H5O_msg_exists(&(grp->oloc), H5O_STAB_ID, H5AC_dxpl_id)) < 0)
+ if((msg_exists = H5O_msg_exists(&(grp->oloc), H5O_STAB_ID, dxpl_id)) < 0)
HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to read object header")
if(msg_exists == 0)
HGOTO_DONE(FALSE)
/* Check if the group has any link messages */
- if((msg_exists = H5O_msg_exists(&(grp->oloc), H5O_LINK_ID, H5AC_dxpl_id)) < 0)
+ if((msg_exists = H5O_msg_exists(&(grp->oloc), H5O_LINK_ID, dxpl_id)) < 0)
HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to read object header")
if(msg_exists > 0)
HGOTO_ERROR(H5E_SYM, H5E_BADVALUE, FAIL, "both symbol table and link messages found")
@@ -317,6 +320,7 @@ H5G__is_new_dense_test(hid_t gid)
{
H5G_t *grp = NULL; /* Pointer to group */
htri_t msg_exists = 0; /* Indicate that a header message is present */
+ hid_t dxpl_id = H5AC_ind_dxpl_id; /* transfer property list used for this operation */
htri_t ret_value = TRUE; /* Return value */
FUNC_ENTER_PACKAGE
@@ -326,25 +330,25 @@ H5G__is_new_dense_test(hid_t gid)
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a group")
/* Check if the group has a symbol table message */
- if((msg_exists = H5O_msg_exists(&(grp->oloc), H5O_STAB_ID, H5AC_dxpl_id)) < 0)
+ if((msg_exists = H5O_msg_exists(&(grp->oloc), H5O_STAB_ID, dxpl_id)) < 0)
HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to read object header")
if(msg_exists > 0)
HGOTO_DONE(FALSE)
/* Check if the group has any link messages */
- if((msg_exists = H5O_msg_exists(&(grp->oloc), H5O_LINK_ID, H5AC_dxpl_id)) < 0)
+ if((msg_exists = H5O_msg_exists(&(grp->oloc), H5O_LINK_ID, dxpl_id)) < 0)
HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to read object header")
if(msg_exists > 0)
HGOTO_DONE(FALSE)
/* Check if the group has link info message */
- if((msg_exists = H5O_msg_exists(&(grp->oloc), H5O_LINFO_ID, H5AC_dxpl_id)) < 0)
+ if((msg_exists = H5O_msg_exists(&(grp->oloc), H5O_LINFO_ID, dxpl_id)) < 0)
HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to read object header")
if(msg_exists > 0) {
H5O_linfo_t linfo; /* Link info message */
/* Get the link info */
- if(H5G__obj_get_linfo(&(grp->oloc), &linfo, H5AC_dxpl_id) < 0)
+ if(H5G__obj_get_linfo(&(grp->oloc), &linfo, dxpl_id) < 0)
HGOTO_ERROR(H5E_SYM, H5E_BADMESG, FAIL, "can't get link info")
/* Check for 'dense' link storage file addresses being defined */
@@ -387,6 +391,7 @@ H5G__new_dense_info_test(hid_t gid, hsize_t *name_count, hsize_t *corder_count)
H5B2_t *bt2_corder = NULL; /* v2 B-tree handle for creation order index */
H5O_linfo_t linfo; /* Link info message */
H5G_t *grp = NULL; /* Pointer to group */
+ hid_t dxpl_id = H5AC_ind_dxpl_id; /* transfer property list used for this operation */
herr_t ret_value = SUCCEED; /* Return value */
FUNC_ENTER_PACKAGE
@@ -396,10 +401,10 @@ H5G__new_dense_info_test(hid_t gid, hsize_t *name_count, hsize_t *corder_count)
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a group")
/* Set metadata tag in dxpl_id */
- H5_BEGIN_TAG(H5AC_dxpl_id, grp->oloc.addr, FAIL);
+ H5_BEGIN_TAG(dxpl_id, grp->oloc.addr, FAIL);
/* Get the link info */
- if(H5G__obj_get_linfo(&(grp->oloc), &linfo, H5AC_dxpl_id) < 0)
+ if(H5G__obj_get_linfo(&(grp->oloc), &linfo, dxpl_id) < 0)
HGOTO_ERROR_TAG(H5E_SYM, H5E_BADMESG, FAIL, "can't get link info")
/* Check for 'dense' link storage file addresses being defined */
@@ -409,7 +414,7 @@ H5G__new_dense_info_test(hid_t gid, hsize_t *name_count, hsize_t *corder_count)
HGOTO_DONE_TAG(FAIL, FAIL)
/* Open the name index v2 B-tree */
- if(NULL == (bt2_name = H5B2_open(grp->oloc.file, H5AC_dxpl_id, linfo.name_bt2_addr, NULL)))
+ if(NULL == (bt2_name = H5B2_open(grp->oloc.file, dxpl_id, linfo.name_bt2_addr, NULL)))
HGOTO_ERROR_TAG(H5E_SYM, H5E_CANTOPENOBJ, FAIL, "unable to open v2 B-tree for name index")
/* Retrieve # of records in name index */
@@ -419,7 +424,7 @@ H5G__new_dense_info_test(hid_t gid, hsize_t *name_count, hsize_t *corder_count)
/* Check if there is a creation order index */
if(H5F_addr_defined(linfo.corder_bt2_addr)) {
/* Open the creation order index v2 B-tree */
- if(NULL == (bt2_corder = H5B2_open(grp->oloc.file, H5AC_dxpl_id, linfo.corder_bt2_addr, NULL)))
+ if(NULL == (bt2_corder = H5B2_open(grp->oloc.file, dxpl_id, linfo.corder_bt2_addr, NULL)))
HGOTO_ERROR_TAG(H5E_SYM, H5E_CANTOPENOBJ, FAIL, "unable to open v2 B-tree for creation order index")
/* Retrieve # of records in creation order index */
@@ -434,9 +439,9 @@ H5G__new_dense_info_test(hid_t gid, hsize_t *name_count, hsize_t *corder_count)
done:
/* Release resources */
- if(bt2_name && H5B2_close(bt2_name, H5AC_dxpl_id) < 0)
+ if(bt2_name && H5B2_close(bt2_name, dxpl_id) < 0)
HDONE_ERROR(H5E_SYM, H5E_CANTCLOSEOBJ, FAIL, "can't close v2 B-tree for name index")
- if(bt2_corder && H5B2_close(bt2_corder, H5AC_dxpl_id) < 0)
+ if(bt2_corder && H5B2_close(bt2_corder, dxpl_id) < 0)
HDONE_ERROR(H5E_SYM, H5E_CANTCLOSEOBJ, FAIL, "can't close v2 B-tree for creation order index")
FUNC_LEAVE_NOAPI(ret_value)
@@ -466,7 +471,8 @@ herr_t
H5G__lheap_size_test(hid_t gid, size_t *lheap_size)
{
H5G_t *grp = NULL; /* Pointer to group */
- H5O_stab_t stab; /* Symbol table message */
+ H5O_stab_t stab; /* Symbol table message */
+ hid_t dxpl_id = H5AC_ind_dxpl_id; /* transfer property list used for this operation */
herr_t ret_value = SUCCEED; /* Return value */
FUNC_ENTER_PACKAGE
@@ -476,11 +482,11 @@ H5G__lheap_size_test(hid_t gid, size_t *lheap_size)
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a group")
/* Make certain the group has a symbol table message */
- if(NULL == H5O_msg_read(&(grp->oloc), H5O_STAB_ID, &stab, H5AC_dxpl_id))
+ if(NULL == H5O_msg_read(&(grp->oloc), H5O_STAB_ID, &stab, dxpl_id))
HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to read symbol table message")
/* Check the size of the local heap for the group */
- if(H5HL_get_size(grp->oloc.file, H5AC_dxpl_id, stab.heap_addr, lheap_size) < 0)
+ if(H5HL_get_size(grp->oloc.file, dxpl_id, stab.heap_addr, lheap_size) < 0)
HGOTO_ERROR(H5E_SYM, H5E_CANTGETSIZE, FAIL, "can't query local heap size")
done:
@@ -609,16 +615,17 @@ H5G__verify_cached_stab_test(H5O_loc_t *grp_oloc, H5G_entry_t *ent)
{
H5O_stab_t stab; /* Symbol table */
H5HL_t *heap = NULL; /* Pointer to local heap */
+ hid_t dxpl_id = H5AC_ind_dxpl_id; /* transfer property list used for this operation */
herr_t ret_value = SUCCEED; /* Return value */
- FUNC_ENTER_PACKAGE_TAG(H5AC_ind_dxpl_id, grp_oloc->addr, FAIL)
+ FUNC_ENTER_PACKAGE_TAG(dxpl_id, grp_oloc->addr, FAIL)
/* Verify that stab info is cached in ent */
if(ent->type != H5G_CACHED_STAB)
HGOTO_ERROR(H5E_SYM, H5E_BADTYPE, FAIL, "symbol table information is not cached")
/* Read the symbol table message from the group */
- if(NULL == H5O_msg_read(grp_oloc, H5O_STAB_ID, &stab, H5AC_ind_dxpl_id))
+ if(NULL == H5O_msg_read(grp_oloc, H5O_STAB_ID, &stab, dxpl_id))
HGOTO_ERROR(H5E_SYM, H5E_BADMESG, FAIL, "unable to read symbol table message")
/* Verify that the cached symbol table info matches the symbol table message
@@ -628,11 +635,11 @@ H5G__verify_cached_stab_test(H5O_loc_t *grp_oloc, H5G_entry_t *ent)
HGOTO_ERROR(H5E_SYM, H5E_BADVALUE, FAIL, "cached stab info does not match object header")
/* Verify that the btree address is valid */
- if(H5B_valid(grp_oloc->file, H5AC_ind_dxpl_id, H5B_SNODE, stab.btree_addr) < 0)
+ if(H5B_valid(grp_oloc->file, dxpl_id, H5B_SNODE, stab.btree_addr) < 0)
HGOTO_ERROR(H5E_BTREE, H5E_NOTFOUND, FAIL, "b-tree address is invalid")
/* Verify that the heap address is valid */
- if(NULL == (heap = H5HL_protect(grp_oloc->file, H5AC_ind_dxpl_id, stab.heap_addr, H5AC_READ)))
+ if(NULL == (heap = H5HL_protect(grp_oloc->file, dxpl_id, stab.heap_addr, H5AC_READ)))
HGOTO_ERROR(H5E_HEAP, H5E_NOTFOUND, FAIL, "heap address is invalid")
done:
@@ -765,6 +772,7 @@ H5G__verify_cached_stabs_test(hid_t gid)
H5O_stab_t stab; /* Symbol table message */
H5G_bt_common_t udata = {NULL, NULL}; /* Dummy udata so H5B_iterate doesn't freak out */
haddr_t prev_tag = HADDR_UNDEF; /* Previous metadata tag */
+ hid_t dxpl_id = H5AC_ind_dxpl_id; /* transfer property list used for this operation */
herr_t ret_value = SUCCEED; /* Return value */
FUNC_ENTER_PACKAGE
@@ -777,13 +785,13 @@ H5G__verify_cached_stabs_test(hid_t gid)
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a group")
/* Set up metadata tagging */
- if(H5AC_tag(H5AC_ind_dxpl_id, grp->oloc.addr, &prev_tag) < 0)
+ if(H5AC_tag(dxpl_id, grp->oloc.addr, &prev_tag) < 0)
HGOTO_ERROR(H5E_CACHE, H5E_CANTTAG, FAIL, "unable to apply metadata tag")
/* Check for group having a symbol table message */
/* Check for the group having a group info message */
if((stab_exists = H5O_msg_exists(&(grp->oloc), H5O_STAB_ID,
- H5AC_ind_dxpl_id)) < 0)
+ dxpl_id)) < 0)
HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to read object header")
/* No need to check anything if the symbol table doesn't exist */
@@ -791,16 +799,16 @@ H5G__verify_cached_stabs_test(hid_t gid)
HGOTO_DONE(SUCCEED);
/* Read the stab */
- if(NULL == H5O_msg_read(&(grp->oloc), H5O_STAB_ID, &stab, H5AC_ind_dxpl_id))
+ if(NULL == H5O_msg_read(&(grp->oloc), H5O_STAB_ID, &stab, dxpl_id))
HGOTO_ERROR(H5E_SYM, H5E_BADMESG, FAIL, "can't get symbol table info")
/* Iterate over the b-tree, checking validity of cached information */
- if((ret_value = H5B_iterate(grp->oloc.file, H5AC_ind_dxpl_id, H5B_SNODE,
+ if((ret_value = H5B_iterate(grp->oloc.file, dxpl_id, H5B_SNODE,
stab.btree_addr, H5G_verify_cached_stabs_test_cb, &udata)) < 0)
HGOTO_ERROR(H5E_SYM, H5E_CANTNEXT, FAIL, "iteration operator failed");
/* Reset metadata tagging */
- if(H5AC_tag(H5AC_ind_dxpl_id, prev_tag, NULL) < 0)
+ if(H5AC_tag(dxpl_id, prev_tag, NULL) < 0)
HDONE_ERROR(H5E_CACHE, H5E_CANTTAG, FAIL, "unable to apply metadata tag")
done:
diff --git a/src/H5HFdbg.c b/src/H5HFdbg.c
index 7d22ddd..8620f6f 100644
--- a/src/H5HFdbg.c
+++ b/src/H5HFdbg.c
@@ -387,11 +387,11 @@ H5HF_dblock_debug_cb(H5FS_section_info_t *_sect, void *_udata)
if(sect_start < dblock_start)
start = 0;
else
- H5_ASSIGN_OVERFLOW(/* To: */ start, /* From: */ (sect_start - dblock_start), /* From: */ hsize_t, /* To: */ size_t)
+ H5_CHECKED_ASSIGN(start, size_t, (sect_start - dblock_start), hsize_t)
if(sect_end > dblock_end)
- H5_ASSIGN_OVERFLOW(/* To: */ end, /* From: */ udata->dblock_size, /* From: */ hsize_t, /* To: */ size_t)
+ H5_CHECKED_ASSIGN(end, size_t, udata->dblock_size, hsize_t)
else
- H5_ASSIGN_OVERFLOW(/* To: */ end, /* From: */ ((sect_end - dblock_start) + 1), /* From: */ hsize_t, /* To: */ size_t)
+ H5_CHECKED_ASSIGN(end, size_t, ((sect_end - dblock_start) + 1), hsize_t)
/* Calculate the length */
len = end - start;
diff --git a/src/H5HFdblock.c b/src/H5HFdblock.c
index c4ae573..9a8da4a 100644
--- a/src/H5HFdblock.c
+++ b/src/H5HFdblock.c
@@ -131,7 +131,7 @@ H5HF_man_dblock_create(hid_t dxpl_id, H5HF_hdr_t *hdr, H5HF_indirect_t *par_iblo
dblock->block_off = par_iblock->block_off;
dblock->block_off += hdr->man_dtable.row_block_off[par_row];
dblock->block_off += hdr->man_dtable.row_block_size[par_row] * (par_entry % hdr->man_dtable.cparam.width);
- H5_ASSIGN_OVERFLOW(/* To: */ dblock->size, /* From: */ hdr->man_dtable.row_block_size[par_row], /* From: */ hsize_t, /* To: */ size_t);
+ H5_CHECKED_ASSIGN(dblock->size, size_t, hdr->man_dtable.row_block_size[par_row], hsize_t);
} /* end if */
else {
/* Must be the root direct block */
@@ -397,7 +397,7 @@ H5HF_man_dblock_new(H5HF_hdr_t *hdr, hid_t dxpl_id, size_t request,
if(H5HF_man_iter_curr(&hdr->next_block, &next_row, NULL, &next_entry, &iblock) < 0)
HGOTO_ERROR(H5E_HEAP, H5E_CANTGET, FAIL, "unable to retrieve current block iterator location")
HDassert(next_row < iblock->nrows);
- H5_ASSIGN_OVERFLOW(/* To: */ next_size, /* From: */ hdr->man_dtable.row_block_size[next_row], /* From: */ hsize_t, /* To: */ size_t);
+ H5_CHECKED_ASSIGN(next_size, size_t, hdr->man_dtable.row_block_size[next_row], hsize_t);
/* Check for skipping over blocks */
if(min_dblock_size > next_size) {
diff --git a/src/H5HFdtable.c b/src/H5HFdtable.c
index 607862a..c523396 100644
--- a/src/H5HFdtable.c
+++ b/src/H5HFdtable.c
@@ -168,7 +168,7 @@ HDfprintf(stderr, "%s: off = %Hu\n", "H5HF_dtable_lookup", off);
/* Check for offset in first row */
if(off < dtable->num_id_first_row) {
*row = 0;
- H5_ASSIGN_OVERFLOW(/* To: */ *col, /* From: */ (off / dtable->cparam.start_block_size), /* From: */ hsize_t, /* To: */ unsigned);
+ H5_CHECKED_ASSIGN(*col, unsigned, (off / dtable->cparam.start_block_size), hsize_t);
} /* end if */
else {
unsigned high_bit = H5VM_log2_gen(off); /* Determine the high bit in the offset */
@@ -178,7 +178,7 @@ HDfprintf(stderr, "%s: off = %Hu\n", "H5HF_dtable_lookup", off);
HDfprintf(stderr, "%s: high_bit = %u, off_mask = %Hu\n", "H5HF_dtable_lookup", high_bit, off_mask);
#endif /* QAK */
*row = (high_bit - dtable->first_row_bits) + 1;
- H5_ASSIGN_OVERFLOW(/* To: */ *col, /* From: */ ((off - off_mask) / dtable->row_block_size[*row]), /* From: */ hsize_t, /* To: */ unsigned);
+ H5_CHECKED_ASSIGN(*col, unsigned, ((off - off_mask) / dtable->row_block_size[*row]), hsize_t);
} /* end else */
FUNC_LEAVE_NOAPI(SUCCEED)
diff --git a/src/H5HFhdr.c b/src/H5HFhdr.c
index d3c4473..cf8da23 100644
--- a/src/H5HFhdr.c
+++ b/src/H5HFhdr.c
@@ -262,7 +262,7 @@ H5HF_hdr_finish_init_phase2(H5HF_hdr_t *hdr)
if(u < hdr->man_dtable.max_direct_rows) {
hdr->man_dtable.row_tot_dblock_free[u] = hdr->man_dtable.row_block_size[u] -
H5HF_MAN_ABS_DIRECT_OVERHEAD(hdr);
- H5_ASSIGN_OVERFLOW(/* To: */ hdr->man_dtable.row_max_dblock_free[u], /* From: */ hdr->man_dtable.row_tot_dblock_free[u], /* From: */ hsize_t, /* To: */ size_t);
+ H5_CHECKED_ASSIGN(hdr->man_dtable.row_max_dblock_free[u], size_t, hdr->man_dtable.row_tot_dblock_free[u], hsize_t);
} /* end if */
else
if(H5HF_hdr_compute_free_space(hdr, u) < 0)
diff --git a/src/H5HFhuge.c b/src/H5HFhuge.c
index 6f0b48e..7f0da02 100644
--- a/src/H5HFhuge.c
+++ b/src/H5HFhuge.c
@@ -653,7 +653,7 @@ H5HF_huge_op_real(H5HF_hdr_t *hdr, hid_t dxpl_id, const uint8_t *id,
/* Retrieve the object's address & length */
obj_addr = found_rec.addr;
- H5_ASSIGN_OVERFLOW(/* To: */ obj_size, /* From: */ found_rec.len, /* From: */ hsize_t, /* To: */ size_t);
+ H5_CHECKED_ASSIGN(obj_size, size_t, found_rec.len, hsize_t);
filter_mask = found_rec.filter_mask;
} /* end if */
else {
@@ -669,7 +669,7 @@ H5HF_huge_op_real(H5HF_hdr_t *hdr, hid_t dxpl_id, const uint8_t *id,
/* Retrieve the object's address & length */
obj_addr = found_rec.addr;
- H5_ASSIGN_OVERFLOW(/* To: */ obj_size, /* From: */ found_rec.len, /* From: */ hsize_t, /* To: */ size_t);
+ H5_CHECKED_ASSIGN(obj_size, size_t, found_rec.len, hsize_t);
} /* end else */
} /* end else */
@@ -797,7 +797,7 @@ H5HF_huge_write(H5HF_hdr_t *hdr, hid_t dxpl_id, const uint8_t *id,
/* Retrieve the object's address & length */
obj_addr = found_rec.addr;
- H5_ASSIGN_OVERFLOW(/* To: */ obj_size, /* From: */ found_rec.len, /* From: */ hsize_t, /* To: */ size_t);
+ H5_CHECKED_ASSIGN(obj_size, size_t, found_rec.len, hsize_t);
} /* end else */
/* Write the object's data to the file */
diff --git a/src/H5HLcache.c b/src/H5HLcache.c
index a3c43ac..6576284 100644
--- a/src/H5HLcache.c
+++ b/src/H5HLcache.c
@@ -258,6 +258,7 @@ H5HL_prefix_load(H5F_t *f, hid_t dxpl_id, haddr_t addr, void *_udata)
size_t spec_read_size; /* Size of buffer to speculatively read in */
const uint8_t *p; /* Pointer into decoding buffer */
haddr_t eoa; /* Relative end of file address */
+ hsize_t min; /* temp min value to avoid macro nesting */
H5HL_prfx_t *ret_value; /* Return value */
FUNC_ENTER_NOAPI_NOINIT
@@ -276,7 +277,8 @@ H5HL_prefix_load(H5F_t *f, hid_t dxpl_id, haddr_t addr, void *_udata)
HGOTO_ERROR(H5E_HEAP, H5E_CANTGET, NULL, "unable to determine file size")
/* Compute the size of the speculative local heap prefix buffer */
- H5_ASSIGN_OVERFLOW(spec_read_size, MIN(eoa - addr, H5HL_SPEC_READ_SIZE), /* From: */ hsize_t, /* To: */ size_t);
+ min = MIN(eoa - addr, H5HL_SPEC_READ_SIZE);
+ H5_CHECKED_ASSIGN(spec_read_size, size_t, min, hsize_t);
HDassert(spec_read_size >= udata->sizeof_prfx);
/* Attempt to speculatively read both local heap prefix and heap data */
diff --git a/src/H5I.c b/src/H5I.c
index e3a5d15..74e154b 100644
--- a/src/H5I.c
+++ b/src/H5I.c
@@ -451,7 +451,7 @@ H5Inmembers(H5I_type_t type, hsize_t *num_members)
if((members = H5I_nmembers(type)) < 0)
HGOTO_ERROR(H5E_ATOM, H5E_CANTCOUNT, FAIL, "can't compute number of members")
- H5_ASSIGN_OVERFLOW(*num_members, members, int64_t, hsize_t);
+ H5_CHECKED_ASSIGN(*num_members, hsize_t, members, int64_t);
} /* end if */
done:
@@ -478,7 +478,7 @@ int64_t
H5I_nmembers(H5I_type_t type)
{
H5I_id_type_t *type_ptr = NULL;
- int ret_value;
+ int64_t ret_value;
FUNC_ENTER_NOAPI(FAIL)
@@ -488,7 +488,7 @@ H5I_nmembers(H5I_type_t type)
HGOTO_DONE(0);
/* Set return value */
- H5_ASSIGN_OVERFLOW(ret_value, type_ptr->id_count, uint64_t, int64_t);
+ H5_CHECKED_ASSIGN(ret_value, int64_t, type_ptr->id_count, uint64_t);
done:
FUNC_LEAVE_NOAPI(ret_value)
@@ -611,15 +611,9 @@ H5I_clear_type(H5I_type_t type, hbool_t force, hbool_t app_ref)
/* Check if we should delete this node or not */
if(delete_node) {
- /* Decrement the number of IDs in the type */
- (type_ptr->id_count)--;
-
- /* Remove the node from the list */
- if(NULL == H5SL_remove(type_ptr->ids, &cur->id))
- HGOTO_ERROR(H5E_ATOM, H5E_CANTDELETE, FAIL, "can't remove ID node from skip list")
-
- /* Free the node */
- cur = H5FL_FREE(H5I_id_info_t, cur);
+ /* Remove the node from the type */
+ if(NULL == H5I__remove_common(type_ptr, cur->id))
+ HGOTO_ERROR(H5E_ATOM, H5E_CANTDELETE, FAIL, "can't remove ID node")
} /* end if */
} /* end for */
@@ -1226,8 +1220,6 @@ done:
int
H5I_dec_ref(hid_t id)
{
- H5I_type_t type; /*type the object is in*/
- H5I_id_type_t *type_ptr; /*ptr to the type */
H5I_id_info_t *id_ptr; /*ptr to the new ID */
int ret_value; /* Return value */
@@ -1236,17 +1228,9 @@ H5I_dec_ref(hid_t id)
/* Sanity check */
HDassert(id >= 0);
- /* Check arguments */
- type = H5I_TYPE(id);
- if(type <= H5I_BADID || type >= H5I_next_type)
- HGOTO_ERROR(H5E_ARGS, H5E_BADRANGE, FAIL, "invalid type number")
- type_ptr = H5I_id_type_list_g[type];
- if(NULL == type_ptr || type_ptr->init_count <= 0)
- HGOTO_ERROR(H5E_ARGS, H5E_BADRANGE, FAIL, "invalid type number")
-
/* General lookup of the ID */
- if(NULL == (id_ptr = (H5I_id_info_t *)H5SL_search(type_ptr->ids, &id)))
- HGOTO_ERROR(H5E_ATOM, H5E_BADATOM, FAIL, "can't locate ID")
+ if(NULL == (id_ptr = H5I__find_id(id)))
+ HGOTO_ERROR(H5E_ATOM, H5E_BADATOM, FAIL, "can't locate ID")
/*
* If this is the last reference to the object then invoke the type's
@@ -1264,6 +1248,11 @@ H5I_dec_ref(hid_t id)
* file. We have to close the dataset anyway. (SLU - 2010/9/7)
*/
if(1 == id_ptr->count) {
+ H5I_id_type_t *type_ptr; /*ptr to the type */
+
+ /* Get the ID's type */
+ type_ptr = H5I_id_type_list_g[H5I_TYPE(id)];
+
/* (Casting away const OK -QAK) */
if(!type_ptr->cls->free_func || (type_ptr->cls->free_func)((void *)id_ptr->obj_ptr) >= 0) {
/* Remove the node from the type */
@@ -1427,8 +1416,6 @@ done:
int
H5I_inc_ref(hid_t id, hbool_t app_ref)
{
- H5I_type_t type; /*type the object is in*/
- H5I_id_type_t *type_ptr; /*ptr to the type */
H5I_id_info_t *id_ptr; /*ptr to the ID */
int ret_value; /* Return value */
@@ -1437,16 +1424,8 @@ H5I_inc_ref(hid_t id, hbool_t app_ref)
/* Sanity check */
HDassert(id >= 0);
- /* Check arguments */
- type = H5I_TYPE(id);
- if(type <= H5I_BADID || type >= H5I_next_type)
- HGOTO_ERROR(H5E_ARGS, H5E_BADRANGE, FAIL, "invalid type number")
- type_ptr = H5I_id_type_list_g[type];
- if(!type_ptr || type_ptr->init_count <= 0)
- HGOTO_ERROR(H5E_ATOM, H5E_BADGROUP, FAIL, "invalid type")
-
/* General lookup of the ID */
- if(NULL == (id_ptr = (H5I_id_info_t *)H5SL_search(type_ptr->ids, &id)))
+ if(NULL == (id_ptr = H5I__find_id(id)))
HGOTO_ERROR(H5E_ATOM, H5E_BADATOM, FAIL, "can't locate ID")
/* Adjust reference counts */
@@ -1512,8 +1491,6 @@ done:
int
H5I_get_ref(hid_t id, hbool_t app_ref)
{
- H5I_type_t type; /*type the object is in*/
- H5I_id_type_t *type_ptr; /*ptr to the type */
H5I_id_info_t *id_ptr; /*ptr to the ID */
int ret_value; /* Return value */
@@ -1522,16 +1499,8 @@ H5I_get_ref(hid_t id, hbool_t app_ref)
/* Sanity check */
HDassert(id >= 0);
- /* Check arguments */
- type = H5I_TYPE(id);
- if(type <= H5I_BADID || type >= H5I_next_type)
- HGOTO_ERROR(H5E_ARGS, H5E_BADRANGE, FAIL, "invalid type number")
- type_ptr = H5I_id_type_list_g[type];
- if(!type_ptr || type_ptr->init_count <= 0)
- HGOTO_ERROR(H5E_ATOM, H5E_BADGROUP, FAIL, "invalid type")
-
/* General lookup of the ID */
- if(NULL == (id_ptr = (H5I_id_info_t *)H5SL_search(type_ptr->ids, &id)))
+ if(NULL == (id_ptr = H5I__find_id(id)))
HGOTO_ERROR(H5E_ATOM, H5E_BADATOM, FAIL, "can't locate ID")
/* Set return value */
@@ -2114,20 +2083,20 @@ done:
static H5I_id_info_t *
H5I__find_id(hid_t id)
{
- H5I_id_type_t *type_ptr; /*ptr to the type */
H5I_type_t type; /*ID's type */
+ H5I_id_type_t *type_ptr; /*ptr to the type */
H5I_id_info_t *ret_value; /*return value */
FUNC_ENTER_STATIC_NOERR
/* Check arguments */
type = H5I_TYPE(id);
- if (type <= H5I_BADID || type >= H5I_next_type)
- HGOTO_DONE(NULL);
+ if(type <= H5I_BADID || type >= H5I_next_type)
+ HGOTO_DONE(NULL)
type_ptr = H5I_id_type_list_g[type];
- if (!type_ptr || type_ptr->init_count <= 0)
- HGOTO_DONE(NULL);
+ if(!type_ptr || type_ptr->init_count <= 0)
+ HGOTO_DONE(NULL)
/* Locate the ID node for the ID */
ret_value = (H5I_id_info_t *)H5SL_search(type_ptr->ids, &id);
diff --git a/src/H5MF.c b/src/H5MF.c
index 29e9ece..eecd724 100644
--- a/src/H5MF.c
+++ b/src/H5MF.c
@@ -1383,7 +1383,7 @@ H5MF_get_free_sections(H5F_t *f, hid_t dxpl_id, H5FD_mem_t type, size_t nsects,
/* Query how many sections of this type */
if(H5FS_sect_stats(f->shared->fs_man[ty], NULL, &hnums) < 0)
HGOTO_ERROR(H5E_RESOURCE, H5E_CANTGET, FAIL, "can't query free space stats")
- H5_ASSIGN_OVERFLOW(nums, hnums, hsize_t, size_t);
+ H5_CHECKED_ASSIGN(nums, size_t, hnums, hsize_t);
/* Increment total # of sections */
total_sects += nums;
diff --git a/src/H5O.c b/src/H5O.c
index 568190f..41b8f54 100644
--- a/src/H5O.c
+++ b/src/H5O.c
@@ -323,7 +323,7 @@ H5Oopen_by_idx(hid_t loc_id, const char *group_name, H5_index_t idx_type,
/* Open the object through the VOL */
if(NULL == (opened_obj = H5VL_object_open(obj->vol_obj, loc_params, obj->vol_info->vol_cls, &opened_type,
- H5AC_dxpl_id, H5_REQUEST_NULL)))
+ H5AC_ind_dxpl_id, H5_REQUEST_NULL)))
HGOTO_ERROR(H5E_SYM, H5E_CANTOPENOBJ, FAIL, "unable to open object")
if((ret_value = H5VL_register_id(opened_type, opened_obj, obj->vol_info, TRUE)) < 0)
@@ -391,7 +391,7 @@ H5Oopen_by_addr(hid_t loc_id, haddr_t addr)
/* Open the object through the VOL */
if(NULL == (opened_obj = H5VL_object_open(obj->vol_obj, loc_params, obj->vol_info->vol_cls, &opened_type,
- H5AC_dxpl_id, H5_REQUEST_NULL)))
+ H5AC_ind_dxpl_id, H5_REQUEST_NULL)))
HGOTO_ERROR(H5E_SYM, H5E_CANTOPENOBJ, FAIL, "unable to open object")
if((ret_value = H5VL_register_id(opened_type, opened_obj, obj->vol_info, TRUE)) < 0)
@@ -636,7 +636,7 @@ H5Oexists_by_name(hid_t loc_id, const char *name, hid_t lapl_id)
/* change the ref count through the VOL */
if(H5VL_object_specific(obj->vol_obj, loc_params, obj->vol_info->vol_cls, H5VL_OBJECT_EXISTS,
- H5AC_dxpl_id, H5_REQUEST_NULL, &ret_value) < 0)
+ H5AC_ind_dxpl_id, H5_REQUEST_NULL, &ret_value) < 0)
HGOTO_ERROR(H5E_OHDR, H5E_CANTGET, FAIL, "unable to determine if '%s' exists", name)
done:
@@ -1470,6 +1470,7 @@ H5O_open_name(H5G_loc_t *loc, const char *name, hid_t lapl_id, hbool_t app_ref)
H5G_name_t obj_path; /* Opened object group hier. path */
H5O_loc_t obj_oloc; /* Opened object object location */
hbool_t loc_found = FALSE; /* Entry at 'name' found */
+ hid_t dxpl_id = H5AC_ind_dxpl_id; /* transfer property list used for this operation */
hid_t ret_value = FAIL;
FUNC_ENTER_NOAPI(FAIL)
@@ -1484,12 +1485,12 @@ H5O_open_name(H5G_loc_t *loc, const char *name, hid_t lapl_id, hbool_t app_ref)
H5G_loc_reset(&obj_loc);
/* Find the object's location */
- if(H5G_loc_find(loc, name, &obj_loc/*out*/, lapl_id, H5AC_dxpl_id) < 0)
+ if(H5G_loc_find(loc, name, &obj_loc/*out*/, lapl_id, dxpl_id) < 0)
HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, FAIL, "object not found")
loc_found = TRUE;
/* Open the object */
- if((ret_value = H5O_open_by_loc(&obj_loc, lapl_id, H5AC_ind_dxpl_id, app_ref)) < 0)
+ if((ret_value = H5O_open_by_loc(&obj_loc, lapl_id, dxpl_id, app_ref)) < 0)
HGOTO_ERROR(H5E_SYM, H5E_CANTOPENOBJ, FAIL, "unable to open object")
done:
@@ -2841,8 +2842,8 @@ H5O_get_hdr_info_real(const H5O_t *oh, H5O_hdr_info_t *hdr)
hdr->version = oh->version;
/* Set the number of messages & chunks */
- H5_ASSIGN_OVERFLOW(hdr->nmesgs, oh->nmesgs, size_t, unsigned);
- H5_ASSIGN_OVERFLOW(hdr->nchunks, oh->nchunks, size_t, unsigned);
+ H5_CHECKED_ASSIGN(hdr->nmesgs, unsigned, oh->nmesgs, size_t);
+ H5_CHECKED_ASSIGN(hdr->nchunks, unsigned, oh->nchunks, size_t);
/* Set the status flags */
hdr->flags = oh->flags;
diff --git a/src/H5Oattr.c b/src/H5Oattr.c
index 2269bd3..9710f5d 100644
--- a/src/H5Oattr.c
+++ b/src/H5Oattr.c
@@ -218,7 +218,7 @@ H5O_attr_decode(H5F_t *f, hid_t dxpl_id, H5O_t *open_oh, unsigned UNUSED mesg_fl
p += attr->shared->ds_size;
/* Compute the size of the data */
- H5_ASSIGN_OVERFLOW(attr->shared->data_size, H5S_GET_EXTENT_NPOINTS(attr->shared->ds) * H5T_get_size(attr->shared->dt), hsize_t, size_t);
+ H5_CHECKED_ASSIGN(attr->shared->data_size, size_t, H5S_GET_EXTENT_NPOINTS(attr->shared->ds) * H5T_get_size(attr->shared->dt), hsize_t);
/* Go get the data */
if(attr->shared->data_size) {
diff --git a/src/H5Ocache.c b/src/H5Ocache.c
index b3dea03..b1d94d8 100644
--- a/src/H5Ocache.c
+++ b/src/H5Ocache.c
@@ -184,7 +184,7 @@ H5O_load(H5F_t *f, hid_t dxpl_id, haddr_t addr, void *_udata)
HGOTO_ERROR(H5E_OHDR, H5E_CANTGET, NULL, "unable to determine file size")
/* Compute the size of the speculative object header buffer */
- H5_ASSIGN_OVERFLOW(spec_read_size, MIN(eoa - addr, H5O_SPEC_READ_SIZE), /* From: */ hsize_t, /* To: */ size_t);
+ H5_CHECKED_ASSIGN(spec_read_size, size_t, MIN(eoa - addr, H5O_SPEC_READ_SIZE), hsize_t);
/* Attempt to speculatively read both object header prefix and first chunk */
if(H5F_block_read(f, H5FD_MEM_OHDR, addr, spec_read_size, dxpl_id, read_buf) < 0)
diff --git a/src/H5Ocopy.c b/src/H5Ocopy.c
index 6975397..6f8f866 100644
--- a/src/H5Ocopy.c
+++ b/src/H5Ocopy.c
@@ -86,7 +86,7 @@ static herr_t H5O_copy_header_real(const H5O_loc_t *oloc_src, H5O_loc_t *oloc_ds
static herr_t H5O_copy_header(const H5O_loc_t *oloc_src, H5O_loc_t *oloc_dst /*out*/,
hid_t dxpl_id, hid_t ocpypl_id);
static herr_t H5O_copy_obj(H5G_loc_t *src_loc, H5G_loc_t *dst_loc,
- const char *dst_name, hid_t ocpypl_id, hid_t lcpl_id);
+ const char *dst_name, hid_t ocpypl_id, hid_t lcpl_id, hid_t dxpl_id);
static herr_t H5O_copy_obj_by_ref(H5O_loc_t *src_oloc, hid_t dxpl_id,
H5O_loc_t *dst_oloc, H5G_loc_t *dst_root_loc, H5O_copy_t *cpy_info);
static herr_t H5O_copy_free_comm_dt_cb(void *item, void *key, void *op_data);
@@ -292,7 +292,7 @@ herr_t H5O_copy(H5G_loc_t *loc, const char *src_name, H5G_loc_t *dst_loc, const
H5G_loc_reset(&tmp_loc);
/* Check if object already exists in destination */
- if(H5G_loc_find(dst_loc, dst_name, &tmp_loc, H5P_DEFAULT, H5AC_dxpl_id) >= 0) {
+ if(H5G_loc_find(dst_loc, dst_name, &tmp_loc, H5P_DEFAULT, H5AC_ind_dxpl_id) >= 0) {
H5G_name_free(&tmp_path);
HGOTO_ERROR(H5E_SYM, H5E_EXISTS, FAIL, "destination object already exists")
} /* end if */
@@ -304,7 +304,7 @@ herr_t H5O_copy(H5G_loc_t *loc, const char *src_name, H5G_loc_t *dst_loc, const
H5G_loc_reset(&src_loc);
/* Find the source object to copy */
- if(H5G_loc_find(loc, src_name, &src_loc/*out*/, H5P_DEFAULT, H5AC_dxpl_id) < 0)
+ if(H5G_loc_find(loc, src_name, &src_loc/*out*/, H5P_DEFAULT, H5AC_ind_dxpl_id) < 0)
HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, FAIL, "source object not found")
loc_found = TRUE;
@@ -314,7 +314,7 @@ herr_t H5O_copy(H5G_loc_t *loc, const char *src_name, H5G_loc_t *dst_loc, const
obj_open = TRUE;
/* Do the actual copying of the object */
- if(H5O_copy_obj(&src_loc, dst_loc, dst_name, ocpypl_id, lcpl_id) < 0)
+ if(H5O_copy_obj(&src_loc, dst_loc, dst_name, ocpypl_id, lcpl_id, H5AC_dxpl_id) < 0)
HGOTO_ERROR(H5E_OHDR, H5E_CANTCOPY, FAIL, "unable to copy object")
done:
@@ -1184,14 +1184,13 @@ done:
*/
static herr_t
H5O_copy_obj(H5G_loc_t *src_loc, H5G_loc_t *dst_loc, const char *dst_name,
- hid_t ocpypl_id, hid_t lcpl_id)
+ hid_t ocpypl_id, hid_t lcpl_id, hid_t dxpl_id)
{
H5G_name_t new_path; /* Copied object group hier. path */
H5O_loc_t new_oloc; /* Copied object object location */
H5G_loc_t new_loc; /* Group location of object copied */
H5F_t *cached_dst_file; /* Cached destination file */
hbool_t entry_inserted = FALSE; /* Flag to indicate that the new entry was inserted into a group */
- hid_t dxpl_id = H5AC_dxpl_id; /* DXPL for operation */
herr_t ret_value = SUCCEED; /* Return value */
FUNC_ENTER_NOAPI(FAIL)
@@ -1689,7 +1688,8 @@ H5O_copy_search_comm_dt_check(H5O_loc_t *obj_oloc,
attr_op.u.lib_op = H5O_copy_search_comm_dt_attr_cb;
udata->obj_oloc.file = obj_oloc->file;
udata->obj_oloc.addr = obj_oloc->addr;
- if(H5O_attr_iterate_real((hid_t)-1, obj_oloc, udata->dxpl_id, H5_INDEX_NAME, H5_ITER_NATIVE, 0, NULL, &attr_op, udata) < 0)
+ if(H5O_attr_iterate_real((hid_t)-1, obj_oloc, udata->dxpl_id, H5_INDEX_NAME,
+ H5_ITER_NATIVE, (hsize_t)0, NULL, &attr_op, udata) < 0)
HGOTO_ERROR(H5E_OHDR, H5E_BADITER, FAIL, "error iterating over attributes");
done:
diff --git a/src/H5Ofill.c b/src/H5Ofill.c
index a0fc42e..33022fc 100644
--- a/src/H5Ofill.c
+++ b/src/H5Ofill.c
@@ -977,7 +977,7 @@ H5O_fill_convert(H5O_fill_t *fill, H5T_t *dset_type, hbool_t *fill_changed, hid_
} /* end if */
H5T_close(fill->type);
fill->type = NULL;
- H5_ASSIGN_OVERFLOW(fill->size, H5T_get_size(dset_type), size_t, ssize_t);
+ H5_CHECKED_ASSIGN(fill->size, ssize_t, H5T_get_size(dset_type), size_t);
/* Note that the fill value info has changed */
*fill_changed = TRUE;
diff --git a/src/H5Olayout.c b/src/H5Olayout.c
index 816242f..d58ad61 100644
--- a/src/H5Olayout.c
+++ b/src/H5Olayout.c
@@ -722,6 +722,7 @@ H5O_layout_debug(H5F_t UNUSED *f, hid_t UNUSED dxpl_id, const void *_mesg,
"B-tree address:", mesg->storage.u.chunk.idx_addr);
break;
+ case H5D_CHUNK_IDX_NTYPES:
default:
HDfprintf(stream, "%*s%-*s %s (%u)\n", indent, "", fwidth,
"Index Type:", "Unknown", (unsigned)mesg->storage.u.chunk.idx_type);
diff --git a/src/H5Omessage.c b/src/H5Omessage.c
index 1369583..f70fa72 100644
--- a/src/H5Omessage.c
+++ b/src/H5Omessage.c
@@ -807,7 +807,7 @@ H5O_msg_count(const H5O_loc_t *loc, unsigned type_id, hid_t dxpl_id)
/* Count the messages of the correct type */
msg_count = H5O_msg_count_real(oh, type);
- H5_ASSIGN_OVERFLOW(ret_value, msg_count, unsigned, int);
+ H5_CHECKED_ASSIGN(ret_value, int, msg_count, unsigned);
done:
if(oh && H5O_unprotect(loc, dxpl_id, oh, H5AC__NO_FLAGS_SET) < 0)
@@ -2300,7 +2300,7 @@ H5O_msg_get_chunkno(const H5O_loc_t *loc, unsigned type_id, hid_t dxpl_id)
HGOTO_ERROR(H5E_OHDR, H5E_NOTFOUND, FAIL, "message type not found")
/* Set return value */
- H5_ASSIGN_OVERFLOW(ret_value, idx_msg->chunkno, unsigned, int);
+ H5_CHECKED_ASSIGN(ret_value, int, idx_msg->chunkno, unsigned);
done:
if(oh && H5O_unprotect(loc, dxpl_id, oh, H5AC__NO_FLAGS_SET) < 0)
diff --git a/src/H5Oprivate.h b/src/H5Oprivate.h
index fb68080..46cad79 100644
--- a/src/H5Oprivate.h
+++ b/src/H5Oprivate.h
@@ -424,8 +424,8 @@ typedef struct H5O_layout_chunk_t {
uint32_t dim[H5O_LAYOUT_NDIMS]; /* Size of chunk in elements */
uint32_t size; /* Size of chunk in bytes */
hsize_t nchunks; /* Number of chunks in dataset */
- hsize_t chunks[H5O_LAYOUT_NDIMS]; /* # of chunks in dataset dimensions */
- hsize_t down_chunks[H5O_LAYOUT_NDIMS]; /* "down" size of number of chunks in each dimension */
+ hsize_t chunks[H5O_LAYOUT_NDIMS]; /* # of chunks in each dataset dimension */
+ hsize_t down_chunks[H5O_LAYOUT_NDIMS]; /* "down" size of number of chunks in each dimension */
} H5O_layout_chunk_t;
typedef struct H5O_layout_t {
diff --git a/src/H5PL.c b/src/H5PL.c
index d3e152e..06bbe7e 100644
--- a/src/H5PL.c
+++ b/src/H5PL.c
@@ -244,10 +244,11 @@ done:
*-------------------------------------------------------------------------
*/
herr_t
-H5PLget_loading_state(unsigned int* plugin_type)
+H5PLget_loading_state(unsigned int *plugin_type)
{
herr_t ret_value = SUCCEED; /* Return value */
FUNC_ENTER_API(FAIL)
+ H5TRACE1("e", "*Iu", plugin_type);
if(plugin_type)
*plugin_type = H5PL_plugin_g;
diff --git a/src/H5Pencdec.c b/src/H5Pencdec.c
index 3285ae3..bd0a260 100644
--- a/src/H5Pencdec.c
+++ b/src/H5Pencdec.c
@@ -509,7 +509,7 @@ H5P__decode_size_t(const void **_pp, void *_value)
/* Decode the value */
UINT64DECODE_VAR(*pp, enc_value, enc_size);
- H5_ASSIGN_OVERFLOW(*value, enc_value, uint64_t, size_t);
+ H5_CHECKED_ASSIGN(*value, size_t, enc_value, uint64_t);
FUNC_LEAVE_NOAPI(SUCCEED)
} /* end H5P__decode_size_t() */
@@ -550,7 +550,7 @@ H5P__decode_hsize_t(const void **_pp, void *_value)
/* Decode the value */
UINT64DECODE_VAR(*pp, enc_value, enc_size);
- H5_ASSIGN_OVERFLOW(*value, enc_value, uint64_t, hsize_t);
+ H5_CHECKED_ASSIGN(*value, hsize_t, enc_value, uint64_t);
FUNC_LEAVE_NOAPI(SUCCEED)
} /* end H5P__decode_hsize_t() */
diff --git a/src/H5Pgcpl.c b/src/H5Pgcpl.c
index 0ce3ca8..0736288 100644
--- a/src/H5Pgcpl.c
+++ b/src/H5Pgcpl.c
@@ -185,7 +185,7 @@ H5Pset_local_heap_size_hint(hid_t plist_id, size_t size_hint)
HGOTO_ERROR(H5E_PLIST, H5E_CANTGET, FAIL, "can't get group info")
/* Update field */
- H5_ASSIGN_OVERFLOW(ginfo.lheap_size_hint, size_hint, size_t, uint32_t);
+ H5_CHECKED_ASSIGN(ginfo.lheap_size_hint, uint32_t, size_hint, size_t);
/* Set value */
if(H5P_set(plist, H5G_CRT_GROUP_INFO_NAME, &ginfo) < 0)
diff --git a/src/H5R.c b/src/H5R.c
index 58cebd4..714d408 100644
--- a/src/H5R.c
+++ b/src/H5R.c
@@ -611,7 +611,7 @@ H5Rdereference2(hid_t obj_id, hid_t oapl_id, H5R_type_t ref_type, const void *_r
/* Open the object through the VOL */
if(NULL == (opened_obj = H5VL_object_open(obj->vol_obj, loc_params, obj->vol_info->vol_cls, &opened_type,
- H5AC_dxpl_id, H5_REQUEST_NULL)))
+ H5AC_ind_dxpl_id, H5_REQUEST_NULL)))
HGOTO_ERROR(H5E_REFERENCE, H5E_CANTINIT, FAIL, "unable to dereference object")
if((ret_value = H5VL_register_id(opened_type, opened_obj, obj->vol_info, TRUE)) < 0)
@@ -1054,7 +1054,7 @@ H5Rget_name(hid_t id, H5R_type_t ref_type, const void *_ref, char *name,
/* get the object type through the VOL */
if(H5VL_object_get(obj->vol_obj, loc_params, obj->vol_info->vol_cls, H5VL_REF_GET_NAME,
- H5AC_dxpl_id, H5_REQUEST_NULL,
+ H5AC_ind_dxpl_id, H5_REQUEST_NULL,
&ret_value, name, size, ref_type, _ref) < 0)
HGOTO_ERROR(H5E_INTERNAL, H5E_CANTGET, FAIL, "unable to get group info")
done:
diff --git a/src/H5Rdeprec.c b/src/H5Rdeprec.c
index 1a01e07..d08236c 100644
--- a/src/H5Rdeprec.c
+++ b/src/H5Rdeprec.c
@@ -245,7 +245,7 @@ H5Rdereference1(hid_t obj_id, H5R_type_t ref_type, const void *_ref)
/* Open the object through the VOL */
if(NULL == (opened_obj = H5VL_object_open(obj->vol_obj, loc_params, obj->vol_info->vol_cls, &opened_type,
- H5AC_dxpl_id, H5_REQUEST_NULL)))
+ H5AC_ind_dxpl_id, H5_REQUEST_NULL)))
HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to open object")
/* Get an atom for the object */
diff --git a/src/H5Rpublic.h b/src/H5Rpublic.h
index 997309f..e990661 100644
--- a/src/H5Rpublic.h
+++ b/src/H5Rpublic.h
@@ -14,7 +14,7 @@
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/*
- * This file contains public declarations for the H5S module.
+ * This file contains public declarations for the H5R module.
*/
#ifndef _H5Rpublic_H
#define _H5Rpublic_H
diff --git a/src/H5S.c b/src/H5S.c
index 4a1783e..9b37797 100644
--- a/src/H5S.c
+++ b/src/H5S.c
@@ -1521,7 +1521,7 @@ H5S_encode(H5S_t *obj, unsigned char *buf, size_t *nalloc)
/* Find out the size of buffer needed for selection */
if((sselect_size = H5S_SELECT_SERIAL_SIZE(obj)) < 0)
HGOTO_ERROR(H5E_DATASPACE, H5E_BADSIZE, FAIL, "can't find dataspace selection size")
- H5_ASSIGN_OVERFLOW(select_size, sselect_size, hssize_t, size_t);
+ H5_CHECKED_ASSIGN(select_size, size_t, sselect_size, hssize_t);
/* Verify the size of buffer. If it's not big enough, simply return the
* right size without filling the buffer. */
@@ -2144,14 +2144,13 @@ H5S_extend(H5S_t *space, const hsize_t *size)
HDassert(size);
/* Check through all the dimensions to see if modifying the dataspace is allowed */
- for(u = 0; u < space->extent.rank; u++) {
- if(space->extent.size[u]<size[u]) {
- if(space->extent.max && H5S_UNLIMITED!=space->extent.max[u] &&
- space->extent.max[u]<size[u])
+ for(u = 0; u < space->extent.rank; u++)
+ if(space->extent.size[u] < size[u]) {
+ if(space->extent.max && H5S_UNLIMITED != space->extent.max[u] &&
+ space->extent.max[u] < size[u])
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "dimension cannot be increased")
ret_value++;
} /* end if */
- } /* end for */
/* Update */
if(ret_value) {
diff --git a/src/H5Shyper.c b/src/H5Shyper.c
index 9b1562f..0d5e630 100644
--- a/src/H5Shyper.c
+++ b/src/H5Shyper.c
@@ -7635,7 +7635,7 @@ H5S_hyper_get_seq_list_gen(const H5S_t *space,H5S_sel_iter_t *iter,
/* Finish the span in the fastest changing dimension */
/* Compute the number of bytes to attempt in this span */
- H5_ASSIGN_OVERFLOW(span_size,((curr_span->high-abs_arr[fast_dim])+1)*elem_size,hsize_t,size_t);
+ H5_CHECKED_ASSIGN(span_size, size_t, ((curr_span->high-abs_arr[fast_dim])+1)*elem_size, hsize_t);
/* Check number of bytes against upper bounds allowed */
if(span_size>io_bytes_left)
@@ -7778,7 +7778,7 @@ H5S_hyper_get_seq_list_gen(const H5S_t *space,H5S_sel_iter_t *iter,
loc_off += curr_span->pstride;
/* Compute the number of elements to attempt in this span */
- H5_ASSIGN_OVERFLOW(span_size, curr_span->nelem, hsize_t, size_t);
+ H5_CHECKED_ASSIGN(span_size, size_t, curr_span->nelem, hsize_t);
/* Check number of elements against upper bounds allowed */
if(span_size >= io_bytes_left) {
@@ -8108,7 +8108,7 @@ H5S_hyper_get_seq_list_opt(const H5S_t *space, H5S_sel_iter_t *iter,
loc += offset[u] * slab[u];
/* Set the number of elements to write each time */
- H5_ASSIGN_OVERFLOW(actual_elem, tdiminfo[fast_dim].block, hsize_t, size_t);
+ H5_CHECKED_ASSIGN(actual_elem, size_t, tdiminfo[fast_dim].block, hsize_t);
/* Set the number of actual bytes */
actual_bytes = actual_elem * elem_size;
@@ -8117,7 +8117,7 @@ H5S_hyper_get_seq_list_opt(const H5S_t *space, H5S_sel_iter_t *iter,
fast_dim_start = tdiminfo[fast_dim].start;
fast_dim_stride = tdiminfo[fast_dim].stride;
fast_dim_block = tdiminfo[fast_dim].block;
- H5_ASSIGN_OVERFLOW(fast_dim_buf_off, slab[fast_dim] * fast_dim_stride, hsize_t, size_t);
+ H5_CHECKED_ASSIGN(fast_dim_buf_off, size_t, slab[fast_dim] * fast_dim_stride, hsize_t);
fast_dim_offset = (hsize_t)((hssize_t)fast_dim_start + sel_off[fast_dim]);
/* Compute the number of blocks which would fit into the buffer */
@@ -8138,7 +8138,7 @@ H5S_hyper_get_seq_list_opt(const H5S_t *space, H5S_sel_iter_t *iter,
/* Check if there is a partial row left (with full blocks) */
if(tmp_count[fast_dim] > 0) {
/* Get number of blocks in fastest dimension */
- H5_ASSIGN_OVERFLOW(fast_dim_count, tdiminfo[fast_dim].count - tmp_count[fast_dim], hsize_t, size_t);
+ H5_CHECKED_ASSIGN(fast_dim_count, size_t, tdiminfo[fast_dim].count - tmp_count[fast_dim], hsize_t);
/* Make certain this entire row will fit into buffer */
fast_dim_count = MIN(fast_dim_count, tot_blk_count);
@@ -8223,7 +8223,7 @@ H5S_hyper_get_seq_list_opt(const H5S_t *space, H5S_sel_iter_t *iter,
curr_rows = total_rows = (size_t)(tot_blk_count / tdiminfo[fast_dim].count);
/* Reset copy of number of blocks in fastest dimension */
- H5_ASSIGN_OVERFLOW(fast_dim_count, tdiminfo[fast_dim].count, hsize_t, size_t);
+ H5_CHECKED_ASSIGN(fast_dim_count, size_t, tdiminfo[fast_dim].count, hsize_t);
/* Read in data until an entire sequence can't be written out any longer */
while(curr_rows > 0) {
@@ -8528,7 +8528,7 @@ H5S_hyper_get_seq_list_single(const H5S_t *space, H5S_sel_iter_t *iter,
tot_blk_count = MIN(tot_blk_count, maxseq);
/* Set the number of elements to write each time */
- H5_ASSIGN_OVERFLOW(actual_elem, fast_dim_block, hsize_t, size_t);
+ H5_CHECKED_ASSIGN(actual_elem, size_t, fast_dim_block, hsize_t);
/* Check for blocks to operate on */
if(tot_blk_count > 0) {
@@ -8785,10 +8785,10 @@ H5S_hyper_get_seq_list(const H5S_t *space, unsigned UNUSED flags, H5S_sel_iter_t
/* Calculate the number of elements left in the sequence */
if(tdiminfo[fast_dim].count == 1) {
- H5_ASSIGN_OVERFLOW(leftover, tdiminfo[fast_dim].block - (iter->u.hyp.off[fast_dim] - tdiminfo[fast_dim].start), hsize_t, size_t);
+ H5_CHECKED_ASSIGN(leftover, size_t, tdiminfo[fast_dim].block - (iter->u.hyp.off[fast_dim] - tdiminfo[fast_dim].start), hsize_t);
} /* end if */
else {
- H5_ASSIGN_OVERFLOW(leftover, tdiminfo[fast_dim].block - ((iter->u.hyp.off[fast_dim] - tdiminfo[fast_dim].start) % tdiminfo[fast_dim].stride), hsize_t, size_t);
+ H5_CHECKED_ASSIGN(leftover, size_t, tdiminfo[fast_dim].block - ((iter->u.hyp.off[fast_dim] - tdiminfo[fast_dim].start) % tdiminfo[fast_dim].stride), hsize_t);
} /* end else */
/* Make certain that we don't write too many */
@@ -8807,7 +8807,7 @@ H5S_hyper_get_seq_list(const H5S_t *space, unsigned UNUSED flags, H5S_sel_iter_t
/* Add a new sequence */
off[0] = loc;
- H5_ASSIGN_OVERFLOW(len[0], actual_elem * elem_size, hsize_t, size_t);
+ H5_CHECKED_ASSIGN(len[0], size_t, actual_elem * elem_size, hsize_t);
/* Increment sequence array locations */
off++;
diff --git a/src/H5Smpio.c b/src/H5Smpio.c
index def7598..c2190b4 100644
--- a/src/H5Smpio.c
+++ b/src/H5Smpio.c
@@ -94,13 +94,13 @@ H5S_mpio_all_type(const H5S_t *space, size_t elmt_size,
/* Just treat the entire extent as a block of bytes */
if((snelmts = (hssize_t)H5S_GET_EXTENT_NPOINTS(space)) < 0)
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "src dataspace has invalid selection")
- H5_ASSIGN_OVERFLOW(nelmts, snelmts, hssize_t, hsize_t);
+ H5_CHECKED_ASSIGN(nelmts, hsize_t, snelmts, hssize_t);
total_bytes = (hsize_t)elmt_size * nelmts;
/* fill in the return values */
*new_type = MPI_BYTE;
- H5_ASSIGN_OVERFLOW(*count, total_bytes, hsize_t, int);
+ H5_CHECKED_ASSIGN(*count, int, total_bytes, hsize_t);
*is_derived_type = FALSE;
done:
@@ -388,7 +388,7 @@ H5S_mpio_permute_type(const H5S_t *space, size_t elmt_size, hsize_t **permute,
sel_iter_init = TRUE; /* Selection iteration info has been initialized */
/* Set the number of elements to iterate over */
- H5_ASSIGN_OVERFLOW(max_elem, num_points, hsize_t, size_t);
+ H5_CHECKED_ASSIGN(max_elem, size_t, num_points, hsize_t);
/* Loop, while elements left in selection */
u = 0;
diff --git a/src/H5Sselect.c b/src/H5Sselect.c
index a4f13d7..e04ae16 100644
--- a/src/H5Sselect.c
+++ b/src/H5Sselect.c
@@ -1304,7 +1304,7 @@ H5S_select_iterate(void *buf, hid_t type_id, const H5S_t *space, H5D_operator_t
space_size[ndims] = elmt_size;
/* Compute the maximum number of bytes required */
- H5_ASSIGN_OVERFLOW(max_elem, nelmts, hssize_t, size_t);
+ H5_CHECKED_ASSIGN(max_elem, size_t, nelmts, hssize_t);
/* Loop, while elements left in selection */
while(max_elem > 0 && user_ret == 0) {
@@ -2063,7 +2063,7 @@ H5S_select_fill(const void *fill, size_t fill_size, const H5S_t *space, void *_b
HGOTO_ERROR(H5E_DATASPACE, H5E_CANTCOUNT, FAIL, "can't get number of elements selected")
/* Compute the number of bytes to process */
- H5_ASSIGN_OVERFLOW(max_elem, nelmts, hssize_t, size_t);
+ H5_CHECKED_ASSIGN(max_elem, size_t, nelmts, hssize_t);
/* Loop, while elements left in selection */
while(max_elem > 0) {
diff --git a/src/H5T.c b/src/H5T.c
index 8d12650..8d2f8c2 100644
--- a/src/H5T.c
+++ b/src/H5T.c
@@ -1,3 +1,4 @@
+
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Copyright by The HDF Group. *
* Copyright by the Board of Trustees of the University of Illinois. *
@@ -68,10 +69,6 @@
*
*/
-/* Define the code template for types which need no extra initialization for the "GUTS" in the H5T_INIT_TYPE macro */
-#define H5T_INIT_TYPE_NONE_CORE { \
-}
-
/* Define the code template for bitfields for the "GUTS" in the H5T_INIT_TYPE macro */
#define H5T_INIT_TYPE_BITFIELD_CORE { \
dt->shared->type = H5T_BITFIELD; \
@@ -1046,24 +1043,24 @@ H5T_init_interface(void)
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a datatype")
status = 0;
- status |= H5T_register(H5T_PERS_SOFT, "i_i", fixedpt, fixedpt, H5T__conv_i_i, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_SOFT, "i_f", fixedpt, floatpt, H5T__conv_i_f, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_SOFT, "f_f", floatpt, floatpt, H5T__conv_f_f, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_SOFT, "f_i", floatpt, fixedpt, H5T__conv_f_i, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_SOFT, "s_s", string, string, H5T__conv_s_s, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_SOFT, "b_b", bitfield, bitfield, H5T__conv_b_b, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_SOFT, "ibo", fixedpt, fixedpt, H5T__conv_order, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_SOFT, "ibo(opt)", fixedpt, fixedpt, H5T__conv_order_opt, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_SOFT, "fbo", floatpt, floatpt, H5T__conv_order, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_SOFT, "fbo(opt)", floatpt, floatpt, H5T__conv_order_opt, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_SOFT, "struct(no-opt)", compound, compound, H5T__conv_struct, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_SOFT, "struct(opt)", compound, compound, H5T__conv_struct_opt, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_SOFT, "enum", enum_type, enum_type, H5T__conv_enum, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_SOFT, "enum_i", enum_type, fixedpt, H5T__conv_enum_numeric, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_SOFT, "enum_f", enum_type, floatpt, H5T__conv_enum_numeric, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_SOFT, "vlen", vlen, vlen, H5T__conv_vlen, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_SOFT, "array", array, array, H5T__conv_array, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_SOFT, "objref", objref, objref, H5T__conv_order_opt, H5AC_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_SOFT, "i_i", fixedpt, fixedpt, H5T__conv_i_i, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_SOFT, "i_f", fixedpt, floatpt, H5T__conv_i_f, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_SOFT, "f_f", floatpt, floatpt, H5T__conv_f_f, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_SOFT, "f_i", floatpt, fixedpt, H5T__conv_f_i, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_SOFT, "s_s", string, string, H5T__conv_s_s, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_SOFT, "b_b", bitfield, bitfield, H5T__conv_b_b, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_SOFT, "ibo", fixedpt, fixedpt, H5T__conv_order, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_SOFT, "ibo(opt)", fixedpt, fixedpt, H5T__conv_order_opt, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_SOFT, "fbo", floatpt, floatpt, H5T__conv_order, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_SOFT, "fbo(opt)", floatpt, floatpt, H5T__conv_order_opt, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_SOFT, "struct(no-opt)", compound, compound, H5T__conv_struct, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_SOFT, "struct(opt)", compound, compound, H5T__conv_struct_opt, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_SOFT, "enum", enum_type, enum_type, H5T__conv_enum, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_SOFT, "enum_i", enum_type, fixedpt, H5T__conv_enum_numeric, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_SOFT, "enum_f", enum_type, floatpt, H5T__conv_enum_numeric, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_SOFT, "vlen", vlen, vlen, H5T__conv_vlen, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_SOFT, "array", array, array, H5T__conv_array, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_SOFT, "objref", objref, objref, H5T__conv_order_opt, H5AC_ind_dxpl_id, FALSE);
/*
* Native conversions should be listed last since we can use hardware to
@@ -1074,220 +1071,220 @@ H5T_init_interface(void)
*/
/* floating point */
- status |= H5T_register(H5T_PERS_HARD, "flt_dbl", native_float, native_double, H5T__conv_float_double, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "dbl_flt", native_double, native_float, H5T__conv_double_float, H5AC_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "flt_dbl", native_float, native_double, H5T__conv_float_double, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "dbl_flt", native_double, native_float, H5T__conv_double_float, H5AC_ind_dxpl_id, FALSE);
#if H5_SIZEOF_LONG_DOUBLE != 0
- status |= H5T_register(H5T_PERS_HARD, "flt_ldbl", native_float, native_ldouble, H5T__conv_float_ldouble, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "dbl_ldbl", native_double, native_ldouble, H5T__conv_double_ldouble, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "ldbl_flt", native_ldouble, native_float, H5T__conv_ldouble_float, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "ldbl_dbl", native_ldouble, native_double, H5T__conv_ldouble_double, H5AC_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "flt_ldbl", native_float, native_ldouble, H5T__conv_float_ldouble, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "dbl_ldbl", native_double, native_ldouble, H5T__conv_double_ldouble, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ldbl_flt", native_ldouble, native_float, H5T__conv_ldouble_float, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ldbl_dbl", native_ldouble, native_double, H5T__conv_ldouble_double, H5AC_ind_dxpl_id, FALSE);
#endif /* H5_SIZEOF_LONG_DOUBLE != 0 */
/* from long long */
- status |= H5T_register(H5T_PERS_HARD, "llong_ullong", native_llong, native_ullong, H5T__conv_llong_ullong, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "ullong_llong", native_ullong, native_llong, H5T__conv_ullong_llong, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "llong_long", native_llong, native_long, H5T__conv_llong_long, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "llong_ulong", native_llong, native_ulong, H5T__conv_llong_ulong, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "ullong_long", native_ullong, native_long, H5T__conv_ullong_long, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "ullong_ulong", native_ullong, native_ulong, H5T__conv_ullong_ulong, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "llong_short", native_llong, native_short, H5T__conv_llong_short, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "llong_ushort", native_llong, native_ushort, H5T__conv_llong_ushort, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "ullong_short", native_ullong, native_short, H5T__conv_ullong_short, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "ullong_ushort", native_ullong, native_ushort, H5T__conv_ullong_ushort, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "llong_int", native_llong, native_int, H5T__conv_llong_int, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "llong_uint", native_llong, native_uint, H5T__conv_llong_uint, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "ullong_int", native_ullong, native_int, H5T__conv_ullong_int, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "ullong_uint", native_ullong, native_uint, H5T__conv_ullong_uint, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "llong_schar", native_llong, native_schar, H5T__conv_llong_schar, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "llong_uchar", native_llong, native_uchar, H5T__conv_llong_uchar, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "ullong_schar", native_ullong, native_schar, H5T__conv_ullong_schar, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "ullong_uchar", native_ullong, native_uchar, H5T__conv_ullong_uchar, H5AC_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "llong_ullong", native_llong, native_ullong, H5T__conv_llong_ullong, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ullong_llong", native_ullong, native_llong, H5T__conv_ullong_llong, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "llong_long", native_llong, native_long, H5T__conv_llong_long, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "llong_ulong", native_llong, native_ulong, H5T__conv_llong_ulong, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ullong_long", native_ullong, native_long, H5T__conv_ullong_long, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ullong_ulong", native_ullong, native_ulong, H5T__conv_ullong_ulong, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "llong_short", native_llong, native_short, H5T__conv_llong_short, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "llong_ushort", native_llong, native_ushort, H5T__conv_llong_ushort, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ullong_short", native_ullong, native_short, H5T__conv_ullong_short, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ullong_ushort", native_ullong, native_ushort, H5T__conv_ullong_ushort, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "llong_int", native_llong, native_int, H5T__conv_llong_int, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "llong_uint", native_llong, native_uint, H5T__conv_llong_uint, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ullong_int", native_ullong, native_int, H5T__conv_ullong_int, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ullong_uint", native_ullong, native_uint, H5T__conv_ullong_uint, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "llong_schar", native_llong, native_schar, H5T__conv_llong_schar, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "llong_uchar", native_llong, native_uchar, H5T__conv_llong_uchar, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ullong_schar", native_ullong, native_schar, H5T__conv_ullong_schar, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ullong_uchar", native_ullong, native_uchar, H5T__conv_ullong_uchar, H5AC_ind_dxpl_id, FALSE);
/* From long */
- status |= H5T_register(H5T_PERS_HARD, "long_llong", native_long, native_llong, H5T__conv_long_llong, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "long_ullong", native_long, native_ullong, H5T__conv_long_ullong, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "ulong_llong", native_ulong, native_llong, H5T__conv_ulong_llong, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "ulong_ullong", native_ulong, native_ullong, H5T__conv_ulong_ullong, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "long_ulong", native_long, native_ulong, H5T__conv_long_ulong, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "ulong_long", native_ulong, native_long, H5T__conv_ulong_long, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "long_short", native_long, native_short, H5T__conv_long_short, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "long_ushort", native_long, native_ushort, H5T__conv_long_ushort, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "ulong_short", native_ulong, native_short, H5T__conv_ulong_short, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "ulong_ushort", native_ulong, native_ushort, H5T__conv_ulong_ushort, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "long_int", native_long, native_int, H5T__conv_long_int, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "long_uint", native_long, native_uint, H5T__conv_long_uint, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "ulong_int", native_ulong, native_int, H5T__conv_ulong_int, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "ulong_uint", native_ulong, native_uint, H5T__conv_ulong_uint, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "long_schar", native_long, native_schar, H5T__conv_long_schar, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "long_uchar", native_long, native_uchar, H5T__conv_long_uchar, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "ulong_schar", native_ulong, native_schar, H5T__conv_ulong_schar, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "ulong_uchar", native_ulong, native_uchar, H5T__conv_ulong_uchar, H5AC_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "long_llong", native_long, native_llong, H5T__conv_long_llong, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "long_ullong", native_long, native_ullong, H5T__conv_long_ullong, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ulong_llong", native_ulong, native_llong, H5T__conv_ulong_llong, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ulong_ullong", native_ulong, native_ullong, H5T__conv_ulong_ullong, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "long_ulong", native_long, native_ulong, H5T__conv_long_ulong, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ulong_long", native_ulong, native_long, H5T__conv_ulong_long, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "long_short", native_long, native_short, H5T__conv_long_short, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "long_ushort", native_long, native_ushort, H5T__conv_long_ushort, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ulong_short", native_ulong, native_short, H5T__conv_ulong_short, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ulong_ushort", native_ulong, native_ushort, H5T__conv_ulong_ushort, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "long_int", native_long, native_int, H5T__conv_long_int, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "long_uint", native_long, native_uint, H5T__conv_long_uint, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ulong_int", native_ulong, native_int, H5T__conv_ulong_int, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ulong_uint", native_ulong, native_uint, H5T__conv_ulong_uint, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "long_schar", native_long, native_schar, H5T__conv_long_schar, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "long_uchar", native_long, native_uchar, H5T__conv_long_uchar, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ulong_schar", native_ulong, native_schar, H5T__conv_ulong_schar, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ulong_uchar", native_ulong, native_uchar, H5T__conv_ulong_uchar, H5AC_ind_dxpl_id, FALSE);
/* From short */
- status |= H5T_register(H5T_PERS_HARD, "short_llong", native_short, native_llong, H5T__conv_short_llong, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "short_ullong", native_short, native_ullong, H5T__conv_short_ullong, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "ushort_llong", native_ushort, native_llong, H5T__conv_ushort_llong, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "ushort_ullong", native_ushort, native_ullong, H5T__conv_ushort_ullong, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "short_long", native_short, native_long, H5T__conv_short_long, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "short_ulong", native_short, native_ulong, H5T__conv_short_ulong, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "ushort_long", native_ushort, native_long, H5T__conv_ushort_long, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "ushort_ulong", native_ushort, native_ulong, H5T__conv_ushort_ulong, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "short_ushort", native_short, native_ushort, H5T__conv_short_ushort, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "ushort_short", native_ushort, native_short, H5T__conv_ushort_short, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "short_int", native_short, native_int, H5T__conv_short_int, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "short_uint", native_short, native_uint, H5T__conv_short_uint, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "ushort_int", native_ushort, native_int, H5T__conv_ushort_int, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "ushort_uint", native_ushort, native_uint, H5T__conv_ushort_uint, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "short_schar", native_short, native_schar, H5T__conv_short_schar, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "short_uchar", native_short, native_uchar, H5T__conv_short_uchar, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "ushort_schar", native_ushort, native_schar, H5T__conv_ushort_schar, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "ushort_uchar", native_ushort, native_uchar, H5T__conv_ushort_uchar, H5AC_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "short_llong", native_short, native_llong, H5T__conv_short_llong, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "short_ullong", native_short, native_ullong, H5T__conv_short_ullong, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ushort_llong", native_ushort, native_llong, H5T__conv_ushort_llong, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ushort_ullong", native_ushort, native_ullong, H5T__conv_ushort_ullong, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "short_long", native_short, native_long, H5T__conv_short_long, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "short_ulong", native_short, native_ulong, H5T__conv_short_ulong, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ushort_long", native_ushort, native_long, H5T__conv_ushort_long, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ushort_ulong", native_ushort, native_ulong, H5T__conv_ushort_ulong, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "short_ushort", native_short, native_ushort, H5T__conv_short_ushort, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ushort_short", native_ushort, native_short, H5T__conv_ushort_short, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "short_int", native_short, native_int, H5T__conv_short_int, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "short_uint", native_short, native_uint, H5T__conv_short_uint, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ushort_int", native_ushort, native_int, H5T__conv_ushort_int, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ushort_uint", native_ushort, native_uint, H5T__conv_ushort_uint, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "short_schar", native_short, native_schar, H5T__conv_short_schar, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "short_uchar", native_short, native_uchar, H5T__conv_short_uchar, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ushort_schar", native_ushort, native_schar, H5T__conv_ushort_schar, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ushort_uchar", native_ushort, native_uchar, H5T__conv_ushort_uchar, H5AC_ind_dxpl_id, FALSE);
/* From int */
- status |= H5T_register(H5T_PERS_HARD, "int_llong", native_int, native_llong, H5T__conv_int_llong, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "int_ullong", native_int, native_ullong, H5T__conv_int_ullong, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "uint_llong", native_uint, native_llong, H5T__conv_uint_llong, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "uint_ullong", native_uint, native_ullong, H5T__conv_uint_ullong, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "int_long", native_int, native_long, H5T__conv_int_long, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "int_ulong", native_int, native_ulong, H5T__conv_int_ulong, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "uint_long", native_uint, native_long, H5T__conv_uint_long, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "uint_ulong", native_uint, native_ulong, H5T__conv_uint_ulong, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "int_short", native_int, native_short, H5T__conv_int_short, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "int_ushort", native_int, native_ushort, H5T__conv_int_ushort, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "uint_short", native_uint, native_short, H5T__conv_uint_short, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "uint_ushort", native_uint, native_ushort, H5T__conv_uint_ushort, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "int_uint", native_int, native_uint, H5T__conv_int_uint, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "uint_int", native_uint, native_int, H5T__conv_uint_int, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "int_schar", native_int, native_schar, H5T__conv_int_schar, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "int_uchar", native_int, native_uchar, H5T__conv_int_uchar, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "uint_schar", native_uint, native_schar, H5T__conv_uint_schar, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "uint_uchar", native_uint, native_uchar, H5T__conv_uint_uchar, H5AC_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "int_llong", native_int, native_llong, H5T__conv_int_llong, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "int_ullong", native_int, native_ullong, H5T__conv_int_ullong, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "uint_llong", native_uint, native_llong, H5T__conv_uint_llong, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "uint_ullong", native_uint, native_ullong, H5T__conv_uint_ullong, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "int_long", native_int, native_long, H5T__conv_int_long, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "int_ulong", native_int, native_ulong, H5T__conv_int_ulong, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "uint_long", native_uint, native_long, H5T__conv_uint_long, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "uint_ulong", native_uint, native_ulong, H5T__conv_uint_ulong, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "int_short", native_int, native_short, H5T__conv_int_short, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "int_ushort", native_int, native_ushort, H5T__conv_int_ushort, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "uint_short", native_uint, native_short, H5T__conv_uint_short, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "uint_ushort", native_uint, native_ushort, H5T__conv_uint_ushort, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "int_uint", native_int, native_uint, H5T__conv_int_uint, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "uint_int", native_uint, native_int, H5T__conv_uint_int, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "int_schar", native_int, native_schar, H5T__conv_int_schar, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "int_uchar", native_int, native_uchar, H5T__conv_int_uchar, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "uint_schar", native_uint, native_schar, H5T__conv_uint_schar, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "uint_uchar", native_uint, native_uchar, H5T__conv_uint_uchar, H5AC_ind_dxpl_id, FALSE);
/* From char */
- status |= H5T_register(H5T_PERS_HARD, "schar_llong", native_schar, native_llong, H5T__conv_schar_llong, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "schar_ullong", native_schar, native_ullong, H5T__conv_schar_ullong, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "uchar_llong", native_uchar, native_llong, H5T__conv_uchar_llong, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "uchar_ullong", native_uchar, native_ullong, H5T__conv_uchar_ullong, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "schar_long", native_schar, native_long, H5T__conv_schar_long, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "schar_ulong", native_schar, native_ulong, H5T__conv_schar_ulong, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "uchar_long", native_uchar, native_long, H5T__conv_uchar_long, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "uchar_ulong", native_uchar, native_ulong, H5T__conv_uchar_ulong, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "schar_short", native_schar, native_short, H5T__conv_schar_short, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "schar_ushort", native_schar, native_ushort, H5T__conv_schar_ushort, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "uchar_short", native_uchar, native_short, H5T__conv_uchar_short, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "uchar_ushort", native_uchar, native_ushort, H5T__conv_uchar_ushort, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "schar_int", native_schar, native_int, H5T__conv_schar_int, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "schar_uint", native_schar, native_uint, H5T__conv_schar_uint, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "uchar_int", native_uchar, native_int, H5T__conv_uchar_int, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "uchar_uint", native_uchar, native_uint, H5T__conv_uchar_uint, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "schar_uchar", native_schar, native_uchar, H5T__conv_schar_uchar, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "uchar_schar", native_uchar, native_schar, H5T__conv_uchar_schar, H5AC_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "schar_llong", native_schar, native_llong, H5T__conv_schar_llong, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "schar_ullong", native_schar, native_ullong, H5T__conv_schar_ullong, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "uchar_llong", native_uchar, native_llong, H5T__conv_uchar_llong, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "uchar_ullong", native_uchar, native_ullong, H5T__conv_uchar_ullong, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "schar_long", native_schar, native_long, H5T__conv_schar_long, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "schar_ulong", native_schar, native_ulong, H5T__conv_schar_ulong, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "uchar_long", native_uchar, native_long, H5T__conv_uchar_long, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "uchar_ulong", native_uchar, native_ulong, H5T__conv_uchar_ulong, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "schar_short", native_schar, native_short, H5T__conv_schar_short, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "schar_ushort", native_schar, native_ushort, H5T__conv_schar_ushort, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "uchar_short", native_uchar, native_short, H5T__conv_uchar_short, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "uchar_ushort", native_uchar, native_ushort, H5T__conv_uchar_ushort, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "schar_int", native_schar, native_int, H5T__conv_schar_int, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "schar_uint", native_schar, native_uint, H5T__conv_schar_uint, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "uchar_int", native_uchar, native_int, H5T__conv_uchar_int, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "uchar_uint", native_uchar, native_uint, H5T__conv_uchar_uint, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "schar_uchar", native_schar, native_uchar, H5T__conv_schar_uchar, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "uchar_schar", native_uchar, native_schar, H5T__conv_uchar_schar, H5AC_ind_dxpl_id, FALSE);
/* From char to floats */
- status |= H5T_register(H5T_PERS_HARD, "schar_flt", native_schar, native_float, H5T__conv_schar_float, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "schar_dbl", native_schar, native_double, H5T__conv_schar_double, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "schar_ldbl", native_schar, native_ldouble, H5T__conv_schar_ldouble, H5AC_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "schar_flt", native_schar, native_float, H5T__conv_schar_float, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "schar_dbl", native_schar, native_double, H5T__conv_schar_double, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "schar_ldbl", native_schar, native_ldouble, H5T__conv_schar_ldouble, H5AC_ind_dxpl_id, FALSE);
/* From unsigned char to floats */
- status |= H5T_register(H5T_PERS_HARD, "uchar_flt", native_uchar, native_float, H5T__conv_uchar_float, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "uchar_dbl", native_uchar, native_double, H5T__conv_uchar_double, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "uchar_ldbl", native_uchar, native_ldouble, H5T__conv_uchar_ldouble, H5AC_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "uchar_flt", native_uchar, native_float, H5T__conv_uchar_float, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "uchar_dbl", native_uchar, native_double, H5T__conv_uchar_double, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "uchar_ldbl", native_uchar, native_ldouble, H5T__conv_uchar_ldouble, H5AC_ind_dxpl_id, FALSE);
/* From short to floats */
- status |= H5T_register(H5T_PERS_HARD, "short_flt", native_short, native_float, H5T__conv_short_float, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "short_dbl", native_short, native_double, H5T__conv_short_double, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "short_ldbl", native_short, native_ldouble, H5T__conv_short_ldouble, H5AC_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "short_flt", native_short, native_float, H5T__conv_short_float, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "short_dbl", native_short, native_double, H5T__conv_short_double, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "short_ldbl", native_short, native_ldouble, H5T__conv_short_ldouble, H5AC_ind_dxpl_id, FALSE);
/* From unsigned short to floats */
- status |= H5T_register(H5T_PERS_HARD, "ushort_flt", native_ushort, native_float, H5T__conv_ushort_float, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "ushort_dbl", native_ushort, native_double, H5T__conv_ushort_double, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "ushort_ldbl", native_ushort, native_ldouble, H5T__conv_ushort_ldouble, H5AC_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ushort_flt", native_ushort, native_float, H5T__conv_ushort_float, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ushort_dbl", native_ushort, native_double, H5T__conv_ushort_double, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ushort_ldbl", native_ushort, native_ldouble, H5T__conv_ushort_ldouble, H5AC_ind_dxpl_id, FALSE);
/* From int to floats */
- status |= H5T_register(H5T_PERS_HARD, "int_flt", native_int, native_float, H5T__conv_int_float, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "int_dbl", native_int, native_double, H5T__conv_int_double, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "int_ldbl", native_int, native_ldouble, H5T__conv_int_ldouble, H5AC_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "int_flt", native_int, native_float, H5T__conv_int_float, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "int_dbl", native_int, native_double, H5T__conv_int_double, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "int_ldbl", native_int, native_ldouble, H5T__conv_int_ldouble, H5AC_ind_dxpl_id, FALSE);
/* From unsigned int to floats */
- status |= H5T_register(H5T_PERS_HARD, "uint_flt", native_uint, native_float, H5T__conv_uint_float, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "uint_dbl", native_uint, native_double, H5T__conv_uint_double, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "uint_ldbl", native_uint, native_ldouble, H5T__conv_uint_ldouble, H5AC_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "uint_flt", native_uint, native_float, H5T__conv_uint_float, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "uint_dbl", native_uint, native_double, H5T__conv_uint_double, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "uint_ldbl", native_uint, native_ldouble, H5T__conv_uint_ldouble, H5AC_ind_dxpl_id, FALSE);
/* From long to floats */
- status |= H5T_register(H5T_PERS_HARD, "long_flt", native_long, native_float, H5T__conv_long_float, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "long_dbl", native_long, native_double, H5T__conv_long_double, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "long_ldbl", native_long, native_ldouble, H5T__conv_long_ldouble, H5AC_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "long_flt", native_long, native_float, H5T__conv_long_float, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "long_dbl", native_long, native_double, H5T__conv_long_double, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "long_ldbl", native_long, native_ldouble, H5T__conv_long_ldouble, H5AC_ind_dxpl_id, FALSE);
/* From unsigned long to floats */
- status |= H5T_register(H5T_PERS_HARD, "ulong_flt", native_ulong, native_float, H5T__conv_ulong_float, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "ulong_dbl", native_ulong, native_double, H5T__conv_ulong_double, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "ulong_ldbl", native_ulong, native_ldouble, H5T__conv_ulong_ldouble, H5AC_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ulong_flt", native_ulong, native_float, H5T__conv_ulong_float, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ulong_dbl", native_ulong, native_double, H5T__conv_ulong_double, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ulong_ldbl", native_ulong, native_ldouble, H5T__conv_ulong_ldouble, H5AC_ind_dxpl_id, FALSE);
/* From long long to floats */
- status |= H5T_register(H5T_PERS_HARD, "llong_flt", native_llong, native_float, H5T__conv_llong_float, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "llong_dbl", native_llong, native_double, H5T__conv_llong_double, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "llong_ldbl", native_llong, native_ldouble, H5T__conv_llong_ldouble, H5AC_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "llong_flt", native_llong, native_float, H5T__conv_llong_float, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "llong_dbl", native_llong, native_double, H5T__conv_llong_double, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "llong_ldbl", native_llong, native_ldouble, H5T__conv_llong_ldouble, H5AC_ind_dxpl_id, FALSE);
/* From unsigned long long to floats */
- status |= H5T_register(H5T_PERS_HARD, "ullong_flt", native_ullong, native_float, H5T__conv_ullong_float, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "ullong_dbl", native_ullong, native_double, H5T__conv_ullong_double, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "ullong_ldbl", native_ullong, native_ldouble, H5T__conv_ullong_ldouble, H5AC_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ullong_flt", native_ullong, native_float, H5T__conv_ullong_float, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ullong_dbl", native_ullong, native_double, H5T__conv_ullong_double, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ullong_ldbl", native_ullong, native_ldouble, H5T__conv_ullong_ldouble, H5AC_ind_dxpl_id, FALSE);
/* From floats to char */
- status |= H5T_register(H5T_PERS_HARD, "flt_schar", native_float, native_schar, H5T__conv_float_schar, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "dbl_schar", native_double, native_schar, H5T__conv_double_schar, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "ldbl_schar", native_ldouble, native_schar, H5T__conv_ldouble_schar, H5AC_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "flt_schar", native_float, native_schar, H5T__conv_float_schar, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "dbl_schar", native_double, native_schar, H5T__conv_double_schar, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ldbl_schar", native_ldouble, native_schar, H5T__conv_ldouble_schar, H5AC_ind_dxpl_id, FALSE);
/* From floats to unsigned char */
- status |= H5T_register(H5T_PERS_HARD, "flt_uchar", native_float, native_uchar, H5T__conv_float_uchar, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "dbl_uchar", native_double, native_uchar, H5T__conv_double_uchar, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "ldbl_uchar", native_ldouble, native_uchar, H5T__conv_ldouble_uchar, H5AC_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "flt_uchar", native_float, native_uchar, H5T__conv_float_uchar, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "dbl_uchar", native_double, native_uchar, H5T__conv_double_uchar, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ldbl_uchar", native_ldouble, native_uchar, H5T__conv_ldouble_uchar, H5AC_ind_dxpl_id, FALSE);
/* From floats to short */
- status |= H5T_register(H5T_PERS_HARD, "flt_short", native_float, native_short, H5T__conv_float_short, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "dbl_short", native_double, native_short, H5T__conv_double_short, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "ldbl_short", native_ldouble, native_short, H5T__conv_ldouble_short, H5AC_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "flt_short", native_float, native_short, H5T__conv_float_short, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "dbl_short", native_double, native_short, H5T__conv_double_short, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ldbl_short", native_ldouble, native_short, H5T__conv_ldouble_short, H5AC_ind_dxpl_id, FALSE);
/* From floats to unsigned short */
- status |= H5T_register(H5T_PERS_HARD, "flt_ushort", native_float, native_ushort, H5T__conv_float_ushort, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "dbl_ushort", native_double, native_ushort, H5T__conv_double_ushort, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "ldbl_ushort", native_ldouble, native_ushort, H5T__conv_ldouble_ushort, H5AC_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "flt_ushort", native_float, native_ushort, H5T__conv_float_ushort, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "dbl_ushort", native_double, native_ushort, H5T__conv_double_ushort, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ldbl_ushort", native_ldouble, native_ushort, H5T__conv_ldouble_ushort, H5AC_ind_dxpl_id, FALSE);
/* From floats to int */
- status |= H5T_register(H5T_PERS_HARD, "flt_int", native_float, native_int, H5T__conv_float_int, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "dbl_int", native_double, native_int, H5T__conv_double_int, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "ldbl_int", native_ldouble, native_int, H5T__conv_ldouble_int, H5AC_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "flt_int", native_float, native_int, H5T__conv_float_int, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "dbl_int", native_double, native_int, H5T__conv_double_int, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ldbl_int", native_ldouble, native_int, H5T__conv_ldouble_int, H5AC_ind_dxpl_id, FALSE);
/* From floats to unsigned int */
- status |= H5T_register(H5T_PERS_HARD, "flt_uint", native_float, native_uint, H5T__conv_float_uint, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "dbl_uint", native_double, native_uint, H5T__conv_double_uint, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "ldbl_uint", native_ldouble, native_uint, H5T__conv_ldouble_uint, H5AC_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "flt_uint", native_float, native_uint, H5T__conv_float_uint, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "dbl_uint", native_double, native_uint, H5T__conv_double_uint, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ldbl_uint", native_ldouble, native_uint, H5T__conv_ldouble_uint, H5AC_ind_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "flt_long", native_float, native_long, H5T__conv_float_long, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "dbl_long", native_double, native_long, H5T__conv_double_long, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "ldbl_long", native_ldouble, native_long, H5T__conv_ldouble_long, H5AC_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "flt_long", native_float, native_long, H5T__conv_float_long, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "dbl_long", native_double, native_long, H5T__conv_double_long, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ldbl_long", native_ldouble, native_long, H5T__conv_ldouble_long, H5AC_ind_dxpl_id, FALSE);
/* From floats to unsigned long */
- status |= H5T_register(H5T_PERS_HARD, "flt_ulong", native_float, native_ulong, H5T__conv_float_ulong, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "dbl_ulong", native_double, native_ulong, H5T__conv_double_ulong, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "ldbl_ulong", native_ldouble, native_ulong, H5T__conv_ldouble_ulong, H5AC_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "flt_ulong", native_float, native_ulong, H5T__conv_float_ulong, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "dbl_ulong", native_double, native_ulong, H5T__conv_double_ulong, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ldbl_ulong", native_ldouble, native_ulong, H5T__conv_ldouble_ulong, H5AC_ind_dxpl_id, FALSE);
/* From floats to long long */
- status |= H5T_register(H5T_PERS_HARD, "flt_llong", native_float, native_llong, H5T__conv_float_llong, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "dbl_llong", native_double, native_llong, H5T__conv_double_llong, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "ldbl_llong", native_ldouble, native_llong, H5T__conv_ldouble_llong, H5AC_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "flt_llong", native_float, native_llong, H5T__conv_float_llong, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "dbl_llong", native_double, native_llong, H5T__conv_double_llong, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ldbl_llong", native_ldouble, native_llong, H5T__conv_ldouble_llong, H5AC_ind_dxpl_id, FALSE);
/* From floats to unsigned long long */
- status |= H5T_register(H5T_PERS_HARD, "flt_ullong", native_float, native_ullong, H5T__conv_float_ullong, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "dbl_ullong", native_double, native_ullong, H5T__conv_double_ullong, H5AC_dxpl_id, FALSE);
- status |= H5T_register(H5T_PERS_HARD, "ldbl_ullong", native_ldouble, native_ullong, H5T__conv_ldouble_ullong, H5AC_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "flt_ullong", native_float, native_ullong, H5T__conv_float_ullong, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "dbl_ullong", native_double, native_ullong, H5T__conv_double_ullong, H5AC_ind_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "ldbl_ullong", native_ldouble, native_ullong, H5T__conv_ldouble_ullong, H5AC_ind_dxpl_id, FALSE);
/*
* The special no-op conversion is the fastest, so we list it last. The
* data types we use are not important as long as the source and
* destination are equal.
*/
- status |= H5T_register(H5T_PERS_HARD, "no-op", native_int, native_int, H5T__conv_noop, H5AC_dxpl_id, FALSE);
+ status |= H5T_register(H5T_PERS_HARD, "no-op", native_int, native_int, H5T__conv_noop, H5AC_ind_dxpl_id, FALSE);
/* Initialize the +/- Infinity values for floating-point types */
status |= H5T_init_inf();
@@ -1402,7 +1399,7 @@ H5T_term_interface(void)
H5T__print_stats(path, &nprint/*in,out*/);
path->cdata.command = H5T_CONV_FREE;
if((path->func)((hid_t)FAIL, (hid_t)FAIL, &(path->cdata), (size_t)0,
- (size_t)0, (size_t)0, NULL, NULL,H5AC_dxpl_id) < 0) {
+ (size_t)0, (size_t)0, NULL, NULL,H5AC_ind_dxpl_id) < 0) {
#ifdef H5T_DEBUG
if (H5DEBUG(T)) {
fprintf(H5DEBUG(T), "H5T: conversion function "
@@ -1987,7 +1984,7 @@ H5T_detect_class(const H5T_t *dt, H5T_class_t cls, hbool_t from_api)
case H5T_VLEN:
case H5T_ENUM:
HGOTO_DONE(H5T_detect_class(dt->shared->parent, cls, from_api));
-
+ break;
case H5T_NO_CLASS:
case H5T_INTEGER:
case H5T_FLOAT:
@@ -2926,7 +2923,7 @@ H5T_decode(const unsigned char *buf)
HGOTO_ERROR(H5E_DATATYPE, H5E_VERSION, NULL, "unknown version of encoded datatype")
/* Decode the serialized datatype message */
- if(NULL == (ret_value = (H5T_t *)H5O_msg_decode(f, H5AC_dxpl_id, NULL, H5O_DTYPE_ID, buf)))
+ if(NULL == (ret_value = (H5T_t *)H5O_msg_decode(f, H5AC_ind_dxpl_id, NULL, H5O_DTYPE_ID, buf)))
HGOTO_ERROR(H5E_DATATYPE, H5E_CANTDECODE, NULL, "can't decode object")
/* Mark datatype as being in memory now */
@@ -3214,7 +3211,7 @@ H5T_copy(H5T_t *old_dt, H5T_copy_t method)
switch(new_dt->shared->type) {
case H5T_COMPOUND:
{
- int accum_change = 0; /* Amount of change in the offset of the fields */
+ ssize_t accum_change = 0; /* Amount of change in the offset of the fields */
/*
* Copy all member fields to new type, then overwrite the
@@ -3242,13 +3239,17 @@ H5T_copy(H5T_t *old_dt, H5T_copy_t method)
new_dt->shared->u.compnd.memb[i].type = tmp;
HDassert(tmp != NULL);
+ /* Range check against compound member's offset */
+ if ((accum_change < 0) && ((ssize_t) new_dt->shared->u.compnd.memb[i].offset < accum_change))
+ HGOTO_ERROR(H5E_DATATYPE, H5E_BADVALUE, NULL, "invalid field size in datatype");
+
/* Apply the accumulated size change to the offset of the field */
- new_dt->shared->u.compnd.memb[i].offset += accum_change;
+ new_dt->shared->u.compnd.memb[i].offset += (size_t) accum_change;
if(old_dt->shared->u.compnd.sorted != H5T_SORT_VALUE) {
for(old_match = -1, j = 0; j < old_dt->shared->u.compnd.nmembs; j++) {
if(!HDstrcmp(new_dt->shared->u.compnd.memb[i].name, old_dt->shared->u.compnd.memb[j].name)) {
- old_match = j;
+ old_match = (int) j;
break;
} /* end if */
} /* end for */
@@ -3258,20 +3259,23 @@ H5T_copy(H5T_t *old_dt, H5T_copy_t method)
HGOTO_ERROR(H5E_DATATYPE, H5E_CANTCOPY, NULL, "fields in datatype corrupted");
} /* end if */
else
- old_match = i;
+ old_match = (int) i;
/* If the field changed size, add that change to the accumulated size change */
if(new_dt->shared->u.compnd.memb[i].type->shared->size != old_dt->shared->u.compnd.memb[old_match].type->shared->size) {
/* Adjust the size of the member */
new_dt->shared->u.compnd.memb[i].size = (old_dt->shared->u.compnd.memb[old_match].size*tmp->shared->size)/old_dt->shared->u.compnd.memb[old_match].type->shared->size;
- accum_change += (new_dt->shared->u.compnd.memb[i].type->shared->size - old_dt->shared->u.compnd.memb[old_match].type->shared->size);
+ accum_change += (ssize_t) (new_dt->shared->u.compnd.memb[i].type->shared->size - old_dt->shared->u.compnd.memb[old_match].type->shared->size);
} /* end if */
} /* end for */
- /* Apply the accumulated size change to the size of the compound struct */
- new_dt->shared->size += accum_change;
+ /* Range check against datatype size */
+ if ((accum_change < 0) && ((ssize_t) new_dt->shared->size < accum_change))
+ HGOTO_ERROR(H5E_DATATYPE, H5E_BADVALUE, NULL, "invalid field size in datatype");
+ /* Apply the accumulated size change to the size of the compound struct */
+ new_dt->shared->size += (size_t) accum_change;
}
break;
@@ -3316,6 +3320,13 @@ H5T_copy(H5T_t *old_dt, H5T_copy_t method)
new_dt->shared->size=new_dt->shared->u.array.nelem*new_dt->shared->parent->shared->size;
break;
+ case H5T_NO_CLASS:
+ case H5T_INTEGER:
+ case H5T_FLOAT:
+ case H5T_TIME:
+ case H5T_STRING:
+ case H5T_BITFIELD:
+ case H5T_NCLASSES:
default:
break;
} /* end switch */
@@ -3534,6 +3545,16 @@ H5T__free(H5T_t *dt)
H5MM_xfree(dt->shared->u.opaque.tag);
break;
+ case H5T_NO_CLASS:
+ case H5T_INTEGER:
+ case H5T_FLOAT:
+ case H5T_TIME:
+ case H5T_STRING:
+ case H5T_BITFIELD:
+ case H5T_REFERENCE:
+ case H5T_VLEN:
+ case H5T_ARRAY:
+ case H5T_NCLASSES:
default:
break;
} /* end switch */
@@ -3800,11 +3821,14 @@ H5T_set_size(H5T_t *dt, size_t size)
case H5T_ARRAY:
case H5T_REFERENCE:
HDassert("can't happen" && 0);
+ break;
case H5T_NO_CLASS:
case H5T_NCLASSES:
HDassert("invalid type" && 0);
+ break;
default:
HDassert("not implemented yet" && 0);
+ break;
}
/* Commit (if we didn't convert this type to a VL string) */
@@ -3879,7 +3903,6 @@ H5T_cmp(const H5T_t *dt1, const H5T_t *dt2, hbool_t superset)
unsigned *idx1 = NULL, *idx2 = NULL;
size_t base_size;
hbool_t swapped;
- int i, j;
unsigned u;
int tmp;
int ret_value = 0;
@@ -3934,24 +3957,32 @@ H5T_cmp(const H5T_t *dt1, const H5T_t *dt2, hbool_t superset)
for(u = 0; u < dt1->shared->u.compnd.nmembs; u++)
idx1[u] = idx2[u] = u;
if(dt1->shared->u.enumer.nmembs > 1) {
- for(i = dt1->shared->u.compnd.nmembs - 1, swapped = TRUE; swapped && i >= 0; --i)
+ int i;
+
+ for(i = (int) dt1->shared->u.compnd.nmembs - 1, swapped = TRUE; swapped && i >= 0; --i) {
+ int j;
+
for(j = 0, swapped=FALSE; j < i; j++)
if(HDstrcmp(dt1->shared->u.compnd.memb[idx1[j]].name,
dt1->shared->u.compnd.memb[idx1[j + 1]].name) > 0) {
- tmp = idx1[j];
+ unsigned tmp_idx = idx1[j];
idx1[j] = idx1[j + 1];
- idx1[j + 1] = tmp;
+ idx1[j + 1] = tmp_idx;
swapped = TRUE;
}
- for(i = dt2->shared->u.compnd.nmembs - 1, swapped = TRUE; swapped && i >= 0; --i)
+ }
+ for(i = (int) dt2->shared->u.compnd.nmembs - 1, swapped = TRUE; swapped && i >= 0; --i) {
+ int j;
+
for(j = 0, swapped = FALSE; j<i; j++)
if(HDstrcmp(dt2->shared->u.compnd.memb[idx2[j]].name,
dt2->shared->u.compnd.memb[idx2[j + 1]].name) > 0) {
- tmp = idx2[j];
+ unsigned tmp_idx = idx2[j];
idx2[j] = idx2[j + 1];
- idx2[j + 1] = tmp;
+ idx2[j + 1] = tmp_idx;
swapped = TRUE;
}
+ }
} /* end if */
#ifdef H5T_DEBUG
@@ -4011,28 +4042,39 @@ H5T_cmp(const H5T_t *dt1, const H5T_t *dt2, hbool_t superset)
HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, 0, "memory allocation failed");
for (u=0; u<dt1->shared->u.enumer.nmembs; u++)
idx1[u] = u;
- if(dt1->shared->u.enumer.nmembs > 1)
- for (i=dt1->shared->u.enumer.nmembs-1, swapped=TRUE; swapped && i>=0; --i)
- for (j=0, swapped=FALSE; j<i; j++)
+ if(dt1->shared->u.enumer.nmembs > 1) {
+ int i;
+ for (i = (int) dt1->shared->u.enumer.nmembs - 1, swapped = TRUE; swapped && i >= 0; --i) {
+ int j;
+
+ for (j = 0, swapped = FALSE; j < i; j++)
if (HDstrcmp(dt1->shared->u.enumer.name[idx1[j]],
dt1->shared->u.enumer.name[idx1[j+1]]) > 0) {
- tmp = idx1[j];
+ unsigned tmp_idx = idx1[j];
idx1[j] = idx1[j+1];
- idx1[j+1] = tmp;
+ idx1[j+1] = tmp_idx;
swapped = TRUE;
}
+ }
+ }
for (u=0; u<dt2->shared->u.enumer.nmembs; u++)
idx2[u] = u;
- if(dt2->shared->u.enumer.nmembs > 1)
- for (i=dt2->shared->u.enumer.nmembs-1, swapped=TRUE; swapped && i>=0; --i)
- for (j=0, swapped=FALSE; j<i; j++)
+ if(dt2->shared->u.enumer.nmembs > 1) {
+ int i;
+
+ for (i = (int) dt2->shared->u.enumer.nmembs - 1, swapped = TRUE; swapped && i >= 0; --i) {
+ int j;
+
+ for (j = 0, swapped = FALSE; j < i; j++)
if (HDstrcmp(dt2->shared->u.enumer.name[idx2[j]],
dt2->shared->u.enumer.name[idx2[j+1]]) > 0) {
- tmp = idx2[j];
+ unsigned tmp_idx = idx2[j];
idx2[j] = idx2[j+1];
- idx2[j+1] = tmp;
+ idx2[j+1] = tmp_idx;
swapped = TRUE;
}
+ }
+ }
#ifdef H5T_DEBUG
/* I don't quite trust the code above yet :-) --RPM */
@@ -4152,6 +4194,14 @@ H5T_cmp(const H5T_t *dt1, const H5T_t *dt2, hbool_t superset)
HGOTO_DONE(1);
break;
+ case H5T_NO_CLASS:
+ case H5T_INTEGER:
+ case H5T_FLOAT:
+ case H5T_TIME:
+ case H5T_STRING:
+ case H5T_BITFIELD:
+ case H5T_REFERENCE:
+ case H5T_NCLASSES:
default:
/*
* Atomic datatypes...
@@ -4259,13 +4309,23 @@ H5T_cmp(const H5T_t *dt1, const H5T_t *dt2, hbool_t superset)
case H5R_BADTYPE:
case H5R_MAXTYPE:
HDassert("invalid type" && 0);
+ break;
default:
HDassert("not implemented yet" && 0);
+ break;
}
break;
+ case H5T_NO_CLASS:
+ case H5T_OPAQUE:
+ case H5T_COMPOUND:
+ case H5T_ENUM:
+ case H5T_VLEN:
+ case H5T_ARRAY:
+ case H5T_NCLASSES:
default:
HDassert("not implemented yet" && 0);
+ break;
}
break;
} /* end switch */
@@ -4539,7 +4599,7 @@ H5T_path_find(const H5T_t *src, const H5T_t *dst, const char *name,
} /* end if */
if(cmp > 0)
md++;
- HDmemmove(H5T_g.path + md + 1, H5T_g.path + md, (H5T_g.npaths - md) * sizeof(H5T_path_t*));
+ HDmemmove(H5T_g.path + md + 1, H5T_g.path + md, (size_t) (H5T_g.npaths - md) * sizeof(H5T_path_t*));
H5T_g.npaths++;
H5T_g.path[md] = path;
table = path;
@@ -5006,6 +5066,17 @@ H5T_is_sensible(const H5T_t *dt)
ret_value=FALSE;
break;
+ case H5T_NO_CLASS:
+ case H5T_INTEGER:
+ case H5T_FLOAT:
+ case H5T_TIME:
+ case H5T_STRING:
+ case H5T_BITFIELD:
+ case H5T_OPAQUE:
+ case H5T_REFERENCE:
+ case H5T_VLEN:
+ case H5T_ARRAY:
+ case H5T_NCLASSES:
default:
/* Assume all other datatype are sensible to store on disk */
ret_value=TRUE;
@@ -5047,7 +5118,6 @@ H5T_set_loc(H5T_t *dt, H5F_t *f, H5T_loc_t loc)
htri_t changed; /* Whether H5T_set_loc changed the type (even if the size didn't change) */
htri_t ret_value = 0; /* Indicate that success, but no location change */
unsigned i; /* Local index variable */
- int accum_change; /* Amount of change in the offset of the fields */
size_t old_size; /* Previous size of a field */
FUNC_ENTER_NOAPI(FAIL)
@@ -5081,14 +5151,21 @@ H5T_set_loc(H5T_t *dt, H5F_t *f, H5T_loc_t loc)
break;
case H5T_COMPOUND: /* Check each field and recurse on VL, compound and array type */
+ {
+ ssize_t accum_change = 0; /* Amount of change in the offset of the fields */
+
/* Sort the fields based on offsets */
H5T__sort_value(dt, NULL);
- for (i=0,accum_change=0; i<dt->shared->u.compnd.nmembs; i++) {
+ for (i=0; i<dt->shared->u.compnd.nmembs; i++) {
H5T_t *memb_type; /* Member's datatype pointer */
+ /* Range check against compound member's offset */
+ if ((accum_change < 0) && ((ssize_t) dt->shared->u.compnd.memb[i].offset < accum_change))
+ HGOTO_ERROR(H5E_DATATYPE, H5E_BADVALUE, FAIL, "invalid field size in datatype");
+
/* Apply the accumulated size change to the offset of the field */
- dt->shared->u.compnd.memb[i].offset += accum_change;
+ dt->shared->u.compnd.memb[i].offset += (size_t) accum_change;
/* Set the member type pointer (for convenience) */
memb_type=dt->shared->u.compnd.memb[i].type;
@@ -5111,13 +5188,18 @@ H5T_set_loc(H5T_t *dt, H5F_t *f, H5T_loc_t loc)
dt->shared->u.compnd.memb[i].size = (dt->shared->u.compnd.memb[i].size*memb_type->shared->size)/old_size;
/* Add that change to the accumulated size change */
- accum_change += (memb_type->shared->size - (int)old_size);
+ accum_change += (ssize_t) (memb_type->shared->size - old_size);
} /* end if */
} /* end if */
} /* end for */
+ /* Range check against datatype size */
+ if ((accum_change < 0) && ((ssize_t) dt->shared->size < accum_change))
+ HGOTO_ERROR(H5E_DATATYPE, H5E_BADVALUE, FAIL, "invalid field size in datatype");
+
/* Apply the accumulated size change to the datatype */
- dt->shared->size = (size_t)(dt->shared->size + accum_change);
+ dt->shared->size += (size_t) accum_change;
+ }
break;
case H5T_VLEN: /* Recurse on the VL information if it's VL, compound or array, then free VL sequence */
@@ -5151,6 +5233,15 @@ H5T_set_loc(H5T_t *dt, H5F_t *f, H5T_loc_t loc)
} /* end if */
break;
+ case H5T_NO_CLASS:
+ case H5T_INTEGER:
+ case H5T_FLOAT:
+ case H5T_TIME:
+ case H5T_STRING:
+ case H5T_BITFIELD:
+ case H5T_OPAQUE:
+ case H5T_ENUM:
+ case H5T_NCLASSES:
default:
break;
} /* end switch */
@@ -5241,6 +5332,15 @@ H5T_upgrade_version_cb(H5T_t *dt, void *op_value)
dt->shared->version = dt->shared->parent->shared->version;
break;
+ case H5T_NO_CLASS:
+ case H5T_INTEGER:
+ case H5T_FLOAT:
+ case H5T_TIME:
+ case H5T_STRING:
+ case H5T_BITFIELD:
+ case H5T_OPAQUE:
+ case H5T_REFERENCE:
+ case H5T_NCLASSES:
default:
break;
} /* end switch */
diff --git a/src/H5Tarray.c b/src/H5Tarray.c
index c73b934..2e9dec0 100644
--- a/src/H5Tarray.c
+++ b/src/H5Tarray.c
@@ -202,7 +202,7 @@ H5T__array_create(H5T_t *base, unsigned ndims, const hsize_t dim[/* ndims */])
/* Copy the array dimensions & compute the # of elements in the array */
for(u = 0, ret_value->shared->u.array.nelem = 1; u < ndims; u++) {
- H5_ASSIGN_OVERFLOW(ret_value->shared->u.array.dim[u], dim[u], hsize_t, size_t);
+ H5_CHECKED_ASSIGN(ret_value->shared->u.array.dim[u], size_t, dim[u], hsize_t);
ret_value->shared->u.array.nelem *= (size_t)dim[u];
} /* end for */
diff --git a/src/H5Tcommit.c b/src/H5Tcommit.c
index bd1260e..c9a4420 100644
--- a/src/H5Tcommit.c
+++ b/src/H5Tcommit.c
@@ -566,6 +566,7 @@ H5Topen2(hid_t loc_id, const char *name, hid_t tapl_id)
void *vol_dt = NULL; /* datatype token created by VOL plugin */
H5VL_object_t *obj = NULL; /* object token of loc_id */
H5VL_loc_params_t loc_params;
+ hid_t dxpl_id = H5AC_ind_dxpl_id; /* dxpl to use to open datatype */
hid_t ret_value = FAIL; /* Return value */
FUNC_ENTER_API(FAIL)
@@ -591,7 +592,7 @@ H5Topen2(hid_t loc_id, const char *name, hid_t tapl_id)
/* Create the datatype through the VOL */
if(NULL == (vol_dt = H5VL_datatype_open(obj->vol_obj, loc_params, obj->vol_info->vol_cls,
- name, tapl_id, H5AC_dxpl_id, H5_REQUEST_NULL)))
+ name, tapl_id, dxpl_id, H5_REQUEST_NULL)))
HGOTO_ERROR(H5E_SYM, H5E_CANTOPENOBJ, FAIL, "unable to open datatype")
/* Get an atom for the datatype */
@@ -600,7 +601,7 @@ H5Topen2(hid_t loc_id, const char *name, hid_t tapl_id)
done:
if (ret_value < 0 && vol_dt)
- if(H5VL_datatype_close (vol_dt, obj->vol_info->vol_cls, H5AC_dxpl_id, H5_REQUEST_NULL) < 0)
+ if(H5VL_datatype_close (vol_dt, obj->vol_info->vol_cls, dxpl_id, H5_REQUEST_NULL) < 0)
HDONE_ERROR(H5E_SYM, H5E_CLOSEERROR, FAIL, "unable to release datatype")
FUNC_LEAVE_API(ret_value)
} /* end H5Topen2() */
diff --git a/src/H5Tconv.c b/src/H5Tconv.c
index df85553..1c51b69 100644
--- a/src/H5Tconv.c
+++ b/src/H5Tconv.c
@@ -1952,7 +1952,7 @@ H5T_conv_struct_init(H5T_t *src, H5T_t *dst, H5T_cdata_t *cdata, hid_t dxpl_id)
src2dst[i] = -1;
for(j = 0; j < dst_nmembs; j++) {
if(!HDstrcmp(src->shared->u.compnd.memb[i].name, dst->shared->u.compnd.memb[j].name)) {
- H5_ASSIGN_OVERFLOW(src2dst[i],j,unsigned,int);
+ H5_CHECKED_ASSIGN(src2dst[i], int, j, unsigned);
break;
} /* end if */
} /* end for */
@@ -2187,16 +2187,16 @@ H5T__conv_struct(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts,
* Direction of conversion and striding through background.
*/
if(buf_stride) {
- H5_ASSIGN_OVERFLOW(src_delta, buf_stride, size_t, ssize_t);
+ H5_CHECKED_ASSIGN(src_delta, ssize_t, buf_stride, size_t);
if(!bkg_stride) {
- H5_ASSIGN_OVERFLOW(bkg_delta, dst->shared->size, size_t, ssize_t);
+ H5_CHECKED_ASSIGN(bkg_delta, ssize_t, dst->shared->size, size_t);
} /* end if */
else
- H5_ASSIGN_OVERFLOW(bkg_delta, bkg_stride, size_t, ssize_t);
+ H5_CHECKED_ASSIGN(bkg_delta, ssize_t, bkg_stride, size_t);
} /* end if */
else if(dst->shared->size <= src->shared->size) {
- H5_ASSIGN_OVERFLOW(src_delta, src->shared->size, size_t, ssize_t);
- H5_ASSIGN_OVERFLOW(bkg_delta, dst->shared->size, size_t, ssize_t);
+ H5_CHECKED_ASSIGN(src_delta, ssize_t, src->shared->size, size_t);
+ H5_CHECKED_ASSIGN(bkg_delta, ssize_t, dst->shared->size, size_t);
} /* end else-if */
else {
H5_CHECK_OVERFLOW(src->shared->size, size_t, ssize_t);
@@ -2278,7 +2278,7 @@ H5T__conv_struct(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts,
/* If the bkg_delta was set to -(dst->shared->size), make it positive now */
if(buf_stride == 0 && dst->shared->size > src->shared->size)
- H5_ASSIGN_OVERFLOW(bkg_delta, dst->shared->size, size_t, ssize_t);
+ H5_CHECKED_ASSIGN(bkg_delta, ssize_t, dst->shared->size, size_t);
/*
* Copy the background buffer back into the in-place conversion
@@ -2833,8 +2833,8 @@ H5T__conv_enum(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts,
src_delta = dst_delta = (ssize_t)buf_stride;
s = d = buf;
} else if(dst->shared->size <= src->shared->size) {
- H5_ASSIGN_OVERFLOW(src_delta, src->shared->size, size_t, ssize_t);
- H5_ASSIGN_OVERFLOW(dst_delta, dst->shared->size, size_t, ssize_t);
+ H5_CHECKED_ASSIGN(src_delta, ssize_t, src->shared->size, size_t);
+ H5_CHECKED_ASSIGN(dst_delta, ssize_t, dst->shared->size, size_t);
s = d = buf;
} else {
H5_CHECK_OVERFLOW(src->shared->size, size_t, ssize_t);
diff --git a/src/H5Tdeprec.c b/src/H5Tdeprec.c
index 1691917..004911f 100644
--- a/src/H5Tdeprec.c
+++ b/src/H5Tdeprec.c
@@ -223,6 +223,7 @@ H5Topen1(hid_t loc_id, const char *name)
H5T_t *dt = NULL; /* upper level H5T_t for datatype */
H5VL_object_t *obj = NULL; /* object token of loc_id */
H5VL_loc_params_t loc_params;
+ hid_t dxpl_id = H5AC_ind_dxpl_id; /* dxpl to use to open datatype */
hid_t ret_value = FAIL; /* Return value */
FUNC_ENTER_API(FAIL)
@@ -242,7 +243,7 @@ H5Topen1(hid_t loc_id, const char *name)
/* Create the datatype through the VOL */
if(NULL == (vol_dt = H5VL_datatype_open(obj->vol_obj, loc_params, obj->vol_info->vol_cls,
name, H5P_DATATYPE_ACCESS_DEFAULT,
- H5AC_dxpl_id, H5_REQUEST_NULL)))
+ dxpl_id, H5_REQUEST_NULL)))
HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to open datatype")
/* Get an atom for the datatype */
@@ -251,7 +252,7 @@ H5Topen1(hid_t loc_id, const char *name)
done:
if (ret_value < 0 && dt)
- if(H5VL_datatype_close (vol_dt, obj->vol_info->vol_cls, H5AC_dxpl_id, H5_REQUEST_NULL) < 0)
+ if(H5VL_datatype_close (vol_dt, obj->vol_info->vol_cls, dxpl_id, H5_REQUEST_NULL) < 0)
HDONE_ERROR(H5E_SYM, H5E_CLOSEERROR, FAIL, "unable to release dataset")
FUNC_LEAVE_API(ret_value)
diff --git a/src/H5Tfloat.c b/src/H5Tfloat.c
index 7d08d62..fff413d 100644
--- a/src/H5Tfloat.c
+++ b/src/H5Tfloat.c
@@ -203,7 +203,7 @@ H5Tget_ebias(hid_t type_id)
HGOTO_ERROR(H5E_DATATYPE, H5E_BADTYPE, 0, "operation not defined for datatype class")
/* bias */
- H5_ASSIGN_OVERFLOW(ret_value, dt->shared->u.atomic.u.f.ebias, uint64_t, size_t);
+ H5_CHECKED_ASSIGN(ret_value, size_t, dt->shared->u.atomic.u.f.ebias, uint64_t);
done:
FUNC_LEAVE_API(ret_value)
diff --git a/src/H5Tnative.c b/src/H5Tnative.c
index 960a811..bf6ba08 100644
--- a/src/H5Tnative.c
+++ b/src/H5Tnative.c
@@ -276,7 +276,7 @@ H5T_get_native_type(H5T_t *dtype, H5T_direction_t direction, size_t *struct_alig
if((snmemb = H5T_get_nmembers(dtype)) <= 0)
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, NULL, "compound data type doesn't have any member")
- H5_ASSIGN_OVERFLOW(nmemb, snmemb, int, unsigned);
+ H5_CHECKED_ASSIGN(nmemb, unsigned, snmemb, int);
if(NULL == (memb_list = (H5T_t **)H5MM_calloc(nmemb * sizeof(H5T_t *))))
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, NULL, "cannot allocate memory")
@@ -388,7 +388,7 @@ H5T_get_native_type(H5T_t *dtype, H5T_direction_t direction, size_t *struct_alig
/* Retrieve member info and insert members into new enum type */
if((snmemb = H5T_get_nmembers(dtype)) <= 0)
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, NULL, "enumerate data type doesn't have any member")
- H5_ASSIGN_OVERFLOW(nmemb, snmemb, int, unsigned);
+ H5_CHECKED_ASSIGN(nmemb, unsigned, snmemb, int);
for(u = 0; u < nmemb; u++) {
if(NULL == (memb_name = H5T__get_member_name(dtype, u)))
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, NULL, "cannot get member name")
@@ -429,7 +429,7 @@ H5T_get_native_type(H5T_t *dtype, H5T_direction_t direction, size_t *struct_alig
/* Retrieve dimension information for array data type */
if((sarray_rank = H5T__get_array_ndims(dtype)) <= 0)
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, NULL, "cannot get dimension rank")
- H5_ASSIGN_OVERFLOW(array_rank, sarray_rank, int, unsigned);
+ H5_CHECKED_ASSIGN(array_rank, unsigned, sarray_rank, int);
if(NULL == (dims = (hsize_t*)H5MM_malloc(array_rank * sizeof(hsize_t))))
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, NULL, "cannot allocate memory")
if(H5T__get_array_dims(dtype, dims) < 0)
diff --git a/src/H5VLnative.c b/src/H5VLnative.c
index 70515ab..da5c3d6 100644
--- a/src/H5VLnative.c
+++ b/src/H5VLnative.c
@@ -909,7 +909,7 @@ H5VL_native_attr_specific(void *obj, H5VL_loc_params_t loc_params, H5VL_attr_spe
else if(loc_params.type == H5VL_OBJECT_BY_NAME) { /* H5Aopen_by_name */
/* Check if the attribute exists */
if((*ret = H5A_exists_by_name(loc, loc_params.loc_data.loc_by_name.name, attr_name,
- loc_params.loc_data.loc_by_name.lapl_id)) < 0)
+ loc_params.loc_data.loc_by_name.lapl_id, dxpl_id)) < 0)
HGOTO_ERROR(H5E_ATTR, H5E_CANTGET, FAIL, "unable to determine if attribute exists")
}
else {
@@ -948,7 +948,7 @@ H5VL_native_attr_specific(void *obj, H5VL_loc_params_t loc_params, H5VL_attr_spe
else if(loc_params.type == H5VL_OBJECT_BY_NAME) { /* H5Arename_by_name */
/* Call attribute rename routine */
if(H5A_rename_by_name(loc, loc_params.loc_data.loc_by_name.name, old_name,
- new_name, loc_params.loc_data.loc_by_name.lapl_id) < 0)
+ new_name, loc_params.loc_data.loc_by_name.lapl_id, dxpl_id) < 0)
HGOTO_ERROR(H5E_ATTR, H5E_CANTRENAME, FAIL, "can't rename attribute")
}
else {
diff --git a/src/H5VM.c b/src/H5VM.c
index a1eafb6..ffc657d 100644
--- a/src/H5VM.c
+++ b/src/H5VM.c
@@ -418,8 +418,7 @@ H5VM_hyper_disjointp(unsigned n,
HGOTO_DONE(TRUE)
for(u = 0; u < n; u++) {
- HDassert(size1[u] < HSIZET_MAX);
- HDassert(size2[u] < HSIZET_MAX);
+ HDcompile_assert(sizeof(uint32_t) <= sizeof(hsize_t));
if(0 == size1[u] || 0 == size2[u])
HGOTO_DONE(TRUE)
@@ -1259,21 +1258,84 @@ done:
* The chunk index is placed in the CHUNK_IDX location for return
* from this function
*
- * Return: Non-negative on success/Negative on failure
+ * Return: Chunk index on success (can't fail)
*
* Programmer: Quincey Koziol
* Monday, April 21, 2003
*
- * Modifications:
- *
*-------------------------------------------------------------------------
*/
-herr_t
+hsize_t
H5VM_chunk_index(unsigned ndims, const hsize_t *coord, const uint32_t *chunk,
- const hsize_t *down_nchunks, hsize_t *chunk_idx)
+ const hsize_t *down_nchunks)
{
- hsize_t scaled_coord[H5VM_HYPER_NDIMS]; /* Scaled, coordinates, in terms of chunks */
- unsigned u; /* Local index variable */
+ hsize_t scaled_coord[H5VM_HYPER_NDIMS]; /* Scaled, coordinates, in terms of chunks */
+ hsize_t chunk_idx; /* Chunk index computed */
+
+ FUNC_ENTER_NOAPI_NOINIT_NOERR
+
+ /* Sanity check */
+ HDassert(ndims <= H5VM_HYPER_NDIMS);
+ HDassert(coord);
+ HDassert(chunk);
+ HDassert(down_nchunks);
+
+ /* Defer to H5VM_chunk_index_scaled */
+ chunk_idx = H5VM_chunk_index_scaled(ndims, coord, chunk, down_nchunks, scaled_coord);
+
+ FUNC_LEAVE_NOAPI(chunk_idx)
+} /* end H5VM_chunk_index() */
+
+
+/*-------------------------------------------------------------------------
+ * Function: H5VM_chunk_index_scaled
+ *
+ * Purpose: Given a coordinate offset (COORD), the size of each chunk
+ * (CHUNK), the number of chunks in each dimension (NCHUNKS)
+ * and the number of dimensions of all of these (NDIMS), calculate
+ * a "chunk index" for the chunk that the coordinate offset is
+ * located in.
+ *
+ * The chunk index starts at 0 and increases according to the
+ * fastest changing dimension, then the next fastest, etc.
+ *
+ * For example, with a 3x5 chunk size and 6 chunks in the fastest
+ * changing dimension and 3 chunks in the slowest changing
+ * dimension, the chunk indices are as follows:
+ *
+ * +-----+-----+-----+-----+-----+-----+
+ * | | | | | | |
+ * | 0 | 1 | 2 | 3 | 4 | 5 |
+ * | | | | | | |
+ * +-----+-----+-----+-----+-----+-----+
+ * | | | | | | |
+ * | 6 | 7 | 8 | 9 | 10 | 11 |
+ * | | | | | | |
+ * +-----+-----+-----+-----+-----+-----+
+ * | | | | | | |
+ * | 12 | 13 | 14 | 15 | 16 | 17 |
+ * | | | | | | |
+ * +-----+-----+-----+-----+-----+-----+
+ *
+ * The chunk index is placed in the CHUNK_IDX location for return
+ * from this function
+ *
+ * Note: This routine is identical to H5VM_chunk_index(), except for
+ * caching the scaled information. Make changes in both places.
+ *
+ * Return: Chunk index on success (can't fail)
+ *
+ * Programmer: Vailin Choi
+ * Monday, February 9, 2015
+ *
+ *-------------------------------------------------------------------------
+ */
+hsize_t
+H5VM_chunk_index_scaled(unsigned ndims, const hsize_t *coord, const uint32_t *chunk,
+ const hsize_t *down_nchunks, hsize_t *scaled)
+{
+ hsize_t chunk_idx; /* Computed chunk index */
+ unsigned u; /* Local index variable */
FUNC_ENTER_NOAPI_NOINIT_NOERR
@@ -1281,17 +1343,19 @@ H5VM_chunk_index(unsigned ndims, const hsize_t *coord, const uint32_t *chunk,
HDassert(ndims <= H5VM_HYPER_NDIMS);
HDassert(coord);
HDassert(chunk);
- HDassert(chunk_idx);
+ HDassert(down_nchunks);
+ HDassert(scaled);
/* Compute the scaled coordinates for actual coordinates */
- for(u=0; u<ndims; u++)
- scaled_coord[u]=coord[u]/chunk[u];
+ /* (Note that the 'scaled' array is an 'OUT' parameter) */
+ for(u = 0; u < ndims; u++)
+ scaled[u] = coord[u] / chunk[u];
/* Compute the chunk index */
- *chunk_idx=H5VM_array_offset_pre(ndims,down_nchunks,scaled_coord); /*lint !e772 scaled_coord will always be initialized */
+ chunk_idx = H5VM_array_offset_pre(ndims, down_nchunks, scaled); /*lint !e772 scaled_coord will always be initialized */
- FUNC_LEAVE_NOAPI(SUCCEED)
-} /* end H5VM_chunk_index() */
+ FUNC_LEAVE_NOAPI(chunk_idx)
+} /* end H5VM_chunk_index_scaled() */
/*-------------------------------------------------------------------------
diff --git a/src/H5VMprivate.h b/src/H5VMprivate.h
index 20821b2..8ddb5ee 100644
--- a/src/H5VMprivate.h
+++ b/src/H5VMprivate.h
@@ -89,8 +89,10 @@ H5_DLL hsize_t H5VM_array_offset(unsigned n, const hsize_t *total_size,
const hsize_t *offset);
H5_DLL herr_t H5VM_array_calc(hsize_t offset, unsigned n,
const hsize_t *total_size, hsize_t *coords);
-H5_DLL herr_t H5VM_chunk_index(unsigned ndims, const hsize_t *coord,
- const uint32_t *chunk, const hsize_t *down_nchunks, hsize_t *chunk_idx);
+H5_DLL hsize_t H5VM_chunk_index(unsigned ndims, const hsize_t *coord,
+ const uint32_t *chunk, const hsize_t *down_nchunks);
+H5_DLL hsize_t H5VM_chunk_index_scaled(unsigned ndims, const hsize_t *coord,
+ const uint32_t *chunk, const hsize_t *down_nchunks, hsize_t *scaled);
H5_DLL ssize_t H5VM_opvv(size_t dst_max_nseq, size_t *dst_curr_seq, size_t dst_len_arr[],
hsize_t dst_off_arr[],
size_t src_max_nseq, size_t *src_curr_seq, size_t src_len_arr[],
@@ -410,6 +412,29 @@ H5VM_log2_of2(uint32_t n)
/*-------------------------------------------------------------------------
+ * Function: H5VM_power2up
+ *
+ * Purpose: Round up a number to the next power of 2
+ *
+ * Return: Return the number which is a power of 2
+ *
+ * Programmer: Vailin Choi; Nov 2014
+ *
+ *-------------------------------------------------------------------------
+ */
+static H5_inline hsize_t UNUSED
+H5VM_power2up(hsize_t n)
+{
+ hsize_t ret_value = 1; /* Return value */
+
+ while(ret_value < n)
+ ret_value <<= 1;
+
+ return(ret_value);
+} /* H5VM_power2up */
+
+
+/*-------------------------------------------------------------------------
* Function: H5VM_limit_enc_size
*
* Purpose: Determine the # of bytes needed to encode values within a
diff --git a/src/H5Zdeflate.c b/src/H5Zdeflate.c
index 82ad1ba..06d9866 100644
--- a/src/H5Zdeflate.c
+++ b/src/H5Zdeflate.c
@@ -102,9 +102,9 @@ H5Z_filter_deflate (unsigned flags, size_t cd_nelmts,
/* Set the uncompression parameters */
HDmemset(&z_strm, 0, sizeof(z_strm));
z_strm.next_in = (Bytef *)*buf;
- H5_ASSIGN_OVERFLOW(z_strm.avail_in,nbytes,size_t,unsigned);
+ H5_CHECKED_ASSIGN(z_strm.avail_in, unsigned, nbytes, size_t);
z_strm.next_out = (Bytef *)outbuf;
- H5_ASSIGN_OVERFLOW(z_strm.avail_out,nalloc,size_t,unsigned);
+ H5_CHECKED_ASSIGN(z_strm.avail_out, unsigned, nalloc, size_t);
/* Initialize the uncompression routines */
if (Z_OK!=inflateInit(&z_strm))
@@ -169,7 +169,7 @@ H5Z_filter_deflate (unsigned flags, size_t cd_nelmts,
int aggression; /* Compression aggression setting */
/* Set the compression aggression level */
- H5_ASSIGN_OVERFLOW(aggression,cd_values[0],unsigned,int);
+ H5_CHECKED_ASSIGN(aggression, int, cd_values[0], unsigned);
/* Allocate output (compressed) buffer */
if(NULL == (outbuf = H5MM_malloc(z_dst_nbytes)))
diff --git a/src/H5Znbit.c b/src/H5Znbit.c
index 9506ace..ff3ead2 100644
--- a/src/H5Znbit.c
+++ b/src/H5Znbit.c
@@ -803,7 +803,7 @@ H5Z_set_local_nbit(hid_t dcpl_id, hid_t type_id, hid_t space_id)
cd_values_index = 2;
/* Set "local" parameter for number of elements in the chunk */
- H5_ASSIGN_OVERFLOW(cd_values[cd_values_index++], npoints, hssize_t, unsigned);
+ H5_CHECKED_ASSIGN(cd_values[cd_values_index++], unsigned, npoints, hssize_t);
/* Assume no need to compress now, will be changed to FALSE later if not */
need_not_compress = TRUE;
diff --git a/src/H5Zscaleoffset.c b/src/H5Zscaleoffset.c
index 38e2986..cda0a11 100644
--- a/src/H5Zscaleoffset.c
+++ b/src/H5Zscaleoffset.c
@@ -901,7 +901,7 @@ H5Z_set_local_scaleoffset(hid_t dcpl_id, hid_t type_id, hid_t space_id)
HGOTO_ERROR(H5E_PLINE, H5E_CANTGET, FAIL, "unable to get number of points in the dataspace")
/* Set "local" parameter for this dataset's number of elements */
- H5_ASSIGN_OVERFLOW(cd_values[H5Z_SCALEOFFSET_PARM_NELMTS],npoints,hssize_t,unsigned);
+ H5_CHECKED_ASSIGN(cd_values[H5Z_SCALEOFFSET_PARM_NELMTS], unsigned, npoints, hssize_t);
/* Get datatype's class */
if((dtype_class = H5T_get_class(type, TRUE)) == H5T_NO_CLASS)
diff --git a/src/H5Zszip.c b/src/H5Zszip.c
index 4544ec3..631667b 100644
--- a/src/H5Zszip.c
+++ b/src/H5Zszip.c
@@ -225,7 +225,7 @@ H5Z_set_local_szip(hid_t dcpl_id, hid_t type_id, hid_t space_id)
} /* end else */
/* Assign the final value to the scanline */
- H5_ASSIGN_OVERFLOW(cd_values[H5Z_SZIP_PARM_PPS],scanline,hsize_t,unsigned);
+ H5_CHECKED_ASSIGN(cd_values[H5Z_SZIP_PARM_PPS], unsigned, scanline, hsize_t);
/* Get datatype's endianness order */
if((dtype_order = H5T_get_order(type)) == H5T_ORDER_ERROR)
@@ -301,10 +301,10 @@ H5Z_filter_szip (unsigned flags, size_t cd_nelmts, const unsigned cd_values[],
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, 0, "invalid deflate aggression level")
/* Copy the filter parameters into the szip parameter block */
- H5_ASSIGN_OVERFLOW(sz_param.options_mask,cd_values[H5Z_SZIP_PARM_MASK],unsigned,int);
- H5_ASSIGN_OVERFLOW(sz_param.bits_per_pixel,cd_values[H5Z_SZIP_PARM_BPP],unsigned,int);
- H5_ASSIGN_OVERFLOW(sz_param.pixels_per_block,cd_values[H5Z_SZIP_PARM_PPB],unsigned,int);
- H5_ASSIGN_OVERFLOW(sz_param.pixels_per_scanline,cd_values[H5Z_SZIP_PARM_PPS],unsigned,int);
+ H5_CHECKED_ASSIGN(sz_param.options_mask, int, cd_values[H5Z_SZIP_PARM_MASK], unsigned);
+ H5_CHECKED_ASSIGN(sz_param.bits_per_pixel, int, cd_values[H5Z_SZIP_PARM_BPP], unsigned);
+ H5_CHECKED_ASSIGN(sz_param.pixels_per_block, int, cd_values[H5Z_SZIP_PARM_PPB], unsigned);
+ H5_CHECKED_ASSIGN(sz_param.pixels_per_scanline, int, cd_values[H5Z_SZIP_PARM_PPS], unsigned);
/* Input; uncompress */
if (flags & H5Z_FLAG_REVERSE) {
@@ -314,7 +314,7 @@ H5Z_filter_szip (unsigned flags, size_t cd_nelmts, const unsigned cd_values[],
/* Get the size of the uncompressed buffer */
newbuf = *buf;
UINT32DECODE(newbuf,stored_nalloc);
- H5_ASSIGN_OVERFLOW(nalloc,stored_nalloc,uint32_t,size_t);
+ H5_CHECKED_ASSIGN(nalloc, size_t, stored_nalloc, uint32_t);
/* Allocate space for the uncompressed buffer */
if(NULL==(outbuf = H5MM_malloc(nalloc)))
diff --git a/src/H5detect.c b/src/H5detect.c
index fc0570c..15736bd 100644
--- a/src/H5detect.c
+++ b/src/H5detect.c
@@ -73,7 +73,7 @@ static const char *FileHeader = "\n\
#define H5JMP_BUF sigjmp_buf
#define H5SETJMP(buf) HDsigsetjmp(buf, 1)
#define H5LONGJMP(buf, val) HDsiglongjmp(buf, val)
-#define H5HAVE_SIGJMP # sigsetjmp/siglongjmp are supported.
+#define H5HAVE_SIGJMP /* sigsetjmp/siglongjmp are supported. */
#elif defined(H5_HAVE_LONGJMP)
#define H5JMP_BUF jmp_buf
#define H5SETJMP(buf) HDsetjmp(buf)
@@ -90,41 +90,41 @@ static const char *FileHeader = "\n\
* was detected.
*/
typedef struct detected_t {
- const char *varname;
- int size; /*total byte size */
- int precision; /*meaningful bits */
- int offset; /*bit offset to meaningful bits */
- int perm[32]; /*for detection of byte order */
- int is_vax; /*for vax (float & double) only */
- int sign; /*location of sign bit */
- int mpos, msize, imp;/*information about mantissa */
- int epos, esize; /*information about exponent */
- unsigned long bias; /*exponent bias for floating pt.*/
- size_t align; /*required byte alignment */
- size_t comp_align; /*alignment for structure */
+ const char *varname;
+ unsigned int size; /* total byte size */
+ unsigned int precision; /* meaningful bits */
+ unsigned int offset; /* bit offset to meaningful bits */
+ int perm[32]; /* for detection of byte order */
+ hbool_t is_vax; /* for vax (float & double) only */
+ unsigned int sign; /* location of sign bit */
+ unsigned int mpos, msize, imp; /* information about mantissa */
+ unsigned int epos, esize; /* information about exponent */
+ unsigned long bias; /* exponent bias for floating pt */
+ unsigned int align; /* required byte alignment */
+ unsigned int comp_align; /* alignment for structure */
} detected_t;
/* This structure holds structure alignment for pointers, hvl_t, hobj_ref_t,
* hdset_reg_ref_t */
typedef struct malign_t {
const char *name;
- size_t comp_align; /*alignment for structure */
+ unsigned int comp_align; /* alignment for structure */
} malign_t;
/* global variables types detection code */
-static detected_t d_g[MAXDETECT];
-static malign_t m_g[MAXDETECT];
-static volatile int nd_g = 0, na_g = 0;
+H5_GCC_DIAG_OFF(larger-than=)
+static detected_t d_g[MAXDETECT];
+H5_GCC_DIAG_ON(larger-than=)
+static malign_t m_g[MAXDETECT];
+static volatile int nd_g = 0, na_g = 0;
static void print_results(int nd, detected_t *d, int na, malign_t *m);
static void iprint(detected_t *);
static int byte_cmp(int, const void *, const void *, const unsigned char *);
-static int bit_cmp(int, int *, volatile void *, volatile void *,
- const unsigned char *);
+static unsigned int bit_cmp(unsigned int, int *, void *, void *, const unsigned char *);
static void fix_order(int, int, int *, const char **);
-static int imp_bit(int, int *, volatile void *, volatile void *,
- const unsigned char *);
-static unsigned long find_bias(int, int, int *, volatile void *);
+static unsigned int imp_bit(unsigned int, int *, void *, void *, const unsigned char *);
+static unsigned int find_bias(unsigned int, unsigned int, int *, void *);
static void precision (detected_t*);
static void print_header(void);
static void detect_C89_integers(void);
@@ -136,7 +136,7 @@ static void detect_C99_integers16(void);
static void detect_C99_integers32(void);
static void detect_C99_integers64(void);
static void detect_alignments(void);
-static size_t align_g[] = {1, 2, 4, 8, 16};
+static unsigned int align_g[] = {1, 2, 4, 8, 16};
static int align_status_g = 0; /* ALIGNMENT Signal Status */
static int sigbus_handler_called_g = 0; /* how many times called */
static int sigsegv_handler_called_g = 0;/* how many times called */
@@ -167,39 +167,41 @@ static H5JMP_BUF jbuf_g;
static void
precision (detected_t *d)
{
- int n;
+ unsigned int n;
- if (0==d->msize) {
- /*
- * An integer. The permutation can have negative values at the
- * beginning or end which represent padding of bytes. We must adjust
- * the precision and offset accordingly.
- */
- if (d->perm[0] < 0) {
- /*
- * Lower addresses are padded.
- */
- for (n=0; n<d->size && d->perm[n]<0; n++) /*void*/;
- d->precision = 8*(d->size-n);
- d->offset = 0;
- } else if (d->perm[d->size - 1] < 0) {
- /*
- * Higher addresses are padded.
- */
- for (n=0; n<d->size && d->perm[d->size-(n+1)]; n++) /*void*/;
- d->precision = 8*(d->size-n);
- d->offset = 8*n;
- } else {
- /*
- * No padding.
- */
- d->precision = 8*d->size;
- d->offset = 0;
- }
+ if (0 == d->msize) {
+ /*
+ * An integer. The permutation can have negative values at the
+ * beginning or end which represent padding of bytes. We must adjust
+ * the precision and offset accordingly.
+ */
+ if (d->perm[0] < 0) {
+ /*
+ * Lower addresses are padded.
+ */
+ for (n = 0; n < d->size && d->perm[n] < 0; n++)
+ /*void*/;
+ d->precision = 8 * (d->size - n);
+ d->offset = 0;
+ } else if (d->perm[d->size - 1] < 0) {
+ /*
+ * Higher addresses are padded.
+ */
+ for (n = 0; n < d->size && d->perm[d->size - (n + 1)]; n++)
+ /*void*/;
+ d->precision = 8 * (d->size - n);
+ d->offset = 8 * n;
+ } else {
+ /*
+ * No padding.
+ */
+ d->precision = 8 * d->size;
+ d->offset = 0;
+ }
} else {
- /* A floating point */
- d->offset = MIN3 (d->mpos, d->epos, d->sign);
- d->precision = d->msize + d->esize + 1;
+ /* A floating point */
+ d->offset = MIN3(d->mpos, d->epos, d->sign);
+ d->precision = d->msize + d->esize + 1;
}
}
@@ -251,7 +253,8 @@ precision (detected_t *d)
INFO.size = sizeof(TYPE); \
\
for(_i = sizeof(DETECT_TYPE), _v = 0; _i > 0; --_i) \
- _v = (_v << 8) + _i; \
+ _v = (DETECT_TYPE) ((DETECT_TYPE) (_v << 8) + (DETECT_TYPE) _i); \
+ \
for(_i = 0, _x = (unsigned char *)&_v; _i < (signed)sizeof(DETECT_TYPE); _i++) { \
_j = (*_x++) - 1; \
HDassert(_j < (signed)sizeof(DETECT_TYPE)); \
@@ -290,9 +293,6 @@ precision (detected_t *d)
* absence of implicit mantissa bit, and exponent bias and
* initializes a detected_t structure with those properties.
*
- * Note: 'volatile' is used for the variables below to prevent the
- * compiler from optimizing them away.
- *
* Return: void
*
* Programmer: Robb Matzke
@@ -302,12 +302,12 @@ precision (detected_t *d)
*-------------------------------------------------------------------------
*/
#define DETECT_F(TYPE,VAR,INFO) { \
- volatile TYPE _v1, _v2, _v3; \
+ TYPE _v1, _v2, _v3; \
unsigned char _buf1[sizeof(TYPE)], _buf3[sizeof(TYPE)]; \
unsigned char _pad_mask[sizeof(TYPE)]; \
unsigned char _byte_mask; \
int _i, _j, _last = (-1); \
- char *_mesg; \
+ const char *_mesg; \
\
HDmemset(&INFO, 0, sizeof(INFO)); \
INFO.varname = #VAR; \
@@ -326,11 +326,13 @@ precision (detected_t *d)
_v1 = (TYPE)4.0L; \
HDmemcpy(_buf1, (const void *)&_v1, sizeof(TYPE)); \
for(_i = 0; _i < (int)sizeof(TYPE); _i++) \
- for(_byte_mask = (unsigned char)1; _byte_mask; _byte_mask <<= 1) { \
+ for(_byte_mask = (unsigned char)1; _byte_mask; _byte_mask = (unsigned char) (_byte_mask << 1)) { \
_buf1[_i] ^= _byte_mask; \
HDmemcpy((void *)&_v2, (const void *)_buf1, sizeof(TYPE)); \
+ H5_GCC_DIAG_OFF(float-equal) \
if(_v1 != _v2) \
_pad_mask[_i] |= _byte_mask; \
+ H5_GCC_DIAG_ON(float-equal) \
_buf1[_i] ^= _byte_mask; \
} /* end for */ \
\
@@ -368,7 +370,7 @@ precision (detected_t *d)
_v1 = (TYPE)1.0L; \
_v2 = (TYPE)1.5L; \
INFO.msize = bit_cmp (sizeof(TYPE), INFO.perm, &_v1, &_v2, _pad_mask); \
- INFO.msize += 1 + (INFO.imp?0:1) - INFO.mpos; \
+ INFO.msize += 1 + (unsigned int) (INFO.imp ? 0 : 1) - INFO.mpos; \
\
/* Exponent */ \
INFO.epos = INFO.mpos + INFO.msize; \
@@ -415,14 +417,13 @@ precision (detected_t *d)
TYPE x; \
} s; \
\
- COMP_ALIGN = (size_t)((char*)(&(s.x)) - (char*)(&s)); \
+ COMP_ALIGN = (unsigned int)((char*)(&(s.x)) - (char*)(&s)); \
}
#if defined(H5SETJMP) && defined(H5_HAVE_SIGNAL)
#define ALIGNMENT(TYPE,INFO) { \
- char *volatile _buf = NULL; \
- volatile TYPE _val = 1; \
- volatile TYPE _val2; \
+ char *volatile _buf = NULL; \
+ TYPE _val = 1, _val2; \
volatile size_t _ano = 0; \
void (*_handler)(int) = HDsignal(SIGBUS, sigbus_handler); \
void (*_handler2)(int) = HDsignal(SIGSEGV, sigsegv_handler);\
@@ -445,8 +446,10 @@ precision (detected_t *d)
else /* Little-Endian */ \
HDmemcpy(_buf+align_g[_ano]+(INFO.offset/8),((char *)&_val)+(INFO.offset/8),(size_t)(INFO.precision/8)); \
_val2 = *((TYPE*)(_buf+align_g[_ano])); \
+ H5_GCC_DIAG_OFF(float-equal) \
if(_val!=_val2) \
H5LONGJMP(jbuf_g, 1); \
+ H5_GCC_DIAG_ON(float-equal) \
/* End Cray Check */ \
(INFO.align)=align_g[_ano]; \
} else { \
@@ -881,63 +884,69 @@ done:\n\
static void
iprint(detected_t *d)
{
- int i, j, k, pass;
+ unsigned int pass;
- for (pass=(d->size-1)/4; pass>=0; --pass) {
- /*
- * Print the byte ordering above the bit fields.
- */
- printf(" * ");
- for (i=MIN(pass*4+3,d->size-1); i>=pass*4; --i) {
- printf ("%4d", d->perm[i]);
- if (i>pass*4) HDfputs (" ", stdout);
- }
+ for (pass = (d->size - 1) / 4; ; --pass) {
+ unsigned int i, k;
+ /*
+ * Print the byte ordering above the bit fields.
+ */
+ printf(" * ");
+ for (i = MIN(pass * 4 + 3, d->size - 1); i >= pass * 4; --i) {
+ printf("%4d", d->perm[i]);
+ if (i > pass * 4) HDfputs(" ", stdout);
+ if (!i) break;
+ }
- /*
- * Print the bit fields
- */
- printf("\n * ");
- for (i=MIN(pass*4+3,d->size-1),
- k=MIN(pass*32+31,8*d->size-1);
- i>=pass*4; --i) {
- for (j=7; j>=0; --j) {
- if (k==d->sign && d->msize) {
- HDputchar('S');
- } else if (k>=d->epos && k<d->epos+d->esize) {
- HDputchar('E');
- } else if (k>=d->mpos && k<d->mpos+d->msize) {
- HDputchar('M');
- } else if (d->msize) {
- HDputchar('?'); /*unknown floating point bit */
- } else if (d->sign) {
- HDputchar('I');
- } else {
- HDputchar('U');
- }
- --k;
- }
- if (i>pass*4) HDputchar(' ');
- }
- HDputchar('\n');
+ /*
+ * Print the bit fields
+ */
+ printf("\n * ");
+ for (i = MIN(pass * 4 + 3, d->size - 1), k = MIN(pass * 32 + 31,
+ 8 * d->size - 1); i >= pass * 4; --i) {
+ unsigned int j;
+
+ for (j = 8; j > 0; --j) {
+ if (k == d->sign && d->msize) {
+ HDputchar('S');
+ } else if (k >= d->epos && k < d->epos + d->esize) {
+ HDputchar('E');
+ } else if (k >= d->mpos && k < d->mpos + d->msize) {
+ HDputchar('M');
+ } else if (d->msize) {
+ HDputchar('?'); /*unknown floating point bit */
+ } else if (d->sign) {
+ HDputchar('I');
+ } else {
+ HDputchar('U');
+ }
+ --k;
+ }
+ if (i > pass * 4) HDputchar(' ');
+ if (!i) break;
+ }
+ HDputchar('\n');
+ if (!pass) break;
}
/*
* Is there an implicit bit in the mantissa.
*/
if (d->msize) {
- printf(" * Implicit bit? %s\n", d->imp ? "yes" : "no");
+ printf(" * Implicit bit? %s\n", d->imp ? "yes" : "no");
}
/*
* Alignment
*/
- if (0==d->align) {
- printf(" * Alignment: NOT CALCULATED\n");
- } else if (1==d->align) {
- printf(" * Alignment: none\n");
+ if (0 == d->align) {
+ printf(" * Alignment: NOT CALCULATED\n");
+ } else if (1 == d->align) {
+ printf(" * Alignment: none\n");
} else {
- printf(" * Alignment: %lu\n", (unsigned long)(d->align));
+ printf(" * Alignment: %lu\n", (unsigned long) (d->align));
}
+
}
@@ -985,31 +994,25 @@ byte_cmp(int n, const void *_a, const void *_b, const unsigned char *pad_mask)
* actual order to little endian. Ignores differences where
* the corresponding bit in pad_mask is set to 0.
*
- * Return: Success: Index of first differing bit.
- *
- * Failure: -1
- *
- * Programmer: Robb Matzke
- * matzke@llnl.gov
- * Jun 13, 1996
- *
- * Modifications:
+ * Return: Index of first differing bit.
*
*-------------------------------------------------------------------------
*/
-static int
-bit_cmp(int nbytes, int *perm, volatile void *_a, volatile void *_b,
- const unsigned char *pad_mask)
+static unsigned int
+bit_cmp(unsigned int nbytes, int *perm, void *_a, void *_b,
+ const unsigned char *pad_mask)
{
- int i, j;
- volatile unsigned char *a = (volatile unsigned char *) _a;
- volatile unsigned char *b = (volatile unsigned char *) _b;
- unsigned char aa, bb;
+ unsigned int i;
+ unsigned char *a = (unsigned char *) _a;
+ unsigned char *b = (unsigned char *) _b;
+ unsigned char aa, bb;
for (i = 0; i < nbytes; i++) {
- HDassert(perm[i] < nbytes);
- if ((aa = a[perm[i]] & pad_mask[perm[i]])
- != (bb = b[perm[i]] & pad_mask[perm[i]])) {
+ HDassert(perm[i] < (int) nbytes);
+ if ((aa = (unsigned char) (a[perm[i]] & pad_mask[perm[i]]))
+ != (bb = (unsigned char) (b[perm[i]] & pad_mask[perm[i]]))) {
+ unsigned int j;
+
for (j = 0; j < 8; j++, aa >>= 1, bb >>= 1) {
if ((aa & 1) != (bb & 1)) return i * 8 + j;
}
@@ -1017,7 +1020,9 @@ bit_cmp(int nbytes, int *perm, volatile void *_a, volatile void *_b,
HDabort();
}
}
- return -1;
+ fprintf(stderr, "INTERNAL ERROR");
+ HDabort();
+ return 0;
}
@@ -1123,21 +1128,19 @@ fix_order(int n, int last, int *perm, const char **mesg)
*
*-------------------------------------------------------------------------
*/
-static int
-imp_bit(int n, int *perm, volatile void *_a, volatile void *_b,
- const unsigned char *pad_mask)
+static unsigned int
+imp_bit(unsigned int n, int *perm, void *_a, void *_b, const unsigned char *pad_mask)
{
- volatile unsigned char *a = (volatile unsigned char *) _a;
- volatile unsigned char *b = (volatile unsigned char *) _b;
- int changed, major, minor;
- int msmb; /*most significant mantissa bit */
+ unsigned char *a = (unsigned char *) _a;
+ unsigned char *b = (unsigned char *) _b;
+ unsigned int changed, major, minor;
+ unsigned int msmb; /* most significant mantissa bit */
/*
* Look for the least significant bit that has changed between
* A and B. This is the least significant bit of the exponent.
*/
changed = bit_cmp(n, perm, a, b, pad_mask);
- HDassert(changed >= 0);
/*
* The bit to the right (less significant) of the changed bit should
@@ -1174,22 +1177,22 @@ imp_bit(int n, int *perm, volatile void *_a, volatile void *_b,
*
*-------------------------------------------------------------------------
*/
-static unsigned long
-find_bias(int epos, int esize, int *perm, volatile void *_a)
+static unsigned int
+find_bias(unsigned int epos, unsigned int esize, int *perm, void *_a)
{
- unsigned char *a = (unsigned char *) _a;
- unsigned char mask;
- unsigned long b, shift = 0, nbits, bias = 0;
+ unsigned char *a = (unsigned char *) _a;
+ unsigned char mask;
+ unsigned int b, shift = 0, nbits, bias = 0;
while (esize > 0) {
- nbits = MIN(esize, (8 - epos % 8));
- mask = (1 << nbits) - 1;
- b = (a[perm[epos / 8]] >> (epos % 8)) & mask;
- bias |= b << shift;
-
- shift += nbits;
- esize -= nbits;
- epos += nbits;
+ nbits = MIN(esize, (8 - epos % 8));
+ mask = (unsigned char) ((1 << nbits) - 1);
+ b = (unsigned int) (a[perm[epos / 8]] >> (epos % 8)) & mask;
+ bias |= b << shift;
+
+ shift += nbits;
+ esize -= nbits;
+ epos += nbits;
}
return bias;
}
@@ -1667,7 +1670,7 @@ detect_alignments(void)
static int verify_signal_handlers(int signum, void (*handler)(int))
{
void (*save_handler)(int) = HDsignal(signum, handler);
- int i, val;
+ volatile int i, val;
int ntries=5;
volatile int nfailures=0;
volatile int nsuccesses=0;
diff --git a/src/H5private.h b/src/H5private.h
index 2ca82e4..1efc934 100644
--- a/src/H5private.h
+++ b/src/H5private.h
@@ -1523,11 +1523,14 @@ extern char *strdup(const char *s);
/* Include the generated overflow header file */
#include "H5overflow.h"
-#define H5_ASSIGN_OVERFLOW(dst, src, srctype, dsttype) \
+/* Assign a variable to one of a different size (think safer dst = (dsttype)src").
+ * The code generated by the macro checks for overflows.
+ */
+#define H5_CHECKED_ASSIGN(dst, dsttype, src, srctype) \
H5_GLUE4(ASSIGN_,srctype,_TO_,dsttype)(dst,dsttype,src,srctype)\
#else /* NDEBUG */
-#define H5_ASSIGN_OVERFLOW(dst, src, srctype, dsttype) \
+#define H5_CHECKED_ASSIGN(dst, dsttype, src, srctype) \
(dst) = (dsttype)(src);
#endif /* NDEBUG */
diff --git a/src/H5public.h b/src/H5public.h
index 7bacb3d..7b9625b 100644
--- a/src/H5public.h
+++ b/src/H5public.h
@@ -94,10 +94,10 @@ extern "C" {
/* Version numbers */
#define H5_VERS_MAJOR 1 /* For major interface/format changes */
#define H5_VERS_MINOR 9 /* For minor interface/format changes */
-#define H5_VERS_RELEASE 216 /* For tweaks, bug-fixes, or development */
+#define H5_VERS_RELEASE 218 /* For tweaks, bug-fixes, or development */
#define H5_VERS_SUBRELEASE "" /* For pre-releases like snap0 */
/* Empty string for real releases. */
-#define H5_VERS_INFO "HDF5 library version: 1.9.216" /* Full version string */
+#define H5_VERS_INFO "HDF5 library version: 1.9.218" /* Full version string */
#define H5check() H5check_version(H5_VERS_MAJOR,H5_VERS_MINOR, \
H5_VERS_RELEASE)
diff --git a/src/Makefile.in b/src/Makefile.in
index bee19e9..ced1c76 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -724,7 +724,7 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.clog *.clog2
# After making changes, run bin/reconfigure to update other configure related
# files like Makefile.in.
LT_VERS_INTERFACE = 6
-LT_VERS_REVISION = 206
+LT_VERS_REVISION = 208
LT_VERS_AGE = 0
# Our main target, the HDF5 library
diff --git a/src/libhdf5.settings.in b/src/libhdf5.settings.in
index 1b1ae96..1eed645 100644
--- a/src/libhdf5.settings.in
+++ b/src/libhdf5.settings.in
@@ -51,7 +51,7 @@ Languages:
@BUILD_CXX_CONDITIONAL_TRUE@ C++ Flags: @CXXFLAGS@
@BUILD_CXX_CONDITIONAL_TRUE@ H5 C++ Flags: @H5_CXXFLAGS@
@BUILD_CXX_CONDITIONAL_TRUE@ AM C++ Flags: @AM_CXXFLAGS@
-@BUILD_CXX_CONDITIONAL_TRUE@ Shared C++ Library: @H5_CXX_SHARED@
+@BUILD_CXX_CONDITIONAL_TRUE@ Shared C++ Library: @enable_shared@
@BUILD_CXX_CONDITIONAL_TRUE@ Static C++ Library: @enable_static@
Features:
diff --git a/test/dsets.c b/test/dsets.c
index 3244bd6..e9dd2ce 100644
--- a/test/dsets.c
+++ b/test/dsets.c
@@ -23,19 +23,19 @@
#include <stdlib.h>
#include <time.h>
+/*
+ * This file needs to access private information from the H5Z package.
+ */
+#define H5Z_PACKAGE
+
+
#include "h5test.h"
#include "H5srcdir.h"
+#include "H5Zpkg.h"
#ifdef H5_HAVE_SZLIB_H
# include "szlib.h"
#endif
-/*
- * This file needs to access private datatypes from the H5Z package.
- */
-#define H5Z_PACKAGE
-#include "H5Zpkg.h"
-
-
const char *FILENAME[] = {
"dataset",
"compact_dataset",
diff --git a/test/getname.c b/test/getname.c
index 2d999b9..dc1ddbe 100644
--- a/test/getname.c
+++ b/test/getname.c
@@ -103,7 +103,11 @@ test_main(hid_t file_id, hid_t fapl)
hid_t space_id;
hid_t type_id, type2_id;
hsize_t dims[1] = { 5 };
- size_t name_len; /* Name length */
+ size_t name_len; /* Name length */
+ H5O_info_t oinfo; /* Object info structs */
+ hid_t dtype; /* Object identifier for testing */
+ hid_t dtype_anon; /* Object identifier for testing anonymous */
+ ssize_t size; /* Size returned by H5Iget_name */
/* Initialize the file names */
h5_fixname(FILENAME[1], fapl, filename1, sizeof filename1);
@@ -2355,7 +2359,58 @@ test_main(hid_t file_id, hid_t fapl)
H5Gclose(group_id);
H5Gclose(group2_id);
H5Fclose(file1_id);
- H5Fclose(file2_id);
+
+ PASSED();
+
+ /*-------------------------------------------------------------------------
+ * Test H5Iget_name with anonymous datatypes
+ *-------------------------------------------------------------------------
+ */
+
+ TESTING("H5Iget_name with anonymous datatypes");
+
+ /* Commit the type anonymously and link it in */
+ if((dtype = H5Tcopy(H5T_NATIVE_INT)) < 0) TEST_ERROR
+ /* Test H5Iget_name with created datatype, should fail because not committed */
+ H5E_BEGIN_TRY {
+ if((size = H5Iget_name(dtype, NULL, 0)) >= 0) TEST_ERROR
+ } H5E_END_TRY;
+
+ if(H5Tcommit_anon(file2_id, dtype, H5P_DEFAULT, H5P_DEFAULT)) TEST_ERROR
+
+ /* Test H5Iget_name with anonymously created datatype, should pass because committed */
+ if((size = H5Iget_name(dtype, NULL, 0)) != 0) TEST_ERROR
+
+ /* Create a link to the object */
+ if( H5Olink(dtype, file2_id, "datatype", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR
+
+ /* Commit a second datatype with no links to it and commit it */
+ if((dtype_anon = H5Tcopy(H5T_NATIVE_INT)) < 0) TEST_ERROR
+ if(H5Tcommit_anon(file2_id, dtype_anon, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR
+
+ /* Test H5Iget_name with anonymously created datatype, should pass because committed */
+ if((size = H5Iget_name(dtype_anon, NULL,0)) != 0) TEST_ERROR
+
+ /* Store the address of the datatype for later use */
+ if(H5Oget_info(dtype_anon, &oinfo) < 0) TEST_ERROR
+
+ /* Update the reference count to dtype_anon to preserve the datatype */
+ if(H5Oincr_refcount(dtype_anon) < 0) TEST_ERROR
+
+ if(H5Tclose(dtype) < 0) TEST_ERROR
+ if(H5Tclose(dtype_anon) < 0) TEST_ERROR
+ if(H5Fclose(file2_id) < 0) TEST_ERROR
+
+ /* Re-open the file and check that the anonymous datatypes persist */
+ if( (file2_id = H5Fopen(filename2, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR
+
+ /* Check the H5Iget_name does not return an error for anon committed datatypes */
+ if((dtype_anon = H5Oopen_by_addr(file2_id, oinfo.addr)) < 0) TEST_ERROR
+
+ if((size = H5Iget_name(dtype_anon,NULL,0)) != 0) TEST_ERROR
+
+ if(H5Tclose(dtype_anon) < 0) TEST_ERROR
+ if(H5Fclose(file2_id) < 0) TEST_ERROR
PASSED();
diff --git a/test/links.c b/test/links.c
index 891b5e4..0846c49 100644
--- a/test/links.c
+++ b/test/links.c
@@ -4023,10 +4023,6 @@ external_set_elink_acc_flags(hid_t fapl, hbool_t new_format)
} H5E_END_TRY;
if(ret != FAIL) TEST_ERROR
H5E_BEGIN_TRY {
- ret = H5Pset_elink_acc_flags(gapl, H5F_ACC_DEBUG);
- } H5E_END_TRY;
- if(ret != FAIL) TEST_ERROR
- H5E_BEGIN_TRY {
ret = H5Pset_elink_acc_flags(gapl, H5F_ACC_CREAT);
} H5E_END_TRY;
if(ret != FAIL) TEST_ERROR
diff --git a/tools/h5dump/CMakeTests.cmake b/tools/h5dump/CMakeTests.cmake
index 3565b0f..00ec760 100644
--- a/tools/h5dump/CMakeTests.cmake
+++ b/tools/h5dump/CMakeTests.cmake
@@ -66,7 +66,6 @@
${HDF5_TOOLS_SRC_DIR}/testfiles/tcomp-3.ddl
${HDF5_TOOLS_SRC_DIR}/testfiles/tcomp-4.ddl
${HDF5_TOOLS_SRC_DIR}/testfiles/tcompact.ddl
- ${HDF5_TOOLS_SRC_DIR}/testfiles/tcompound_enum.ddl
${HDF5_TOOLS_SRC_DIR}/testfiles/tcontents.ddl
${HDF5_TOOLS_SRC_DIR}/testfiles/tcontiguos.ddl
${HDF5_TOOLS_SRC_DIR}/testfiles/tdatareg.ddl
@@ -216,7 +215,6 @@
${HDF5_TOOLS_SRC_DIR}/testfiles/tcmpdintsize.h5
${HDF5_TOOLS_SRC_DIR}/testfiles/tcompound.h5
${HDF5_TOOLS_SRC_DIR}/testfiles/tcompound_complex.h5
- ${HDF5_TOOLS_SRC_DIR}/testfiles/tcompound_enum.h5
${HDF5_TOOLS_SRC_DIR}/testfiles/tdatareg.h5
${HDF5_TOOLS_SRC_DIR}/testfiles/tdset.h5
${HDF5_TOOLS_SRC_DIR}/testfiles/tempty.h5
@@ -1159,7 +1157,6 @@
#test for the nested compound type
ADD_H5_TEST (tnestcomp-1 0 --enable-error-stack tnestedcomp.h5)
ADD_H5_TEST (tnestedcmpddt 0 --enable-error-stack tnestedcmpddt.h5)
- #ADD_H5_TEST (tcompound_enum 0 --enable-error-stack tcompound_enum.h5)
# test for options
ADD_H5ERR_MASK_TEST (tall-1 0 --enable-error-stack tall.h5)
diff --git a/tools/h5dump/testh5dump.sh.in b/tools/h5dump/testh5dump.sh.in
index 2fc09da..95f8091 100644
--- a/tools/h5dump/testh5dump.sh.in
+++ b/tools/h5dump/testh5dump.sh.in
@@ -104,7 +104,6 @@ $SRC_H5DUMP_TESTFILES/tcmpdattrintsize.h5
$SRC_H5DUMP_TESTFILES/tcmpdintsize.h5
$SRC_H5DUMP_TESTFILES/tcompound.h5
$SRC_H5DUMP_TESTFILES/tcompound_complex.h5
-$SRC_H5DUMP_TESTFILES/tcompound_enum.h5
$SRC_H5DUMP_TESTFILES/tdatareg.h5
$SRC_H5DUMP_TESTFILES/tdset.h5
$SRC_H5DUMP_TESTFILES/tempty.h5
@@ -228,7 +227,6 @@ $SRC_H5DUMP_TESTFILES/tcomp-1.ddl
$SRC_H5DUMP_TESTFILES/tcomp-2.ddl
$SRC_H5DUMP_TESTFILES/tcomp-3.ddl
$SRC_H5DUMP_TESTFILES/tcomp-4.ddl
-$SRC_H5DUMP_TESTFILES/tcompound_enum.ddl
$SRC_H5DUMP_TESTFILES/tcompact.ddl
$SRC_H5DUMP_TESTFILES/tcontents.ddl
$SRC_H5DUMP_TESTFILES/tcontiguos.ddl
@@ -1031,7 +1029,6 @@ TOOLTEST tcomp-4.ddl --enable-error-stack tcompound_complex.h5
#test for the nested compound type
TOOLTEST tnestcomp-1.ddl --enable-error-stack tnestedcomp.h5
TOOLTEST tnestedcmpddt.ddl --enable-error-stack tnestedcmpddt.h5
-TOOLTEST ignorecase tcompound_enum.ddl --enable-error-stack tcompound_enum.h5
# test for options
TOOLTEST4 tall-1.ddl --enable-error-stack tall.h5
diff --git a/tools/h5ls/h5ls.c b/tools/h5ls/h5ls.c
index d0dd216..96bd8d0 100644
--- a/tools/h5ls/h5ls.c
+++ b/tools/h5ls/h5ls.c
@@ -1855,17 +1855,17 @@ dataset_list2(hid_t dset, const char UNUSED *name)
for (i=0, total=0; i<nf; i++) {
if (H5Pget_external(dcpl, (unsigned)i, sizeof(f_name), f_name, &f_offset, &f_size)<0) {
h5tools_str_append(&buffer,
- " #%03d %10"HSIZE_T_FORMAT"u %10s %10s ***ERROR*** %s\n",
+ " #%03d %10"H5_PRINTF_LL_WIDTH"u %10s %10s ***ERROR*** %s\n",
i, total, "", "",
i+1<nf?"Following addresses are incorrect":"");
}
else if (H5S_UNLIMITED==f_size) {
- h5tools_str_append(&buffer, " #%03d %10"HSIZE_T_FORMAT"u %10"HSIZE_T_FORMAT"u %10s ",
+ h5tools_str_append(&buffer, " #%03d %10"H5_PRINTF_LL_WIDTH"u %10"H5_PRINTF_LL_WIDTH"u %10s ",
i, total, (hsize_t)f_offset, "INF");
print_string(&buffer, f_name, TRUE);
}
else {
- h5tools_str_append(&buffer, " #%03d %10"HSIZE_T_FORMAT"u %10"HSIZE_T_FORMAT"u %10"HSIZE_T_FORMAT"u ",
+ h5tools_str_append(&buffer, " #%03d %10"H5_PRINTF_LL_WIDTH"u %10"H5_PRINTF_LL_WIDTH"u %10"H5_PRINTF_LL_WIDTH"u ",
i, total, (hsize_t)f_offset, f_size);
print_string(&buffer, f_name, TRUE);
}
diff --git a/tools/h5repack/CMakeTests.cmake b/tools/h5repack/CMakeTests.cmake
index 3391c3f..efaa6e5 100644
--- a/tools/h5repack/CMakeTests.cmake
+++ b/tools/h5repack/CMakeTests.cmake
@@ -341,7 +341,7 @@
ENDMACRO (ADD_H5_TEST_META)
MACRO (ADD_H5_UD_TEST testname resultcode resultfile)
- if (HDF5_BUILD_TOOLS AND NOT HDF5_ENABLE_USING_MEMCHECKER)
+ if (NOT HDF5_ENABLE_USING_MEMCHECKER)
# Remove any output file left over from previous test run
add_test (
NAME H5REPACK_UD-${testname}-clearall-objects
@@ -382,7 +382,7 @@
-P "${HDF_RESOURCES_EXT_DIR}/runTest.cmake"
)
set_tests_properties (H5REPACK_UD-h5dump-${testname} PROPERTIES DEPENDS "H5REPACK_UD-${testname}")
- endif (HDF5_BUILD_TOOLS AND NOT HDF5_ENABLE_USING_MEMCHECKER)
+ endif (NOT HDF5_ENABLE_USING_MEMCHECKER)
ENDMACRO (ADD_H5_UD_TEST)
##############################################################################
diff --git a/tools/h5repack/h5repack.sh.in b/tools/h5repack/h5repack.sh.in
index e3bb939..4a32491 100644
--- a/tools/h5repack/h5repack.sh.in
+++ b/tools/h5repack/h5repack.sh.in
@@ -93,6 +93,8 @@ $SRC_H5REPACK_TESTFILES/h5repack_layouto.h5
$SRC_H5REPACK_TESTFILES/h5repack_layout2.h5
$SRC_H5REPACK_TESTFILES/h5repack_layout3.h5
$SRC_H5REPACK_TESTFILES/h5repack_named_dtypes.h5
+$SRC_H5REPACK_TESTFILES/h5repack_nested_8bit_enum.h5
+$SRC_H5REPACK_TESTFILES/h5repack_nested_8bit_enum_deflated.h5
$SRC_H5REPACK_TESTFILES/h5repack_nbit.h5
$SRC_H5REPACK_TESTFILES/h5repack_objs.h5
$SRC_H5REPACK_TESTFILES/h5repack_refs.h5
@@ -701,6 +703,12 @@ TOOLTEST hlink h5repack_hlink.h5
TOOLTEST layout h5repack_layout.h5
TOOLTEST early h5repack_early.h5
+# nested 8bit enum in both deflated and non-deflated datafiles
+if [ $USE_FILTER_DEFLATE != "yes" ]; then
+TOOLTEST nested_8bit_enum h5repack_nested_8bit_enum.h5
+else
+TOOLTEST nested_8bit_enum h5repack_nested_8bit_enum_deflated.h5
+fi
# use h5repack_layout.h5 to write some filters (this file has no filters)
diff --git a/tools/testfiles/README b/tools/h5repack/testfiles/README
index 65d807f..4096dee 100644
--- a/tools/testfiles/README
+++ b/tools/h5repack/testfiles/README
@@ -1,4 +1,5 @@
-tcompound_enum.h5
+h5repack_nested_8bit_enum_deflated.h5:
+h5repack_nested_8bit_enum.h5:
enuberated 8bit type nested in compount type. Original file provided
by a user (HDFFV-8667) as a test file. Used h5copy to extract only the
- Compound type dataset.
+ Compound type dataset. The non-deflated version is produced by h5repack.
diff --git a/tools/h5repack/testfiles/h5repack_nested_8bit_enum.h5 b/tools/h5repack/testfiles/h5repack_nested_8bit_enum.h5
new file mode 100644
index 0000000..f1bd8e9
--- /dev/null
+++ b/tools/h5repack/testfiles/h5repack_nested_8bit_enum.h5
Binary files differ
diff --git a/tools/testfiles/tcompound_enum.h5 b/tools/h5repack/testfiles/h5repack_nested_8bit_enum_deflated.h5
index 2e66da2..2e66da2 100644
--- a/tools/testfiles/tcompound_enum.h5
+++ b/tools/h5repack/testfiles/h5repack_nested_8bit_enum_deflated.h5
Binary files differ
diff --git a/tools/testfiles/tcompound_enum.ddl b/tools/testfiles/tcompound_enum.ddl
deleted file mode 100644
index 2088c33..0000000
--- a/tools/testfiles/tcompound_enum.ddl
+++ /dev/null
@@ -1,25749 +0,0 @@
-HDF5 "tcompound_enum.h5" {
-GROUP "/" {
- DATATYPE "#117838" H5T_COMPOUND {
- H5T_STD_U32LE "evaluation_number";
- H5T_ARRAY { [12] H5T_IEEE_F64LE } "Xest";
- H5T_IEEE_F64LE "tcpa_sec";
- H5T_IEEE_F64LE "dcpa_m";
- H5T_IEEE_F64LE "range_m";
- H5T_IEEE_F64LE "range_var_m2";
- H5T_IEEE_F64LE "range_dot_mps";
- H5T_IEEE_F64LE "range_dot_var_m2s2";
- H5T_IEEE_F64LE "dt";
- H5T_ARRAY { [3] H5T_IEEE_F64LE } "inertial_ownship_position";
- H5T_ARRAY { [3] H5T_IEEE_F64LE } "inertial_ownship_velocity";
- H5T_ARRAY { [2] H5T_IEEE_F64LE } "bearingAnglesBodyCue";
- H5T_ARRAY { [4] H5T_IEEE_F64LE } "bearingAnglesInertial";
- H5T_ARRAY { [4] H5T_STD_I32LE } "roiEndpoints";
- H5T_ARRAY { [4] H5T_STD_I32LE } "endpoints";
- H5T_ARRAY { [4] H5T_IEEE_F64LE } "ideal_endpoints";
- H5T_ARRAY { [2] H5T_IEEE_F64LE } "delta_angle_tolerance";
- H5T_ARRAY { [2] H5T_STD_I32LE } "cuePixel";
- H5T_ENUM {
- 8-bit unsigned integer;
- "ok" 0;
- "failed_not_found" 1;
- "failed_distance_check" 2;
- "failed_border_proximity_check" 3;
- "failed_large_blob_suppression" 4;
- "invalid" 5;
- } "silhouette_result_info";
- H5T_STD_U16LE "vision_threshold";
- H5T_STD_U32LE "silhouetteArea";
- 8-bit unsigned integer "sensorId";
- H5T_STD_U16LE "integrity_votes";
- 8-bit unsigned integer "new_track";
- 8-bit unsigned integer "camera_available";
- 8-bit unsigned integer "roi_in_camera";
- 8-bit unsigned integer "roi_overlaps_osd";
- 8-bit unsigned integer "use_camera";
- 8-bit unsigned integer "endpoints_found";
- 8-bit unsigned integer "integrity_pass";
- 8-bit unsigned integer "good_measurement";
- 8-bit unsigned integer "data_association_pass";
- 8-bit unsigned integer "filter_valid";
- 8-bit unsigned integer "filter_flag_initialize";
- 8-bit unsigned integer "filter_flag_update";
- 8-bit unsigned integer "suppress";
- 8-bit unsigned integer "has_silhouette";
- 8-bit unsigned integer "classification";
- }
- GROUP "tracks" {
- GROUP "1" {
- ATTRIBUTE "key" {
- DATATYPE H5T_STD_U32LE
- DATASPACE SCALAR
- DATA {
- (0): 1
- }
- }
- DATASET "trace" {
- DATATYPE "/#117838"
- DATASPACE SIMPLE { ( 642 ) / ( H5S_UNLIMITED ) }
- DATA {
- (0): {
- 233,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 68249.8,
- [ 0, 0, -0 ],
- [ 7.6333, 74.5514, -1.93846 ],
- [ 0.0163928, 0.00646356 ],
- [ inf, inf, inf, inf ],
- [ 1001, 779, 1120, 898 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1061, 839 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (1): {
- 234,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049828,
- [ 0.380573, 0.292033, -0.0966965 ],
- [ 7.64372, 74.5441, -1.93269 ],
- [ 0.0164014, 0.00645606 ],
- [ inf, inf, inf, inf ],
- [ 1001, 779, 1120, 898 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1061, 839 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (2): {
- 235,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049859,
- [ 0.74104, 0.568638, 0.0164649 ],
- [ 7.65361, 74.5367, -1.9282 ],
- [ 0.0164048, 0.00644608 ],
- [ inf, inf, inf, inf ],
- [ 1000, 780, 1119, 899 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1060, 840 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (3): {
- 236,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049839,
- [ 1.07982, 0.828598, 0.351905 ],
- [ 7.66292, 74.5292, -1.92505 ],
- [ 0.0164132, 0.00644095 ],
- [ inf, inf, inf, inf ],
- [ 999, 780, 1118, 899 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1059, 840 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (4): {
- 237,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049842,
- [ 1.51313, 1.1611, 0.561197 ],
- [ 7.67612, 74.5198, -1.91584 ],
- [ 0.0164162, 0.00643223 ],
- [ inf, inf, inf, inf ],
- [ 999, 781, 1118, 900 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1059, 841 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (5): {
- 238,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049847,
- [ 2.18117, 1.67372, 0.457232 ],
- [ 7.69896, 74.506, -1.8916 ],
- [ 0.0164243, 0.00642145 ],
- [ inf, inf, inf, inf ],
- [ 998, 781, 1117, 900 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1058, 841 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (6): {
- 239,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049853,
- [ 2.71105, 2.08032, 0.358723 ],
- [ 7.71449, 74.4947, -1.87617 ],
- [ 0.0164275, 0.00641002 ],
- [ inf, inf, inf, inf ],
- [ 997, 782, 1116, 901 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1057, 842 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (7): {
- 240,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049847,
- [ 3.08828, 2.36979, 0.266261 ],
- [ 7.72195, 74.4862, -1.87048 ],
- [ 0.0164356, 0.00639804 ],
- [ inf, inf, inf, inf ],
- [ 996, 782, 1115, 901 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1056, 842 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (8): {
- 241,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.04983,
- [ 3.43623, 2.63679, 0.182006 ],
- [ 7.72946, 74.479, -1.86549 ],
- [ 0.0164393, 0.00639229 ],
- [ inf, inf, inf, inf ],
- [ 995, 783, 1114, 902 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1055, 843 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (9): {
- 242,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049846,
- [ 3.74884, 2.87667, 0.107664 ],
- [ 7.73704, 74.4733, -1.86134 ],
- [ 0.0164477, 0.0063834 ],
- [ inf, inf, inf, inf ],
- [ 994, 783, 1113, 902 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1054, 843 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (10): {
- 243,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049855,
- [ 4.06151, 3.1166, 0.0333097 ],
- [ 7.74462, 74.4676, -1.85719 ],
- [ 0.0164518, 0.00637682 ],
- [ inf, inf, inf, inf ],
- [ 994, 784, 1113, 903 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1054, 844 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (11): {
- 244,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049829,
- [ 4.56167, 3.5004, -0.0876864 ],
- [ 7.75663, 74.4585, -1.84763 ],
- [ 0.0164592, 0.00635073 ],
- [ inf, inf, inf, inf ],
- [ 992, 784, 1111, 903 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1052, 844 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (12): {
- 245,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049845,
- [ 5.00459, 3.84028, -0.194631 ],
- [ 7.76723, 74.4509, -1.83947 ],
- [ 0.0164699, 0.00633782 ],
- [ inf, inf, inf, inf ],
- [ 990, 785, 1109, 904 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1050, 845 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (13): {
- 246,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049876,
- [ 5.3664, 4.11791, -0.281619 ],
- [ 7.77584, 74.4451, -1.83334 ],
- [ 0.0164747, 0.00632545 ],
- [ inf, inf, inf, inf ],
- [ 989, 786, 1108, 905 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1049, 846 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (14): {
- 247,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049819,
- [ 5.74824, 4.41091, -0.37157 ],
- [ 7.78391, 74.4388, -1.82674 ],
- [ 0.0164839, 0.0063135 ],
- [ inf, inf, inf, inf ],
- [ 988, 786, 1107, 905 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1048, 846 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (15): {
- 248,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049842,
- [ 6.16964, 4.73427, -0.467459 ],
- [ 7.79096, 74.4317, -1.81925 ],
- [ 0.0164947, 0.00630161 ],
- [ inf, inf, inf, inf ],
- [ 987, 787, 1106, 906 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1047, 847 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (16): {
- 249,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049852,
- [ 6.57308, 5.04385, -0.560864 ],
- [ 7.79928, 74.4246, -1.8127 ],
- [ 0.0165066, 0.00628951 ],
- [ inf, inf, inf, inf ],
- [ 986, 788, 1105, 907 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1046, 848 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (17): {
- 250,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049826,
- [ 6.95352, 5.33578, -0.651055 ],
- [ 7.80919, 74.4174, -1.80733 ],
- [ 0.0165117, 0.00627785 ],
- [ inf, inf, inf, inf ],
- [ 985, 789, 1104, 908 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1045, 849 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (18): {
- 251,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049848,
- [ 7.3382, 5.63096, -0.740978 ],
- [ 7.81721, 74.4101, -1.8005 ],
- [ 0.016521, 0.00626622 ],
- [ inf, inf, inf, inf ],
- [ 984, 790, 1103, 909 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1044, 850 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (19): {
- 252,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049851,
- [ 7.72817, 5.93021, -0.830505 ],
- [ 7.82278, 74.4029, -1.79176 ],
- [ 0.0165321, 0.00625484 ],
- [ inf, inf, inf, inf ],
- [ 983, 790, 1102, 909 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1043, 850 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (20): {
- 253,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049837,
- [ 8.11804, 6.22937, -0.919652 ],
- [ 7.82774, 74.3965, -1.78438 ],
- [ 0.016544, 0.00624364 ],
- [ inf, inf, inf, inf ],
- [ 982, 791, 1101, 910 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1042, 851 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (21): {
- 254,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049844,
- [ 8.50796, 6.52858, -1.00834 ],
- [ 7.8319, 74.3913, -1.7788 ],
- [ 0.0165563, 0.00623212 ],
- [ inf, inf, inf, inf ],
- [ 981, 792, 1100, 911 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1041, 852 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (22): {
- 255,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049875,
- [ 8.88755, 6.81985, -0.985304 ],
- [ 7.83646, 74.3865, -1.77352 ],
- [ 0.0165684, 0.00622056 ],
- [ inf, inf, inf, inf ],
- [ 980, 794, 1099, 913 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1040, 854 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (23): {
- 256,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.04975,
- [ 9.25184, 7.0994, -0.810944 ],
- [ 7.84157, 74.3822, -1.76869 ],
- [ 0.0165808, 0.00620895 ],
- [ inf, inf, inf, inf ],
- [ 979, 795, 1098, 914 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1039, 855 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (24): {
- 257,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049843,
- [ 9.66442, 7.41598, -0.698033 ],
- [ 7.84777, 74.3771, -1.7602 ],
- [ 0.0165932, 0.00619758 ],
- [ inf, inf, inf, inf ],
- [ 979, 796, 1098, 915 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1039, 856 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (25): {
- 258,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049923,
- [ 10.2385, 7.85649, -0.793665 ],
- [ 7.85764, 74.3693, -1.73936 ],
- [ 0.0166057, 0.00618616 ],
- [ inf, inf, inf, inf ],
- [ 978, 797, 1097, 916 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1038, 857 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (26): {
- 259,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.04984,
- [ 10.7352, 8.23765, -0.88489 ],
- [ 7.86354, 74.3628, -1.72409 ],
- [ 0.0166176, 0.00616838 ],
- [ inf, inf, inf, inf ],
- [ 976, 798, 1095, 917 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1036, 858 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (27): {
- 260,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049833,
- [ 11.1223, 8.53471, -0.970009 ],
- [ 7.86378, 74.3584, -1.71676 ],
- [ 0.0166297, 0.00615353 ],
- [ inf, inf, inf, inf ],
- [ 975, 799, 1094, 918 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1035, 859 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (28): {
- 261,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049884,
- [ 11.4805, 8.80952, -1.04852 ],
- [ 7.86469, 74.3548, -1.71013 ],
- [ 0.0166416, 0.00614026 ],
- [ inf, inf, inf, inf ],
- [ 974, 800, 1093, 919 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1034, 860 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (29): {
- 262,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049805,
- [ 11.7923, 9.04884, -1.1165 ],
- [ 7.86664, 74.3523, -1.70462 ],
- [ 0.0166532, 0.00612836 ],
- [ inf, inf, inf, inf ],
- [ 973, 801, 1092, 920 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1033, 861 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (30): {
- 263,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049868,
- [ 12.1046, 9.28846, -1.18456 ],
- [ 7.86859, 74.3497, -1.69911 ],
- [ 0.0166628, 0.00612747 ],
- [ inf, inf, inf, inf ],
- [ 973, 801, 1092, 920 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1033, 861 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (31): {
- 264,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049805,
- [ 12.6157, 9.68061, -1.29288 ],
- [ 7.86836, 74.3432, -1.69204 ],
- [ 0.0166862, 0.00610271 ],
- [ inf, inf, inf, inf ],
- [ 970, 803, 1089, 922 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1030, 863 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (32): {
- 265,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.04979,
- [ 13.0905, 10.045, -1.39461 ],
- [ 7.86705, 74.338, -1.68474 ],
- [ 0.0167002, 0.00609124 ],
- [ inf, inf, inf, inf ],
- [ 969, 804, 1088, 923 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1029, 864 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (33): {
- 266,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049925,
- [ 13.4712, 10.3371, -1.47843 ],
- [ 7.8645, 74.3355, -1.67736 ],
- [ 0.0167131, 0.00607948 ],
- [ inf, inf, inf, inf ],
- [ 968, 806, 1087, 925 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1028, 866 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (34): {
- 267,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049829,
- [ 13.8586, 10.6344, -1.56181 ],
- [ 7.86184, 74.3333, -1.6695 ],
- [ 0.0167256, 0.00606786 ],
- [ inf, inf, inf, inf ],
- [ 968, 807, 1087, 926 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1028, 867 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (35): {
- 268,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049841,
- [ 14.2579, 10.9408, -1.64477 ],
- [ 7.85899, 74.3317, -1.66082 ],
- [ 0.0167377, 0.00605624 ],
- [ inf, inf, inf, inf ],
- [ 967, 808, 1086, 927 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1027, 868 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (36): {
- 269,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049841,
- [ 14.6535, 11.2443, -1.72741 ],
- [ 7.85735, 74.3289, -1.65279 ],
- [ 0.01675, 0.00604461 ],
- [ inf, inf, inf, inf ],
- [ 966, 809, 1085, 928 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1026, 869 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (37): {
- 270,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.04989,
- [ 15.0434, 11.5436, -1.80962 ],
- [ 7.8577, 74.3245, -1.64582 ],
- [ 0.0167623, 0.00603332 ],
- [ inf, inf, inf, inf ],
- [ 965, 810, 1084, 929 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1025, 870 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (38): {
- 271,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049738,
- [ 15.4324, 11.842, -1.89131 ],
- [ 7.85626, 74.3213, -1.63746 ],
- [ 0.0167747, 0.0060286 ],
- [ inf, inf, inf, inf ],
- [ 964, 811, 1083, 930 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1024, 871 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (39): {
- 272,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049933,
- [ 15.823, 12.1418, -1.97287 ],
- [ 7.85179, 74.3202, -1.62667 ],
- [ 0.0167868, 0.00602027 ],
- [ inf, inf, inf, inf ],
- [ 964, 812, 1083, 931 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1024, 872 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (40): {
- 273,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049808,
- [ 16.2127, 12.4408, -2.05392 ],
- [ 7.84864, 74.3188, -1.61872 ],
- [ 0.016799, 0.00601687 ],
- [ inf, inf, inf, inf ],
- [ 963, 813, 1082, 932 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1023, 873 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (41): {
- 274,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049859,
- [ 16.6028, 12.7401, -2.13454 ],
- [ 7.84776, 74.3168, -1.61562 ],
- [ 0.016818, 0.00600916 ],
- [ inf, inf, inf, inf ],
- [ 963, 814, 1082, 933 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1023, 874 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (42): {
- 275,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.04983,
- [ 16.9837, 13.0324, -2.19452 ],
- [ 7.84629, 74.3144, -1.61114 ],
- [ 0.0168338, 0.00600613 ],
- [ inf, inf, inf, inf ],
- [ 962, 815, 1081, 934 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1022, 875 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (43): {
- 276,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049844,
- [ 17.349, 13.3127, -2.21818 ],
- [ 7.84379, 74.3113, -1.60425 ],
- [ 0.0168481, 0.00600501 ],
- [ inf, inf, inf, inf ],
- [ 962, 816, 1081, 935 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1022, 876 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (44): {
- 277,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049847,
- [ 17.7234, 13.6, -2.25269 ],
- [ 7.8406, 74.3085, -1.59788 ],
- [ 0.0168612, 0.00599853 ],
- [ inf, inf, inf, inf ],
- [ 962, 818, 1081, 937 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1022, 878 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (45): {
- 278,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049843,
- [ 18.1427, 13.9217, -2.34026 ],
- [ 7.83405, 74.3074, -1.59407 ],
- [ 0.0168742, 0.00599571 ],
- [ inf, inf, inf, inf ],
- [ 962, 819, 1081, 938 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1022, 879 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (46): {
- 279,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049845,
- [ 18.5508, 14.2349, -2.42467 ],
- [ 7.82846, 74.3057, -1.59013 ],
- [ 0.016887, 0.00599455 ],
- [ inf, inf, inf, inf ],
- [ 962, 820, 1081, 939 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1022, 880 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (47): {
- 280,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049872,
- [ 18.9384, 14.5324, -2.50321 ],
- [ 7.82467, 74.3027, -1.58594 ],
- [ 0.0168996, 0.0059942 ],
- [ inf, inf, inf, inf ],
- [ 962, 821, 1081, 940 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1022, 881 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (48): {
- 281,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049829,
- [ 19.301, 14.8106, -2.57656 ],
- [ 7.82101, 74.3004, -1.5811 ],
- [ 0.0169122, 0.00599409 ],
- [ inf, inf, inf, inf ],
- [ 962, 822, 1081, 941 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1022, 882 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (49): {
- 282,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049826,
- [ 19.6134, 15.0503, -2.6395 ],
- [ 7.81762, 74.2996, -1.5749 ],
- [ 0.0169247, 0.00599429 ],
- [ inf, inf, inf, inf ],
- [ 962, 823, 1081, 942 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1022, 883 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (50): {
- 283,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049844,
- [ 19.926, 15.2902, -2.70246 ],
- [ 7.81422, 74.2987, -1.56871 ],
- [ 0.0169351, 0.00599487 ],
- [ inf, inf, inf, inf ],
- [ 962, 823, 1081, 942 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1022, 883 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (51): {
- 284,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049847,
- [ 20.4132, 15.664, -2.79984 ],
- [ 7.80999, 74.2967, -1.55936 ],
- [ 0.0169509, 0.00599393 ],
- [ inf, inf, inf, inf ],
- [ 962, 825, 1081, 944 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1022, 885 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (52): {
- 285,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049854,
- [ 20.8922, 16.0316, -2.89538 ],
- [ 7.80591, 74.295, -1.55208 ],
- [ 0.0169625, 0.00599415 ],
- [ inf, inf, inf, inf ],
- [ 962, 826, 1081, 945 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1022, 886 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (53): {
- 286,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.04977,
- [ 21.2813, 16.3301, -2.9727 ],
- [ 7.80248, 74.2948, -1.55023 ],
- [ 0.0169746, 0.0059942 ],
- [ inf, inf, inf, inf ],
- [ 962, 826, 1081, 945 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1022, 886 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (54): {
- 287,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049907,
- [ 21.6713, 16.6294, -3.05005 ],
- [ 7.79895, 74.2936, -1.54726 ],
- [ 0.0169867, 0.00599437 ],
- [ inf, inf, inf, inf ],
- [ 962, 827, 1081, 946 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1022, 887 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (55): {
- 288,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.04984,
- [ 22.0606, 16.9282, -3.1269 ],
- [ 7.79524, 74.2907, -1.54197 ],
- [ 0.0169993, 0.00599411 ],
- [ inf, inf, inf, inf ],
- [ 962, 828, 1081, 947 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1022, 888 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (56): {
- 289,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049847,
- [ 22.4502, 17.2271, -3.20369 ],
- [ 7.79113, 74.2884, -1.53783 ],
- [ 0.0170118, 0.00599387 ],
- [ inf, inf, inf, inf ],
- [ 962, 829, 1081, 948 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1022, 889 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (57): {
- 290,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049843,
- [ 22.84, 17.5262, -3.2803 ],
- [ 7.78619, 74.2874, -1.53615 ],
- [ 0.0170243, 0.00599335 ],
- [ inf, inf, inf, inf ],
- [ 962, 830, 1081, 949 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1022, 890 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (58): {
- 291,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049839,
- [ 23.2299, 17.8254, -3.35685 ],
- [ 7.7815, 74.2861, -1.53454 ],
- [ 0.0170369, 0.00599288 ],
- [ inf, inf, inf, inf ],
- [ 962, 831, 1081, 950 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1022, 891 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (59): {
- 292,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049843,
- [ 23.6199, 18.1247, -3.43326 ],
- [ 7.77739, 74.2842, -1.53309 ],
- [ 0.0170498, 0.00599901 ],
- [ inf, inf, inf, inf ],
- [ 962, 832, 1081, 951 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1022, 892 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (60): {
- 293,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.04988,
- [ 24.0101, 18.4241, -3.50959 ],
- [ 7.7733, 74.2823, -1.52988 ],
- [ 0.0170556, 0.00600188 ],
- [ inf, inf, inf, inf ],
- [ 962, 833, 1081, 952 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1022, 893 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (61): {
- 294,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049808,
- [ 24.3994, 18.7228, -3.5855 ],
- [ 7.7693, 74.2805, -1.52267 ],
- [ 0.0170653, 0.00600963 ],
- [ inf, inf, inf, inf ],
- [ 963, 834, 1082, 953 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1023, 894 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (62): {
- 295,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049805,
- [ 24.7763, 19.012, -3.64804 ],
- [ 7.76548, 74.279, -1.51721 ],
- [ 0.0170695, 0.00601336 ],
- [ inf, inf, inf, inf ],
- [ 964, 834, 1083, 953 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1024, 894 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (63): {
- 296,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049884,
- [ 25.1249, 19.2795, -3.67914 ],
- [ 7.76207, 74.2782, -1.51585 ],
- [ 0.0170786, 0.00602156 ],
- [ inf, inf, inf, inf ],
- [ 964, 835, 1083, 954 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1024, 895 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (64): {
- 297,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049808,
- [ 25.4794, 19.5515, -3.71567 ],
- [ 7.75868, 74.277, -1.51392 ],
- [ 0.0170822, 0.00602549 ],
- [ inf, inf, inf, inf ],
- [ 965, 835, 1084, 954 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1025, 895 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (65): {
- 298,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049859,
- [ 25.8888, 19.8657, -3.79841 ],
- [ 7.75531, 74.273, -1.50706 ],
- [ 0.0170908, 0.00603389 ],
- [ inf, inf, inf, inf ],
- [ 965, 835, 1084, 954 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1025, 895 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (66): {
- 299,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049872,
- [ 26.2947, 20.1771, -3.87881 ],
- [ 7.75245, 74.2693, -1.50108 ],
- [ 0.0170941, 0.006038 ],
- [ inf, inf, inf, inf ],
- [ 966, 836, 1085, 955 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1026, 896 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (67): {
- 300,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049841,
- [ 26.6914, 20.4815, -3.95332 ],
- [ 7.75089, 74.2662, -1.49724 ],
- [ 0.0171027, 0.00604616 ],
- [ inf, inf, inf, inf ],
- [ 966, 836, 1085, 955 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1026, 896 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (68): {
- 301,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049844,
- [ 27.0635, 20.7671, -4.02386 ],
- [ 7.74904, 74.2636, -1.49385 ],
- [ 0.0171061, 0.00604997 ],
- [ inf, inf, inf, inf ],
- [ 967, 837, 1086, 956 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1027, 897 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (69): {
- 302,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049865,
- [ 27.3689, 21.0014, -4.0836 ],
- [ 7.74638, 74.2625, -1.49164 ],
- [ 0.0171078, 0.00605772 ],
- [ inf, inf, inf, inf ],
- [ 967, 837, 1086, 956 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1027, 897 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (70): {
- 303,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049826,
- [ 27.6739, 21.2355, -4.1433 ],
- [ 7.74373, 74.2613, -1.48944 ],
- [ 0.0171161, 0.00605986 ],
- [ inf, inf, inf, inf ],
- [ 968, 837, 1087, 956 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1028, 897 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (71): {
- 304,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049844,
- [ 28.146, 21.5977, -4.23351 ],
- [ 7.73978, 74.2592, -1.48817 ],
- [ 0.0171184, 0.00606963 ],
- [ inf, inf, inf, inf ],
- [ 968, 837, 1087, 956 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1028, 897 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (72): {
- 305,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049876,
- [ 28.6297, 21.9689, -4.32598 ],
- [ 7.73612, 74.2567, -1.48642 ],
- [ 0.0171202, 0.00607281 ],
- [ inf, inf, inf, inf ],
- [ 969, 838, 1088, 957 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1029, 898 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (73): {
- 306,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049835,
- [ 29.0074, 22.2587, -4.39937 ],
- [ 7.73429, 74.2538, -1.48262 ],
- [ 0.0171212, 0.00608071 ],
- [ inf, inf, inf, inf ],
- [ 969, 838, 1088, 957 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1029, 898 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (74): {
- 307,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.04983,
- [ 29.3888, 22.5514, -4.473 ],
- [ 7.73254, 74.2512, -1.47979 ],
- [ 0.0171285, 0.0060838 ],
- [ inf, inf, inf, inf ],
- [ 970, 838, 1089, 957 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1030, 898 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (75): {
- 308,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049834,
- [ 29.7814, 22.8527, -4.54734 ],
- [ 7.731, 74.2497, -1.47985 ],
- [ 0.0171321, 0.00609149 ],
- [ inf, inf, inf, inf ],
- [ 970, 838, 1089, 957 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1030, 898 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (76): {
- 309,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.04985,
- [ 30.1735, 23.1535, -4.62153 ],
- [ 7.72962, 74.2482, -1.479 ],
- [ 0.0171335, 0.00609476 ],
- [ inf, inf, inf, inf ],
- [ 971, 839, 1090, 958 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1031, 899 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (77): {
- 310,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049836,
- [ 30.5633, 23.4526, -4.69518 ],
- [ 7.72866, 74.2468, -1.47551 ],
- [ 0.0171346, 0.0061026 ],
- [ inf, inf, inf, inf ],
- [ 971, 839, 1090, 958 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1031, 899 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (78): {
- 311,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049844,
- [ 30.9485, 23.7482, -4.76877 ],
- [ 7.72803, 74.2451, -1.47262 ],
- [ 0.017142, 0.00610596 ],
- [ inf, inf, inf, inf ],
- [ 972, 839, 1091, 958 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1032, 899 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (79): {
- 312,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049843,
- [ 31.3198, 24.0331, -4.84217 ],
- [ 7.72836, 74.2421, -1.47151 ],
- [ 0.0171455, 0.00610717 ],
- [ inf, inf, inf, inf ],
- [ 972, 839, 1091, 958 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1032, 899 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (80): {
- 313,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.04984,
- [ 31.6957, 24.3215, -4.91553 ],
- [ 7.72802, 74.2392, -1.47012 ],
- [ 0.0171474, 0.00611431 ],
- [ inf, inf, inf, inf ],
- [ 972, 840, 1091, 959 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1032, 900 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (81): {
- 314,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049866,
- [ 32.0856, 24.6208, -4.98882 ],
- [ 7.72562, 74.2364, -1.46788 ],
- [ 0.0171483, 0.006117 ],
- [ inf, inf, inf, inf ],
- [ 973, 840, 1092, 959 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1033, 900 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (82): {
- 315,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049765,
- [ 32.4668, 24.9133, -5.05872 ],
- [ 7.72355, 74.2341, -1.4666 ],
- [ 0.0171488, 0.00611815 ],
- [ inf, inf, inf, inf ],
- [ 973, 840, 1092, 959 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1033, 900 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (83): {
- 316,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049908,
- [ 32.8236, 25.187, -5.11842 ],
- [ 7.7225, 74.2336, -1.46834 ],
- [ 0.017149, 0.00611815 ],
- [ inf, inf, inf, inf ],
- [ 973, 840, 1092, 959 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1033, 900 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (84): {
- 317,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049849,
- [ 33.1827, 25.4626, -5.179 ],
- [ 7.72156, 74.2328, -1.46989 ],
- [ 0.0171564, 0.00611827 ],
- [ inf, inf, inf, inf ],
- [ 973, 840, 1092, 959 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1033, 900 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (85): {
- 318,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049866,
- [ 33.6033, 25.7854, -5.25977 ],
- [ 7.72279, 74.2259, -1.4672 ],
- [ 0.0171593, 0.00611743 ],
- [ inf, inf, inf, inf ],
- [ 973, 840, 1092, 959 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1033, 900 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (86): {
- 319,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.04981,
- [ 34.0157, 26.1018, -5.33854 ],
- [ 7.72365, 74.2199, -1.46407 ],
- [ 0.0171609, 0.00611684 ],
- [ inf, inf, inf, inf ],
- [ 973, 841, 1092, 960 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1033, 901 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (87): {
- 320,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049865,
- [ 34.4026, 26.3987, -5.41087 ],
- [ 7.72328, 74.2172, -1.45942 ],
- [ 0.0171615, 0.00611619 ],
- [ inf, inf, inf, inf ],
- [ 973, 841, 1092, 960 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1033, 901 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (88): {
- 321,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049858,
- [ 34.7726, 26.6826, -5.48025 ],
- [ 7.72282, 74.2148, -1.45561 ],
- [ 0.0171618, 0.00611555 ],
- [ inf, inf, inf, inf ],
- [ 972, 841, 1091, 960 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1032, 901 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (89): {
- 322,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.04982,
- [ 35.0776, 26.9166, -5.53829 ],
- [ 7.72204, 74.2138, -1.45499 ],
- [ 0.0171689, 0.00611491 ],
- [ inf, inf, inf, inf ],
- [ 972, 841, 1091, 960 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1032, 901 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (90): {
- 323,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049836,
- [ 35.3826, 27.1507, -5.59636 ],
- [ 7.72126, 74.2128, -1.45438 ],
- [ 0.0171736, 0.00611532 ],
- [ inf, inf, inf, inf ],
- [ 972, 842, 1091, 961 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1032, 902 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (91): {
- 324,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049858,
- [ 35.8415, 27.5028, -5.68201 ],
- [ 7.72114, 74.2105, -1.45397 ],
- [ 0.0171734, 0.00611359 ],
- [ inf, inf, inf, inf ],
- [ 972, 842, 1091, 961 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1032, 902 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (92): {
- 325,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.04983,
- [ 36.3348, 27.8813, -5.77397 ],
- [ 7.72087, 74.2075, -1.45294 ],
- [ 0.0171817, 0.00611361 ],
- [ inf, inf, inf, inf ],
- [ 972, 842, 1091, 961 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1032, 902 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (93): {
- 326,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049844,
- [ 36.7153, 28.1733, -5.84625 ],
- [ 7.71894, 74.2044, -1.44925 ],
- [ 0.0171855, 0.00611349 ],
- [ inf, inf, inf, inf ],
- [ 972, 843, 1091, 962 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1032, 903 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (94): {
- 327,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049842,
- [ 37.0977, 28.4667, -5.91851 ],
- [ 7.7171, 74.2019, -1.44652 ],
- [ 0.0171873, 0.00611353 ],
- [ inf, inf, inf, inf ],
- [ 972, 843, 1091, 962 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1032, 903 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (95): {
- 328,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049853,
- [ 37.4876, 28.7659, -5.9907 ],
- [ 7.71565, 74.2012, -1.44758 ],
- [ 0.0171949, 0.00610694 ],
- [ inf, inf, inf, inf ],
- [ 972, 843, 1091, 962 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1032, 903 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (96): {
- 329,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049828,
- [ 37.8754, 29.0636, -6.06285 ],
- [ 7.7142, 74.2, -1.44803 ],
- [ 0.0171984, 0.00610406 ],
- [ inf, inf, inf, inf ],
- [ 972, 844, 1091, 963 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1032, 904 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (97): {
- 330,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049858,
- [ 38.2561, 29.3557, -6.13505 ],
- [ 7.71278, 74.1968, -1.446 ],
- [ 0.0172073, 0.00610243 ],
- [ inf, inf, inf, inf ],
- [ 971, 844, 1090, 963 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1031, 904 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (98): {
- 331,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049828,
- [ 38.6365, 29.6476, -6.20717 ],
- [ 7.71132, 74.1938, -1.44418 ],
- [ 0.0172114, 0.00610166 ],
- [ inf, inf, inf, inf ],
- [ 971, 845, 1090, 964 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1031, 905 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (99): {
- 332,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049854,
- [ 39.0171, 29.9396, -6.27916 ],
- [ 7.70971, 74.1922, -1.44328 ],
- [ 0.0172205, 0.00610109 ],
- [ inf, inf, inf, inf ],
- [ 971, 845, 1090, 964 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1031, 905 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 0
- },
- (100): {
- 333,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049855,
- [ 39.3995, 30.233, -6.35112 ],
- [ 7.70823, 74.1904, -1.44215 ],
- [ 0.0172243, 0.00609434 ],
- [ inf, inf, inf, inf ],
- [ 971, 846, 1090, 965 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1031, 906 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (101): {
- 334,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049825,
- [ 39.7892, 30.5321, -6.42289 ],
- [ 7.70729, 74.1885, -1.44001 ],
- [ 0.0172334, 0.00609107 ],
- [ inf, inf, inf, inf ],
- [ 971, 846, 1090, 965 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1031, 906 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (102): {
- 335,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049842,
- [ 40.1716, 30.8255, -6.4882 ],
- [ 7.70643, 74.1866, -1.4377 ],
- [ 0.0172376, 0.00608975 ],
- [ inf, inf, inf, inf ],
- [ 970, 847, 1089, 966 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1030, 907 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (103): {
- 336,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049851,
- [ 40.5194, 31.0924, -6.52358 ],
- [ 7.70596, 74.1852, -1.43459 ],
- [ 0.0172467, 0.00608866 ],
- [ inf, inf, inf, inf ],
- [ 970, 847, 1089, 966 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1030, 907 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (104): {
- 337,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049843,
- [ 40.8672, 31.3592, -6.55896 ],
- [ 7.70548, 74.1838, -1.43147 ],
- [ 0.0172577, 0.00608223 ],
- [ inf, inf, inf, inf ],
- [ 970, 848, 1089, 967 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1030, 908 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (105): {
- 338,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049843,
- [ 41.2761, 31.6731, -6.63675 ],
- [ 7.70025, 74.1812, -1.4303 ],
- [ 0.0172629, 0.00607798 ],
- [ inf, inf, inf, inf ],
- [ 969, 849, 1088, 968 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1029, 909 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (106): {
- 339,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049854,
- [ 41.6824, 31.9848, -6.714 ],
- [ 7.69531, 74.1787, -1.42968 ],
- [ 0.0172723, 0.00607682 ],
- [ inf, inf, inf, inf ],
- [ 969, 849, 1088, 968 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1029, 909 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (107): {
- 340,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.04977,
- [ 42.0686, 32.2811, -6.7846 ],
- [ 7.69231, 74.1774, -1.43169 ],
- [ 0.0172838, 0.00607626 ],
- [ inf, inf, inf, inf ],
- [ 969, 850, 1088, 969 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1029, 910 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (108): {
- 341,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049949,
- [ 42.4443, 32.5694, -6.8535 ],
- [ 7.68922, 74.1762, -1.43319 ],
- [ 0.0172958, 0.00606937 ],
- [ inf, inf, inf, inf ],
- [ 969, 851, 1088, 970 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1029, 911 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (109): {
- 342,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049797,
- [ 42.7494, 32.8035, -6.91063 ],
- [ 7.68563, 74.1754, -1.43159 ],
- [ 0.0173084, 0.00606618 ],
- [ inf, inf, inf, inf ],
- [ 969, 852, 1088, 971 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1029, 912 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (110): {
- 343,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049842,
- [ 43.0547, 33.0378, -6.96781 ],
- [ 7.68204, 74.1746, -1.42999 ],
- [ 0.0173131, 0.00606589 ],
- [ inf, inf, inf, inf ],
- [ 969, 853, 1088, 972 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1029, 913 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (111): {
- 344,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049789,
- [ 43.4914, 33.3729, -7.04945 ],
- [ 7.6783, 74.1736, -1.4273 ],
- [ 0.0173245, 0.00606361 ],
- [ inf, inf, inf, inf ],
- [ 968, 854, 1087, 973 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1028, 914 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (112): {
- 345,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049938,
- [ 43.9835, 33.7505, -7.14137 ],
- [ 7.67472, 74.1726, -1.42404 ],
- [ 0.0173358, 0.00606354 ],
- [ inf, inf, inf, inf ],
- [ 968, 855, 1087, 974 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1028, 915 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (113): {
- 346,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049807,
- [ 44.3636, 34.0422, -7.2121 ],
- [ 7.67259, 74.1725, -1.42109 ],
- [ 0.017348, 0.00606333 ],
- [ inf, inf, inf, inf ],
- [ 968, 855, 1087, 974 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1028, 915 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (114): {
- 347,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049841,
- [ 44.7453, 34.335, -7.28288 ],
- [ 7.6704, 74.1721, -1.41828 ],
- [ 0.0173604, 0.00606342 ],
- [ inf, inf, inf, inf ],
- [ 968, 856, 1087, 975 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1028, 916 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (115): {
- 348,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049875,
- [ 45.1355, 34.6345, -7.3537 ],
- [ 7.66777, 74.1698, -1.41639 ],
- [ 0.0173732, 0.00606343 ],
- [ inf, inf, inf, inf ],
- [ 969, 857, 1088, 976 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1029, 917 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (116): {
- 349,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049814,
- [ 45.524, 34.9326, -7.42441 ],
- [ 7.66499, 74.1674, -1.41483 ],
- [ 0.017386, 0.00606329 ],
- [ inf, inf, inf, inf ],
- [ 969, 858, 1088, 977 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1029, 918 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (117): {
- 350,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049845,
- [ 45.9044, 35.2245, -7.49501 ],
- [ 7.66117, 74.1648, -1.41538 ],
- [ 0.0173987, 0.00606324 ],
- [ inf, inf, inf, inf ],
- [ 969, 859, 1088, 978 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1029, 919 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (118): {
- 351,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049782,
- [ 46.2843, 35.516, -7.56553 ],
- [ 7.65709, 74.1627, -1.41592 ],
- [ 0.0174113, 0.00606315 ],
- [ inf, inf, inf, inf ],
- [ 969, 860, 1088, 979 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1029, 920 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (119): {
- 352,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049902,
- [ 46.6653, 35.8084, -7.63625 ],
- [ 7.65121, 74.1634, -1.41648 ],
- [ 0.0174242, 0.006063 ],
- [ inf, inf, inf, inf ],
- [ 969, 861, 1088, 980 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1029, 921 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (120): {
- 353,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049862,
- [ 47.046, 36.1005, -7.70692 ],
- [ 7.64578, 74.1637, -1.41685 ],
- [ 0.017437, 0.006063 ],
- [ inf, inf, inf, inf ],
- [ 969, 862, 1088, 981 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1029, 922 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (121): {
- 354,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049829,
- [ 47.4265, 36.3924, -7.77747 ],
- [ 7.64361, 74.1616, -1.41587 ],
- [ 0.0174501, 0.00606276 ],
- [ inf, inf, inf, inf ],
- [ 969, 863, 1088, 982 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1029, 923 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (122): {
- 355,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.04988,
- [ 47.8035, 36.6818, -7.83861 ],
- [ 7.64113, 74.1596, -1.41494 ],
- [ 0.0174627, 0.00606258 ],
- [ inf, inf, inf, inf ],
- [ 969, 864, 1088, 983 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1029, 924 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (123): {
- 356,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049842,
- [ 48.1512, 36.9485, -7.82746 ],
- [ 7.63639, 74.1581, -1.41442 ],
- [ 0.0174757, 0.00606854 ],
- [ inf, inf, inf, inf ],
- [ 969, 865, 1088, 984 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1029, 925 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (124): {
- 357,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049788,
- [ 48.4984, 37.215, -7.81634 ],
- [ 7.63166, 74.1565, -1.4139 ],
- [ 0.0174879, 0.00607062 ],
- [ inf, inf, inf, inf ],
- [ 969, 866, 1088, 985 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1029, 926 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (125): {
- 358,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049876,
- [ 48.9224, 37.5403, -7.88754 ],
- [ 7.62487, 74.1599, -1.42077 ],
- [ 0.0175019, 0.00607886 ],
- [ inf, inf, inf, inf ],
- [ 970, 867, 1089, 986 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1030, 927 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (126): {
- 359,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049794,
- [ 49.347, 37.8662, -7.96511 ],
- [ 7.61832, 74.1633, -1.42747 ],
- [ 0.0175147, 0.00608214 ],
- [ inf, inf, inf, inf ],
- [ 971, 868, 1090, 987 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1031, 928 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (127): {
- 360,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049882,
- [ 49.7252, 38.1564, -8.0358 ],
- [ 7.61543, 74.1626, -1.42706 ],
- [ 0.0175278, 0.00609022 ],
- [ inf, inf, inf, inf ],
- [ 971, 869, 1090, 988 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1031, 929 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (128): {
- 361,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049874,
- [ 50.0967, 38.4414, -8.10537 ],
- [ 7.61253, 74.1618, -1.42675 ],
- [ 0.0175336, 0.0060942 ],
- [ inf, inf, inf, inf ],
- [ 972, 870, 1091, 989 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1032, 930 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (129): {
- 362,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049732,
- [ 50.3935, 38.6692, -8.1623 ],
- [ 7.60959, 74.1593, -1.42744 ],
- [ 0.0175433, 0.00610237 ],
- [ inf, inf, inf, inf ],
- [ 972, 871, 1091, 990 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1032, 931 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (130): {
- 363,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049931,
- [ 50.6915, 38.8978, -8.21946 ],
- [ 7.60664, 74.1568, -1.42814 ],
- [ 0.0175532, 0.00610481 ],
- [ inf, inf, inf, inf ],
- [ 973, 871, 1092, 990 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1033, 931 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (131): {
- 364,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049869,
- [ 51.1126, 39.2209, -8.29897 ],
- [ 7.60084, 74.1561, -1.43161 ],
- [ 0.017567, 0.00611497 ],
- [ inf, inf, inf, inf ],
- [ 973, 872, 1092, 991 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1033, 932 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (132): {
- 365,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049835,
- [ 51.6126, 39.6046, -8.39277 ],
- [ 7.59334, 74.1565, -1.43685 ],
- [ 0.0175789, 0.00611808 ],
- [ inf, inf, inf, inf ],
- [ 974, 873, 1093, 992 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1034, 933 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (133): {
- 366,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049829,
- [ 51.9939, 39.8972, -8.4646 ],
- [ 7.58996, 74.155, -1.43945 ],
- [ 0.0175846, 0.00612609 ],
- [ inf, inf, inf, inf ],
- [ 975, 874, 1094, 993 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1035, 934 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (134): {
- 367,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049836,
- [ 52.3751, 40.1897, -8.53644 ],
- [ 7.58667, 74.1535, -1.44201 ],
- [ 0.0175944, 0.00613568 ],
- [ inf, inf, inf, inf ],
- [ 975, 874, 1094, 993 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1035, 934 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (135): {
- 368,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049864,
- [ 52.7553, 40.4815, -8.60834 ],
- [ 7.58439, 74.1506, -1.44423 ],
- [ 0.0176055, 0.00613997 ],
- [ inf, inf, inf, inf ],
- [ 976, 875, 1095, 994 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1036, 935 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (136): {
- 369,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049824,
- [ 53.1346, 40.7725, -8.68022 ],
- [ 7.58205, 74.1478, -1.44659 ],
- [ 0.0176106, 0.00614804 ],
- [ inf, inf, inf, inf ],
- [ 976, 876, 1095, 995 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1036, 936 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (137): {
- 370,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049864,
- [ 53.5061, 41.0576, -8.75255 ],
- [ 7.57896, 74.1461, -1.45083 ],
- [ 0.0176201, 0.00615815 ],
- [ inf, inf, inf, inf ],
- [ 977, 876, 1096, 995 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1037, 936 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (138): {
- 371,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049828,
- [ 53.878, 41.3429, -8.82485 ],
- [ 7.57587, 74.1445, -1.4547 ],
- [ 0.0176243, 0.00616236 ],
- [ inf, inf, inf, inf ],
- [ 978, 877, 1097, 996 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1038, 937 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (139): {
- 372,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049849,
- [ 54.2585, 41.6349, -8.89732 ],
- [ 7.57287, 74.1447, -1.45333 ],
- [ 0.0176334, 0.00617083 ],
- [ inf, inf, inf, inf ],
- [ 978, 877, 1097, 996 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1038, 937 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (140): {
- 373,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.04985,
- [ 54.639, 41.9269, -8.9698 ],
- [ 7.56999, 74.1446, -1.45227 ],
- [ 0.0176376, 0.00618082 ],
- [ inf, inf, inf, inf ],
- [ 979, 878, 1098, 997 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1039, 938 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (141): {
- 374,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049829,
- [ 55.0194, 42.2188, -9.04242 ],
- [ 7.56901, 74.1407, -1.45597 ],
- [ 0.0176462, 0.00618534 ],
- [ inf, inf, inf, inf ],
- [ 980, 878, 1099, 997 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1040, 938 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (142): {
- 375,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049846,
- [ 55.3978, 42.5091, -9.11025 ],
- [ 7.56796, 74.1369, -1.45947 ],
- [ 0.0176502, 0.00619337 ],
- [ inf, inf, inf, inf ],
- [ 980, 879, 1099, 998 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1040, 939 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (143): {
- 376,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049845,
- [ 55.7374, 42.7697, -9.09386 ],
- [ 7.56574, 74.1356, -1.4593 ],
- [ 0.017652, 0.00620363 ],
- [ inf, inf, inf, inf ],
- [ 981, 879, 1100, 998 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1041, 939 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (144): {
- 377,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.04983,
- [ 56.0769, 43.0302, -9.07749 ],
- [ 7.56353, 74.1343, -1.45914 ],
- [ 0.0176599, 0.00620727 ],
- [ inf, inf, inf, inf ],
- [ 982, 879, 1101, 998 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1042, 939 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (145): {
- 378,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049859,
- [ 56.5298, 43.3778, -9.14416 ],
- [ 7.56216, 74.1291, -1.45855 ],
- [ 0.0176633, 0.00621616 ],
- [ inf, inf, inf, inf ],
- [ 982, 880, 1101, 999 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1042, 940 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (146): {
- 379,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049839,
- [ 56.997, 43.7362, -9.22392 ],
- [ 7.56093, 74.1235, -1.45792 ],
- [ 0.0176654, 0.00622587 ],
- [ inf, inf, inf, inf ],
- [ 983, 880, 1102, 999 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1043, 940 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (147): {
- 380,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049844,
- [ 57.3745, 44.0259, -9.29602 ],
- [ 7.55978, 74.1214, -1.45802 ],
- [ 0.0176729, 0.00623004 ],
- [ inf, inf, inf, inf ],
- [ 984, 880, 1103, 999 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1044, 940 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (148): {
- 381,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049842,
- [ 57.7504, 44.3144, -9.36784 ],
- [ 7.55866, 74.1193, -1.4582 ],
- [ 0.0176767, 0.00623794 ],
- [ inf, inf, inf, inf ],
- [ 984, 880, 1103, 999 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1044, 940 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (149): {
- 382,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049877,
- [ 58.0482, 44.5429, -9.4265 ],
- [ 7.55882, 74.1171, -1.46212 ],
- [ 0.0176782, 0.00624188 ],
- [ inf, inf, inf, inf ],
- [ 985, 881, 1104, 1000 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1045, 941 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (150): {
- 383,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049821,
- [ 58.3457, 44.7712, -9.4851 ],
- [ 7.55897, 74.1148, -1.46604 ],
- [ 0.0176803, 0.00624858 ],
- [ inf, inf, inf, inf ],
- [ 985, 881, 1104, 1000 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1045, 941 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (151): {
- 384,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049837,
- [ 58.7537, 45.0842, -9.56444 ],
- [ 7.56032, 74.1119, -1.47158 ],
- [ 0.0176795, 0.00626034 ],
- [ inf, inf, inf, inf ],
- [ 986, 881, 1105, 1000 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1046, 941 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (152): {
- 385,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049775,
- [ 59.2609, 45.4734, -9.66238 ],
- [ 7.56274, 74.1083, -1.47845 ],
- [ 0.0176874, 0.00626395 ],
- [ inf, inf, inf, inf ],
- [ 987, 881, 1106, 1000 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1047, 941 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (153): {
- 386,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049914,
- [ 59.6425, 45.7662, -9.73633 ],
- [ 7.56344, 74.1054, -1.47836 ],
- [ 0.0176978, 0.00626545 ],
- [ inf, inf, inf, inf ],
- [ 987, 882, 1106, 1001 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1047, 942 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (154): {
- 387,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049829,
- [ 60.0233, 46.0584, -9.81015 ],
- [ 7.56412, 74.1026, -1.4783 ],
- [ 0.0177032, 0.00627221 ],
- [ inf, inf, inf, inf ],
- [ 987, 882, 1106, 1001 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1047, 942 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (155): {
- 388,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049858,
- [ 60.3942, 46.343, -9.88383 ],
- [ 7.56399, 74.0999, -1.47916 ],
- [ 0.0177057, 0.00627518 ],
- [ inf, inf, inf, inf ],
- [ 988, 883, 1107, 1002 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1048, 943 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (156): {
- 389,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049765,
- [ 60.7645, 46.6272, -9.95738 ],
- [ 7.56386, 74.0973, -1.48004 ],
- [ 0.0177076, 0.00628252 ],
- [ inf, inf, inf, inf ],
- [ 988, 883, 1107, 1002 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1048, 943 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (157): {
- 390,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049874,
- [ 61.1453, 46.9194, -10.0314 ],
- [ 7.56477, 74.0944, -1.48388 ],
- [ 0.0177153, 0.00628567 ],
- [ inf, inf, inf, inf ],
- [ 989, 883, 1108, 1002 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1049, 943 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (158): {
- 391,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049826,
- [ 61.5257, 47.2113, -10.1054 ],
- [ 7.56568, 74.0915, -1.4877 ],
- [ 0.0177191, 0.00628679 ],
- [ inf, inf, inf, inf ],
- [ 989, 884, 1108, 1003 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1049, 944 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (159): {
- 392,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049909,
- [ 61.9068, 47.5037, -10.1796 ],
- [ 7.56741, 74.0876, -1.48647 ],
- [ 0.0177211, 0.0062937 ],
- [ inf, inf, inf, inf ],
- [ 989, 884, 1108, 1003 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1049, 944 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (160): {
- 393,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049837,
- [ 62.2873, 47.7957, -10.2537 ],
- [ 7.56914, 74.0838, -1.48525 ],
- [ 0.0177293, 0.00629599 ],
- [ inf, inf, inf, inf ],
- [ 990, 884, 1109, 1003 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1050, 944 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (161): {
- 394,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049851,
- [ 62.6587, 48.0807, -10.328 ],
- [ 7.57118, 74.0809, -1.4884 ],
- [ 0.0177328, 0.00629737 ],
- [ inf, inf, inf, inf ],
- [ 990, 885, 1109, 1004 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1050, 945 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (162): {
- 395,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049842,
- [ 63.0299, 48.3655, -10.4021 ],
- [ 7.57323, 74.078, -1.49157 ],
- [ 0.0177417, 0.00629741 ],
- [ inf, inf, inf, inf ],
- [ 990, 885, 1109, 1004 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1050, 945 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (163): {
- 396,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049859,
- [ 63.3785, 48.633, -10.3842 ],
- [ 7.57583, 74.0755, -1.49374 ],
- [ 0.0177457, 0.00630379 ],
- [ inf, inf, inf, inf ],
- [ 990, 886, 1109, 1005 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1050, 946 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (164): {
- 397,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049894,
- [ 63.727, 48.9005, -10.3655 ],
- [ 7.57844, 74.073, -1.49591 ],
- [ 0.0177549, 0.00630611 ],
- [ inf, inf, inf, inf ],
- [ 991, 886, 1110, 1005 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1051, 946 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (165): {
- 398,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049782,
- [ 64.1485, 49.2238, -10.4274 ],
- [ 7.58198, 74.0664, -1.49459 ],
- [ 0.0177593, 0.00630765 ],
- [ inf, inf, inf, inf ],
- [ 991, 887, 1110, 1006 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1051, 947 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (166): {
- 399,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049843,
- [ 64.5887, 49.5616, -10.5094 ],
- [ 7.58576, 74.0588, -1.4924 ],
- [ 0.0177682, 0.00630721 ],
- [ inf, inf, inf, inf ],
- [ 991, 887, 1110, 1006 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1051, 947 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (167): {
- 400,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.04984,
- [ 64.9676, 49.8524, -10.5836 ],
- [ 7.5846, 74.0552, -1.49442 ],
- [ 0.0177729, 0.00631343 ],
- [ inf, inf, inf, inf ],
- [ 991, 888, 1110, 1007 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1051, 948 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (168): {
- 401,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049847,
- [ 65.3453, 50.1422, -10.6576 ],
- [ 7.58334, 74.0517, -1.49653 ],
- [ 0.0177822, 0.00631576 ],
- [ inf, inf, inf, inf ],
- [ 991, 888, 1110, 1007 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1051, 948 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (169): {
- 402,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049864,
- [ 65.6537, 50.3788, -10.7183 ],
- [ 7.58472, 74.0498, -1.49992 ],
- [ 0.0177862, 0.00631701 ],
- [ inf, inf, inf, inf ],
- [ 992, 889, 1111, 1008 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1052, 949 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (170): {
- 403,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049821,
- [ 65.9589, 50.613, -10.7784 ],
- [ 7.58621, 74.048, -1.50336 ],
- [ 0.0177952, 0.00631688 ],
- [ inf, inf, inf, inf ],
- [ 992, 889, 1111, 1008 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1052, 949 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (171): {
- 404,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049843,
- [ 66.3529, 50.9154, -10.8572 ],
- [ 7.58734, 74.0441, -1.50563 ],
- [ 0.0177992, 0.006324 ],
- [ inf, inf, inf, inf ],
- [ 992, 890, 1111, 1009 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1052, 950 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (172): {
- 405,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049786,
- [ 66.8509, 51.2975, -10.9579 ],
- [ 7.58802, 74.0378, -1.5065 ],
- [ 0.0178083, 0.00632651 ],
- [ inf, inf, inf, inf ],
- [ 992, 890, 1111, 1009 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1052, 950 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (173): {
- 406,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049922,
- [ 67.2363, 51.5932, -11.0342 ],
- [ 7.58989, 74.0335, -1.50867 ],
- [ 0.0178126, 0.00632779 ],
- [ inf, inf, inf, inf ],
- [ 993, 891, 1112, 1010 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1053, 951 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (174): {
- 407,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049838,
- [ 67.6168, 51.8852, -11.1094 ],
- [ 7.5918, 74.0292, -1.51088 ],
- [ 0.0178214, 0.00632811 ],
- [ inf, inf, inf, inf ],
- [ 993, 891, 1112, 1010 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1053, 951 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (175): {
- 408,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049822,
- [ 67.9966, 52.1766, -11.1847 ],
- [ 7.59452, 74.0265, -1.51264 ],
- [ 0.017826, 0.00633479 ],
- [ inf, inf, inf, inf ],
- [ 993, 892, 1112, 1011 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1053, 952 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (176): {
- 409,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049851,
- [ 68.3766, 52.4682, -11.26 ],
- [ 7.59728, 74.0237, -1.51439 ],
- [ 0.017835, 0.00633764 ],
- [ inf, inf, inf, inf ],
- [ 994, 892, 1113, 1011 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1054, 952 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (177): {
- 410,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049849,
- [ 68.7572, 52.7602, -11.3356 ],
- [ 7.59974, 74.0207, -1.51579 ],
- [ 0.0178461, 0.00633859 ],
- [ inf, inf, inf, inf ],
- [ 994, 893, 1113, 1012 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1054, 953 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (178): {
- 411,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049849,
- [ 69.1378, 53.0523, -11.4111 ],
- [ 7.60217, 74.0177, -1.51718 ],
- [ 0.017851, 0.00633883 ],
- [ inf, inf, inf, inf ],
- [ 994, 894, 1113, 1013 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1054, 954 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (179): {
- 412,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049833,
- [ 69.5183, 53.3443, -11.4868 ],
- [ 7.60363, 74.0129, -1.51766 ],
- [ 0.0178609, 0.0063452 ],
- [ inf, inf, inf, inf ],
- [ 994, 894, 1113, 1013 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1054, 954 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (180): {
- 413,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049785,
- [ 69.8984, 53.6359, -11.5624 ],
- [ 7.60502, 74.0079, -1.51809 ],
- [ 0.0178724, 0.00634756 ],
- [ inf, inf, inf, inf ],
- [ 994, 895, 1113, 1014 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1054, 955 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (181): {
- 414,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049899,
- [ 70.2794, 53.9283, -11.6383 ],
- [ 7.60446, 74.006, -1.52235 ],
- [ 0.0178779, 0.00634879 ],
- [ inf, inf, inf, inf ],
- [ 995, 896, 1114, 1015 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1055, 956 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (182): {
- 415,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049845,
- [ 70.6599, 54.2203, -11.7142 ],
- [ 7.60377, 74.0042, -1.52688 ],
- [ 0.0178875, 0.00634914 ],
- [ inf, inf, inf, inf ],
- [ 995, 896, 1114, 1015 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1055, 956 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (183): {
- 416,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049782,
- [ 71.002, 54.4828, -11.7114 ],
- [ 7.60551, 74.0012, -1.52888 ],
- [ 0.0178989, 0.00634907 ],
- [ inf, inf, inf, inf ],
- [ 995, 897, 1114, 1016 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1055, 957 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (184): {
- 417,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049903,
- [ 71.3421, 54.7438, -11.7027 ],
- [ 7.60743, 73.9982, -1.53071 ],
- [ 0.0179115, 0.00635486 ],
- [ inf, inf, inf, inf ],
- [ 995, 898, 1114, 1017 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1055, 958 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (185): {
- 418,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049849,
- [ 71.756, 55.0613, -11.7624 ],
- [ 7.60951, 73.9923, -1.52796 ],
- [ 0.0179173, 0.0063574 ],
- [ inf, inf, inf, inf ],
- [ 995, 899, 1114, 1018 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1055, 959 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (186): {
- 419,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049843,
- [ 72.1961, 55.399, -11.8464 ],
- [ 7.61165, 73.9854, -1.5236 ],
- [ 0.0179269, 0.00635834 ],
- [ inf, inf, inf, inf ],
- [ 996, 900, 1115, 1019 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1056, 960 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (187): {
- 420,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049832,
- [ 72.5817, 55.6949, -11.9232 ],
- [ 7.61373, 73.9815, -1.52563 ],
- [ 0.0179383, 0.00635862 ],
- [ inf, inf, inf, inf ],
- [ 996, 900, 1115, 1019 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1056, 960 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (188): {
- 421,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.04987,
- [ 72.9627, 55.9873, -11.9995 ],
- [ 7.61581, 73.9779, -1.52823 ],
- [ 0.0179435, 0.00635867 ],
- [ inf, inf, inf, inf ],
- [ 996, 901, 1115, 1020 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1056, 961 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (189): {
- 422,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049757,
- [ 73.2721, 56.2247, -12.0616 ],
- [ 7.61725, 73.9755, -1.53159 ],
- [ 0.0179533, 0.00636462 ],
- [ inf, inf, inf, inf ],
- [ 996, 902, 1115, 1021 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1056, 962 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (190): {
- 423,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049843,
- [ 73.5754, 56.4574, -12.1224 ],
- [ 7.61864, 73.9732, -1.53504 ],
- [ 0.017964, 0.00636687 ],
- [ inf, inf, inf, inf ],
- [ 996, 902, 1115, 1021 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1056, 962 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (191): {
- 424,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049864,
- [ 73.9608, 56.7532, -12.1998 ],
- [ 7.62013, 73.9692, -1.53759 ],
- [ 0.0179771, 0.00636811 ],
- [ inf, inf, inf, inf ],
- [ 997, 903, 1116, 1022 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1057, 963 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (192): {
- 425,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.0499,
- [ 74.4721, 57.1455, -12.3026 ],
- [ 7.62179, 73.9628, -1.53878 ],
- [ 0.0179825, 0.00637481 ],
- [ inf, inf, inf, inf ],
- [ 997, 904, 1116, 1023 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1057, 964 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (193): {
- 426,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049779,
- [ 74.862, 57.4447, -12.3812 ],
- [ 7.62329, 73.9596, -1.5402 ],
- [ 0.0179922, 0.00637804 ],
- [ inf, inf, inf, inf ],
- [ 998, 905, 1117, 1024 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1058, 965 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (194): {
- 427,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049924,
- [ 75.2399, 57.7347, -12.4575 ],
- [ 7.62477, 73.9567, -1.54165 ],
- [ 0.0180035, 0.00637869 ],
- [ inf, inf, inf, inf ],
- [ 998, 905, 1117, 1024 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1058, 965 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (195): {
- 428,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049779,
- [ 75.6223, 58.028, -12.5348 ],
- [ 7.62504, 73.9535, -1.54489 ],
- [ 0.0180158, 0.00637911 ],
- [ inf, inf, inf, inf ],
- [ 998, 906, 1117, 1025 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1058, 966 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (196): {
- 429,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049894,
- [ 76.0062, 58.3227, -12.6125 ],
- [ 7.62514, 73.9503, -1.54838 ],
- [ 0.0180216, 0.00638549 ],
- [ inf, inf, inf, inf ],
- [ 998, 907, 1117, 1026 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1058, 967 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (197): {
- 430,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049838,
- [ 76.387, 58.6148, -12.6895 ],
- [ 7.62692, 73.9472, -1.54592 ],
- [ 0.0180312, 0.00638812 ],
- [ inf, inf, inf, inf ],
- [ 999, 908, 1118, 1027 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1059, 968 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (198): {
- 431,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049846,
- [ 76.7674, 58.9067, -12.7665 ],
- [ 7.62892, 73.944, -1.54271 ],
- [ 0.0180425, 0.00638904 ],
- [ inf, inf, inf, inf ],
- [ 999, 908, 1118, 1027 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1059, 968 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (199): {
- 432,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049844,
- [ 77.1479, 59.1987, -12.8434 ],
- [ 7.63063, 73.9405, -1.54207 ],
- [ 0.0180546, 0.00638914 ],
- [ inf, inf, inf, inf ],
- [ 999, 909, 1118, 1028 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1059, 969 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (200): {
- 433,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049842,
- [ 77.5285, 59.4907, -12.9203 ],
- [ 7.6323, 73.9369, -1.54177 ],
- [ 0.0180674, 0.00639519 ],
- [ inf, inf, inf, inf ],
- [ 999, 910, 1118, 1029 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1059, 970 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (201): {
- 434,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049857,
- [ 77.9093, 59.7829, -12.9973 ],
- [ 7.63592, 73.9338, -1.54261 ],
- [ 0.0180733, 0.00639803 ],
- [ inf, inf, inf, inf ],
- [ 1000, 911, 1119, 1030 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1060, 971 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (202): {
- 435,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049833,
- [ 78.2899, 60.075, -13.0742 ],
- [ 7.63981, 73.9307, -1.54361 ],
- [ 0.0180832, 0.00640505 ],
- [ inf, inf, inf, inf ],
- [ 1000, 912, 1119, 1031 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1060, 972 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (203): {
- 436,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049852,
- [ 78.6425, 60.3456, -13.1011 ],
- [ 7.64041, 73.9276, -1.54339 ],
- [ 0.0180947, 0.00640833 ],
- [ inf, inf, inf, inf ],
- [ 1001, 912, 1120, 1031 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1061, 972 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (204): {
- 437,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.04983,
- [ 78.9908, 60.6128, -13.1203 ],
- [ 7.64052, 73.9246, -1.54299 ],
- [ 0.0180995, 0.00640974 ],
- [ inf, inf, inf, inf ],
- [ 1001, 913, 1120, 1032 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1061, 973 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (205): {
- 438,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.04985,
- [ 79.3802, 60.9116, -13.1837 ],
- [ 7.64065, 73.9219, -1.53946 ],
- [ 0.0181089, 0.00641009 ],
- [ inf, inf, inf, inf ],
- [ 1001, 913, 1120, 1032 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1061, 973 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (206): {
- 439,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049837,
- [ 79.7891, 61.2254, -13.2681 ],
- [ 7.64079, 73.9195, -1.53443 ],
- [ 0.0181204, 0.00641644 ],
- [ inf, inf, inf, inf ],
- [ 1001, 914, 1120, 1033 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1061, 974 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (207): {
- 440,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049866,
- [ 80.1744, 61.5211, -13.3459 ],
- [ 7.64146, 73.9167, -1.5344 ],
- [ 0.0181256, 0.00641927 ],
- [ inf, inf, inf, inf ],
- [ 1002, 915, 1121, 1034 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1062, 975 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (208): {
- 441,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049829,
- [ 80.5555, 61.8135, -13.4224 ],
- [ 7.64222, 73.9139, -1.53521 ],
- [ 0.0181348, 0.00642007 ],
- [ inf, inf, inf, inf ],
- [ 1002, 915, 1121, 1034 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1062, 975 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (209): {
- 442,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049853,
- [ 80.8638, 62.0501, -13.4857 ],
- [ 7.64435, 73.9102, -1.53557 ],
- [ 0.0181462, 0.00642646 ],
- [ inf, inf, inf, inf ],
- [ 1002, 916, 1121, 1035 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1062, 976 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (210): {
- 443,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049841,
- [ 81.1595, 62.2769, -13.5466 ],
- [ 7.64671, 73.9064, -1.53586 ],
- [ 0.018151, 0.00642897 ],
- [ inf, inf, inf, inf ],
- [ 1003, 917, 1122, 1036 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1063, 977 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (211): {
- 444,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049847,
- [ 81.5313, 62.5622, -13.6215 ],
- [ 7.64927, 73.9027, -1.53456 ],
- [ 0.0181606, 0.0064304 ],
- [ inf, inf, inf, inf ],
- [ 1003, 917, 1122, 1036 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1063, 977 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (212): {
- 445,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049853,
- [ 82.0549, 62.964, -13.7243 ],
- [ 7.65224, 73.8994, -1.53008 ],
- [ 0.0181722, 0.00643682 ],
- [ inf, inf, inf, inf ],
- [ 1003, 918, 1122, 1037 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1063, 978 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (213): {
- 446,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049823,
- [ 82.4581, 63.2734, -13.8049 ],
- [ 7.6554, 73.8959, -1.52998 ],
- [ 0.0181773, 0.00643991 ],
- [ inf, inf, inf, inf ],
- [ 1004, 919, 1123, 1038 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1064, 979 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (214): {
- 447,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049845,
- [ 82.8387, 63.5654, -13.8813 ],
- [ 7.65858, 73.8923, -1.53071 ],
- [ 0.0181867, 0.0064409 ],
- [ inf, inf, inf, inf ],
- [ 1004, 919, 1123, 1038 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1064, 979 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (215): {
- 448,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049849,
- [ 83.2193, 63.8575, -13.9578 ],
- [ 7.661, 73.888, -1.53183 ],
- [ 0.0181984, 0.00644729 ],
- [ inf, inf, inf, inf ],
- [ 1004, 920, 1123, 1039 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1064, 980 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (216): {
- 449,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049839,
- [ 83.5998, 64.1495, -14.0343 ],
- [ 7.66326, 73.8835, -1.53302 ],
- [ 0.0182035, 0.00645001 ],
- [ inf, inf, inf, inf ],
- [ 1005, 921, 1124, 1040 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1065, 981 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (217): {
- 450,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049837,
- [ 83.9804, 64.4415, -14.1108 ],
- [ 7.664, 73.8797, -1.53304 ],
- [ 0.018213, 0.00645111 ],
- [ inf, inf, inf, inf ],
- [ 1005, 921, 1124, 1040 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1065, 981 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (218): {
- 451,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049851,
- [ 84.3611, 64.7336, -14.1873 ],
- [ 7.66442, 73.8761, -1.53282 ],
- [ 0.0182175, 0.00645799 ],
- [ inf, inf, inf, inf ],
- [ 1005, 922, 1124, 1041 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1065, 982 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (219): {
- 452,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049873,
- [ 84.742, 65.0258, -14.2639 ],
- [ 7.66708, 73.8725, -1.53339 ],
- [ 0.0182265, 0.00646085 ],
- [ inf, inf, inf, inf ],
- [ 1006, 922, 1125, 1041 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1066, 982 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (220): {
- 453,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049809,
- [ 85.1223, 65.3177, -14.3403 ],
- [ 7.67022, 73.869, -1.53412 ],
- [ 0.0182376, 0.00646158 ],
- [ inf, inf, inf, inf ],
- [ 1006, 923, 1125, 1042 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1066, 983 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (221): {
- 454,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049867,
- [ 85.503, 65.6099, -14.4168 ],
- [ 7.67377, 73.8644, -1.5344 ],
- [ 0.0182429, 0.00646836 ],
- [ inf, inf, inf, inf ],
- [ 1006, 924, 1125, 1043 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1066, 984 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (222): {
- 455,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049827,
- [ 85.8835, 65.9018, -14.4932 ],
- [ 7.67741, 73.8597, -1.53458 ],
- [ 0.0182523, 0.00647079 ],
- [ inf, inf, inf, inf ],
- [ 1007, 924, 1126, 1043 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1067, 984 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (223): {
- 456,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049807,
- [ 86.244, 66.1784, -14.4995 ],
- [ 7.68033, 73.8559, -1.53327 ],
- [ 0.0182635, 0.00647163 ],
- [ inf, inf, inf, inf ],
- [ 1007, 925, 1126, 1044 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1067, 985 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (224): {
- 457,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.04989,
- [ 86.6004, 66.4519, -14.4893 ],
- [ 7.6831, 73.8525, -1.53162 ],
- [ 0.0182691, 0.00647842 ],
- [ inf, inf, inf, inf ],
- [ 1007, 926, 1126, 1045 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1067, 986 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (225): {
- 458,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049831,
- [ 86.9832, 66.7456, -14.5369 ],
- [ 7.68305, 73.8502, -1.52879 ],
- [ 0.0182787, 0.00648109 ],
- [ inf, inf, inf, inf ],
- [ 1008, 926, 1127, 1045 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1068, 986 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (226): {
- 459,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049883,
- [ 87.3835, 67.0528, -14.6209 ],
- [ 7.68123, 73.8487, -1.52521 ],
- [ 0.0182831, 0.00648251 ],
- [ inf, inf, inf, inf ],
- [ 1008, 927, 1127, 1046 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1068, 987 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (227): {
- 460,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.04976,
- [ 87.7673, 67.3473, -14.6984 ],
- [ 7.68548, 73.8448, -1.52453 ],
- [ 0.018292, 0.0064826 ],
- [ inf, inf, inf, inf ],
- [ 1008, 927, 1127, 1046 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1068, 987 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (228): {
- 461,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049901,
- [ 88.1483, 67.6397, -14.7746 ],
- [ 7.69127, 73.8404, -1.52458 ],
- [ 0.0183033, 0.00648837 ],
- [ inf, inf, inf, inf ],
- [ 1008, 928, 1127, 1047 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1068, 988 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (229): {
- 462,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049775,
- [ 88.4673, 67.8844, -14.8384 ],
- [ 7.69373, 73.8362, -1.52468 ],
- [ 0.0183084, 0.00649102 ],
- [ inf, inf, inf, inf ],
- [ 1009, 929, 1128, 1048 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1069, 989 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (230): {
- 463,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049917,
- [ 88.7709, 68.1174, -14.8991 ],
- [ 7.69531, 73.8321, -1.52478 ],
- [ 0.0183178, 0.00649185 ],
- [ inf, inf, inf, inf ],
- [ 1009, 929, 1128, 1048 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1069, 989 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (231): {
- 464,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.04984,
- [ 89.1343, 68.3962, -14.971 ],
- [ 7.69666, 73.828, -1.52501 ],
- [ 0.0183294, 0.0064983 ],
- [ inf, inf, inf, inf ],
- [ 1009, 930, 1128, 1049 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1069, 990 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (232): {
- 465,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049842,
- [ 89.6576, 68.7977, -15.0731 ],
- [ 7.69738, 73.8239, -1.52557 ],
- [ 0.0183347, 0.00650116 ],
- [ inf, inf, inf, inf ],
- [ 1010, 931, 1129, 1050 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1070, 991 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (233): {
- 466,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049832,
- [ 90.0696, 69.1139, -15.155 ],
- [ 7.70064, 73.8196, -1.52579 ],
- [ 0.0183441, 0.00650212 ],
- [ inf, inf, inf, inf ],
- [ 1010, 931, 1129, 1050 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1070, 991 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (234): {
- 467,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049882,
- [ 90.4505, 69.4062, -15.2311 ],
- [ 7.70464, 73.8152, -1.52591 ],
- [ 0.0183484, 0.00650221 ],
- [ inf, inf, inf, inf ],
- [ 1010, 932, 1129, 1051 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1070, 992 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (235): {
- 468,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049804,
- [ 90.8307, 69.6979, -15.3071 ],
- [ 7.70796, 73.8111, -1.52572 ],
- [ 0.0183573, 0.00650195 ],
- [ inf, inf, inf, inf ],
- [ 1010, 932, 1129, 1051 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1070, 992 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (236): {
- 469,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049844,
- [ 91.2111, 69.9898, -15.3832 ],
- [ 7.71108, 73.8071, -1.52544 ],
- [ 0.0183617, 0.00650798 ],
- [ inf, inf, inf, inf ],
- [ 1010, 933, 1129, 1052 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1070, 993 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (237): {
- 470,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049839,
- [ 91.599, 70.2874, -15.4594 ],
- [ 7.71464, 73.8039, -1.52545 ],
- [ 0.0183707, 0.00651044 ],
- [ inf, inf, inf, inf ],
- [ 1010, 933, 1129, 1052 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1070, 993 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (238): {
- 471,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049861,
- [ 91.9894, 70.587, -15.5356 ],
- [ 7.71833, 73.8009, -1.52556 ],
- [ 0.0183819, 0.00651121 ],
- [ inf, inf, inf, inf ],
- [ 1011, 934, 1130, 1053 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1071, 994 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (239): {
- 472,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049828,
- [ 92.3792, 70.8861, -15.6117 ],
- [ 7.72334, 73.7979, -1.52455 ],
- [ 0.0183872, 0.00651806 ],
- [ inf, inf, inf, inf ],
- [ 1011, 935, 1130, 1054 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1071, 995 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (240): {
- 473,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049883,
- [ 92.7694, 71.1855, -15.6878 ],
- [ 7.72878, 73.795, -1.52319 ],
- [ 0.0183966, 0.00652074 ],
- [ inf, inf, inf, inf ],
- [ 1011, 935, 1130, 1054 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1071, 995 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (241): {
- 474,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049816,
- [ 93.1519, 71.479, -15.7637 ],
- [ 7.73282, 73.79, -1.52359 ],
- [ 0.0184079, 0.00652144 ],
- [ inf, inf, inf, inf ],
- [ 1012, 936, 1131, 1055 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1072, 996 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (242): {
- 475,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049799,
- [ 93.532, 71.7707, -15.8394 ],
- [ 7.7364, 73.7844, -1.52455 ],
- [ 0.018413, 0.00652198 ],
- [ inf, inf, inf, inf ],
- [ 1012, 937, 1131, 1056 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1072, 997 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (243): {
- 476,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049913,
- [ 93.8886, 72.0444, -15.8717 ],
- [ 7.73862, 73.7806, -1.52336 ],
- [ 0.0184225, 0.00652197 ],
- [ inf, inf, inf, inf ],
- [ 1012, 937, 1131, 1056 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1072, 997 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (244): {
- 477,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049841,
- [ 94.2366, 72.3114, -15.8891 ],
- [ 7.74037, 73.7774, -1.52145 ],
- [ 0.018434, 0.00652154 ],
- [ inf, inf, inf, inf ],
- [ 1012, 938, 1131, 1057 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1072, 998 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (245): {
- 478,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049841,
- [ 94.613, 72.6002, -15.943 ],
- [ 7.74021, 73.7734, -1.51696 ],
- [ 0.0184462, 0.00652095 ],
- [ inf, inf, inf, inf ],
- [ 1012, 939, 1131, 1058 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1072, 999 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (246): {
- 479,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049818,
- [ 95.0121, 72.9064, -16.026 ],
- [ 7.73853, 73.7688, -1.5104 ],
- [ 0.0184589, 0.00651988 ],
- [ inf, inf, inf, inf ],
- [ 1012, 940, 1131, 1059 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1072, 1000 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (247): {
- 480,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049844,
- [ 95.4043, 73.2074, -16.1033 ],
- [ 7.74056, 73.7642, -1.50974 ],
- [ 0.0184643, 0.00651928 ],
- [ inf, inf, inf, inf ],
- [ 1012, 941, 1131, 1060 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1072, 1001 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (248): {
- 481,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.04987,
- [ 95.7942, 73.5066, -16.1786 ],
- [ 7.74392, 73.7596, -1.5112 ],
- [ 0.0184742, 0.00651834 ],
- [ inf, inf, inf, inf ],
- [ 1012, 941, 1131, 1060 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1072, 1001 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (249): {
- 482,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049821,
- [ 96.1262, 73.7613, -16.2427 ],
- [ 7.7466, 73.7562, -1.51077 ],
- [ 0.0184862, 0.00652369 ],
- [ inf, inf, inf, inf ],
- [ 1012, 942, 1131, 1061 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1072, 1002 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (250): {
- 483,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049861,
- [ 96.437, 73.9998, -16.3027 ],
- [ 7.74903, 73.7531, -1.50962 ],
- [ 0.0184916, 0.00652618 ],
- [ inf, inf, inf, inf ],
- [ 1012, 943, 1131, 1062 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1072, 1003 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (251): {
- 484,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049809,
- [ 96.7896, 74.2703, -16.3713 ],
- [ 7.75197, 73.7497, -1.50887 ],
- [ 0.0185013, 0.00652681 ],
- [ inf, inf, inf, inf ],
- [ 1012, 944, 1131, 1063 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1072, 1004 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (252): {
- 485,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049847,
- [ 97.3005, 74.6624, -16.4723 ],
- [ 7.75682, 73.7446, -1.50956 ],
- [ 0.0185125, 0.00652695 ],
- [ inf, inf, inf, inf ],
- [ 1013, 944, 1132, 1063 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1073, 1004 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (253): {
- 486,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049849,
- [ 97.7246, 74.9878, -16.5547 ],
- [ 7.76157, 73.7401, -1.5083 ],
- [ 0.0185245, 0.00652681 ],
- [ inf, inf, inf, inf ],
- [ 1013, 945, 1132, 1064 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1073, 1005 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (254): {
- 487,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049835,
- [ 98.1142, 75.2867, -16.6298 ],
- [ 7.76629, 73.7359, -1.50625 ],
- [ 0.0185369, 0.00652653 ],
- [ inf, inf, inf, inf ],
- [ 1013, 946, 1132, 1065 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1073, 1006 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (255): {
- 488,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049815,
- [ 98.4974, 75.5808, -16.7046 ],
- [ 7.76904, 73.7331, -1.50297 ],
- [ 0.0185426, 0.00652666 ],
- [ inf, inf, inf, inf ],
- [ 1013, 947, 1132, 1066 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1073, 1007 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (256): {
- 489,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049874,
- [ 98.8784, 75.8731, -16.7795 ],
- [ 7.771, 73.7307, -1.49917 ],
- [ 0.0185524, 0.00652629 ],
- [ inf, inf, inf, inf ],
- [ 1013, 948, 1132, 1067 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1073, 1008 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (257): {
- 490,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049845,
- [ 99.2655, 76.1702, -16.8542 ],
- [ 7.77334, 73.7272, -1.49757 ],
- [ 0.0185637, 0.00652584 ],
- [ inf, inf, inf, inf ],
- [ 1013, 948, 1132, 1067 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1073, 1008 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (258): {
- 491,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.04979,
- [ 99.6549, 76.4689, -16.9289 ],
- [ 7.77585, 73.7232, -1.49688 ],
- [ 0.0185763, 0.00653148 ],
- [ inf, inf, inf, inf ],
- [ 1013, 949, 1132, 1068 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1073, 1009 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (259): {
- 492,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049833,
- [ 100.044, 76.7678, -17.0035 ],
- [ 7.77855, 73.7191, -1.49634 ],
- [ 0.0185891, 0.00653346 ],
- [ inf, inf, inf, inf ],
- [ 1013, 950, 1132, 1069 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1073, 1010 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (260): {
- 493,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.04992,
- [ 100.435, 77.0672, -17.0782 ],
- [ 7.78136, 73.715, -1.49585 ],
- [ 0.0185949, 0.00653464 ],
- [ inf, inf, inf, inf ],
- [ 1014, 951, 1133, 1070 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1074, 1011 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (261): {
- 494,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049855,
- [ 100.825, 77.3666, -17.1529 ],
- [ 7.78372, 73.7112, -1.49549 ],
- [ 0.0186045, 0.00653511 ],
- [ inf, inf, inf, inf ],
- [ 1014, 952, 1133, 1071 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1074, 1012 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (262): {
- 495,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.04983,
- [ 101.215, 77.666, -17.2276 ],
- [ 7.78589, 73.7074, -1.4952 ],
- [ 0.0186159, 0.00653505 ],
- [ inf, inf, inf, inf ],
- [ 1014, 952, 1133, 1071 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1074, 1012 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (263): {
- 496,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049867,
- [ 101.582, 77.9479, -17.2795 ],
- [ 7.78935, 73.705, -1.49442 ],
- [ 0.018628, 0.00653458 ],
- [ inf, inf, inf, inf ],
- [ 1014, 953, 1133, 1072 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1074, 1013 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (264): {
- 497,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.04982,
- [ 101.939, 78.2213, -17.3209 ],
- [ 7.79341, 73.7031, -1.49343 ],
- [ 0.0186409, 0.00654027 ],
- [ inf, inf, inf, inf ],
- [ 1014, 954, 1133, 1073 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1074, 1014 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (265): {
- 498,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049842,
- [ 102.321, 78.5147, -17.3823 ],
- [ 7.79602, 73.698, -1.49235 ],
- [ 0.0186539, 0.00654234 ],
- [ inf, inf, inf, inf ],
- [ 1014, 955, 1133, 1074 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1074, 1015 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (266): {
- 499,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049893,
- [ 102.73, 78.8287, -17.4642 ],
- [ 7.79716, 73.6894, -1.4912 ],
- [ 0.01866, 0.00654976 ],
- [ inf, inf, inf, inf ],
- [ 1015, 956, 1134, 1075 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1075, 1016 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (267): {
- 500,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049796,
- [ 103.133, 79.1377, -17.5411 ],
- [ 7.79948, 73.684, -1.49164 ],
- [ 0.0186697, 0.00655296 ],
- [ inf, inf, inf, inf ],
- [ 1015, 957, 1134, 1076 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1075, 1017 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (268): {
- 501,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049846,
- [ 103.533, 79.4448, -17.6158 ],
- [ 7.8024, 73.6801, -1.49286 ],
- [ 0.0186811, 0.00655409 ],
- [ inf, inf, inf, inf ],
- [ 1016, 957, 1135, 1076 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1076, 1017 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (269): {
- 502,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049797,
- [ 103.873, 79.7054, -17.6799 ],
- [ 7.80403, 73.6769, -1.49236 ],
- [ 0.0186932, 0.00655424 ],
- [ inf, inf, inf, inf ],
- [ 1016, 958, 1135, 1077 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1076, 1018 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (270): {
- 503,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049828,
- [ 104.183, 79.9434, -17.739 ],
- [ 7.80503, 73.674, -1.491 ],
- [ 0.0187051, 0.00655393 ],
- [ inf, inf, inf, inf ],
- [ 1016, 959, 1135, 1078 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1076, 1019 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (271): {
- 504,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049907,
- [ 104.525, 80.206, -17.8042 ],
- [ 7.80636, 73.6708, -1.48914 ],
- [ 0.0187189, 0.0065599 ],
- [ inf, inf, inf, inf ],
- [ 1016, 960, 1135, 1079 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1076, 1020 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (272): {
- 505,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049844,
- [ 105.048, 80.6075, -17.9038 ],
- [ 7.80961, 73.6659, -1.48444 ],
- [ 0.0187316, 0.00656186 ],
- [ inf, inf, inf, inf ],
- [ 1017, 961, 1136, 1080 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1077, 1021 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (273): {
- 506,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049781,
- [ 105.478, 80.9373, -17.9866 ],
- [ 7.81383, 73.6608, -1.48341 ],
- [ 0.0187372, 0.0065629 ],
- [ inf, inf, inf, inf ],
- [ 1017, 962, 1136, 1081 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1077, 1022 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (274): {
- 507,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049843,
- [ 105.859, 81.2296, -18.0607 ],
- [ 7.81859, 73.6556, -1.48434 ],
- [ 0.0187468, 0.00656268 ],
- [ inf, inf, inf, inf ],
- [ 1017, 963, 1136, 1082 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1077, 1023 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (275): {
- 508,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049838,
- [ 106.246, 81.5261, -18.1347 ],
- [ 7.82074, 73.6526, -1.48458 ],
- [ 0.0187581, 0.00656231 ],
- [ inf, inf, inf, inf ],
- [ 1017, 963, 1136, 1082 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1077, 1023 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (276): {
- 509,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.04991,
- [ 106.635, 81.8252, -18.2088 ],
- [ 7.82149, 73.6508, -1.48444 ],
- [ 0.0187702, 0.00656128 ],
- [ inf, inf, inf, inf ],
- [ 1017, 964, 1136, 1083 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1077, 1024 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (277): {
- 510,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049857,
- [ 107.031, 82.1289, -18.2829 ],
- [ 7.82489, 73.6467, -1.48572 ],
- [ 0.0187757, 0.00656079 ],
- [ inf, inf, inf, inf ],
- [ 1017, 965, 1136, 1084 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1077, 1025 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (278): {
- 511,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049771,
- [ 107.43, 82.4348, -18.3569 ],
- [ 7.82978, 73.6414, -1.48777 ],
- [ 0.0187852, 0.00656635 ],
- [ inf, inf, inf, inf ],
- [ 1017, 966, 1136, 1085 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1077, 1026 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (279): {
- 512,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049843,
- [ 107.817, 82.732, -18.4309 ],
- [ 7.83246, 73.6371, -1.48681 ],
- [ 0.0187963, 0.00656856 ],
- [ inf, inf, inf, inf ],
- [ 1017, 966, 1136, 1085 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1077, 1026 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (280): {
- 513,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049845,
- [ 108.198, 83.024, -18.505 ],
- [ 7.83387, 73.6333, -1.48411 ],
- [ 0.0188013, 0.00656963 ],
- [ inf, inf, inf, inf ],
- [ 1018, 967, 1137, 1086 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1078, 1027 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (281): {
- 514,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.04984,
- [ 108.59, 83.3249, -18.579 ],
- [ 7.83501, 73.6299, -1.48403 ],
- [ 0.0188104, 0.00656975 ],
- [ inf, inf, inf, inf ],
- [ 1018, 967, 1137, 1086 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1078, 1027 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (282): {
- 515,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049909,
- [ 108.989, 83.6316, -18.653 ],
- [ 7.83598, 73.6266, -1.48549 ],
- [ 0.0188216, 0.00656934 ],
- [ inf, inf, inf, inf ],
- [ 1018, 968, 1137, 1087 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1078, 1028 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (283): {
- 516,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049851,
- [ 109.362, 83.9175, -18.7311 ],
- [ 7.83825, 73.6236, -1.48324 ],
- [ 0.0188268, 0.00657559 ],
- [ inf, inf, inf, inf ],
- [ 1018, 969, 1137, 1088 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1078, 1029 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (284): {
- 517,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049841,
- [ 109.719, 84.1911, -18.8115 ],
- [ 7.84131, 73.6209, -1.47874 ],
- [ 0.0188362, 0.00657785 ],
- [ inf, inf, inf, inf ],
- [ 1018, 969, 1137, 1088 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1078, 1029 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (285): {
- 518,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049844,
- [ 110.102, 84.4856, -18.8925 ],
- [ 7.84429, 73.6177, -1.47762 ],
- [ 0.0188471, 0.00657869 ],
- [ inf, inf, inf, inf ],
- [ 1019, 970, 1138, 1089 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1079, 1030 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (286): {
- 519,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049853,
- [ 110.523, 84.808, -18.9741 ],
- [ 7.84719, 73.6138, -1.48097 ],
- [ 0.018852, 0.00657906 ],
- [ inf, inf, inf, inf ],
- [ 1019, 971, 1138, 1090 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1079, 1031 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (287): {
- 520,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049854,
- [ 110.924, 85.1163, -19.051 ],
- [ 7.85028, 73.6106, -1.47984 ],
- [ 0.018862, 0.00658525 ],
- [ inf, inf, inf, inf ],
- [ 1019, 971, 1138, 1090 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1079, 1031 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (288): {
- 521,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049849,
- [ 111.314, 85.4156, -19.1248 ],
- [ 7.8535, 73.6077, -1.47587 ],
- [ 0.0188733, 0.00658752 ],
- [ inf, inf, inf, inf ],
- [ 1019, 972, 1138, 1091 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1079, 1032 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (289): {
- 522,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.04981,
- [ 111.66, 85.681, -19.1893 ],
- [ 7.85626, 73.6052, -1.47505 ],
- [ 0.0188783, 0.00658865 ],
- [ inf, inf, inf, inf ],
- [ 1020, 973, 1139, 1092 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1080, 1033 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (290): {
- 523,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049839,
- [ 111.978, 85.9247, -19.2479 ],
- [ 7.85873, 73.603, -1.47625 ],
- [ 0.0188877, 0.00658862 ],
- [ inf, inf, inf, inf ],
- [ 1020, 973, 1139, 1092 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1080, 1033 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (291): {
- 524,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049866,
- [ 112.313, 86.1821, -19.31 ],
- [ 7.86135, 73.6004, -1.47722 ],
- [ 0.018899, 0.0065884 ],
- [ inf, inf, inf, inf ],
- [ 1020, 974, 1139, 1093 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1080, 1034 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (292): {
- 525,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049834,
- [ 112.837, 86.5839, -19.4089 ],
- [ 7.86566, 73.5944, -1.47564 ],
- [ 0.0189042, 0.00658814 ],
- [ inf, inf, inf, inf ],
- [ 1020, 975, 1139, 1094 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1080, 1035 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (293): {
- 526,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049874,
- [ 113.282, 86.9255, -19.4929 ],
- [ 7.86887, 73.5895, -1.47515 ],
- [ 0.0189136, 0.00658751 ],
- [ inf, inf, inf, inf ],
- [ 1020, 975, 1139, 1094 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1080, 1035 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (294): {
- 527,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049807,
- [ 113.672, 87.225, -19.5666 ],
- [ 7.87133, 73.5855, -1.4754 ],
- [ 0.0189253, 0.00659295 ],
- [ inf, inf, inf, inf ],
- [ 1020, 976, 1139, 1095 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1080, 1036 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (295): {
- 528,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049878,
- [ 114.068, 87.5285, -19.6402 ],
- [ 7.87355, 73.5819, -1.47485 ],
- [ 0.0189306, 0.00659548 ],
- [ inf, inf, inf, inf ],
- [ 1020, 977, 1139, 1096 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1080, 1037 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (296): {
- 529,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049831,
- [ 114.467, 87.8343, -19.7136 ],
- [ 7.87562, 73.5784, -1.47374 ],
- [ 0.0189401, 0.00659599 ],
- [ inf, inf, inf, inf ],
- [ 1021, 977, 1140, 1096 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1081, 1037 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (297): {
- 530,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049825,
- [ 114.86, 88.136, -19.7869 ],
- [ 7.87826, 73.5753, -1.47248 ],
- [ 0.0189513, 0.00659568 ],
- [ inf, inf, inf, inf ],
- [ 1021, 978, 1140, 1097 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1081, 1038 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (298): {
- 531,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049842,
- [ 115.249, 88.4349, -19.8603 ],
- [ 7.88133, 73.5722, -1.47111 ],
- [ 0.0189561, 0.00659569 ],
- [ inf, inf, inf, inf ],
- [ 1021, 979, 1140, 1098 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1081, 1039 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (299): {
- 532,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049841,
- [ 115.639, 88.734, -19.9335 ],
- [ 7.88436, 73.5685, -1.46781 ],
- [ 0.0189656, 0.00659521 ],
- [ inf, inf, inf, inf ],
- [ 1021, 979, 1140, 1098 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1081, 1039 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (300): {
- 533,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049846,
- [ 116.029, 89.0333, -20.0067 ],
- [ 7.88737, 73.5642, -1.46307 ],
- [ 0.0189698, 0.00659522 ],
- [ inf, inf, inf, inf ],
- [ 1021, 980, 1140, 1099 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1081, 1040 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (301): {
- 534,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049879,
- [ 116.419, 89.3325, -20.0798 ],
- [ 7.89071, 73.5607, -1.46032 ],
- [ 0.0189786, 0.00659467 ],
- [ inf, inf, inf, inf ],
- [ 1021, 980, 1140, 1099 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1081, 1040 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (302): {
- 535,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049833,
- [ 116.809, 89.6314, -20.1526 ],
- [ 7.8943, 73.5577, -1.45907 ],
- [ 0.0189897, 0.00659389 ],
- [ inf, inf, inf, inf ],
- [ 1021, 981, 1140, 1100 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1081, 1041 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (303): {
- 536,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049819,
- [ 117.184, 89.9197, -20.219 ],
- [ 7.89708, 73.5539, -1.45893 ],
- [ 0.0189945, 0.00659328 ],
- [ inf, inf, inf, inf ],
- [ 1021, 982, 1140, 1101 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1081, 1042 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (304): {
- 537,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.04987,
- [ 117.55, 90.2, -20.2807 ],
- [ 7.89922, 73.5495, -1.45968 ],
- [ 0.0190037, 0.00659236 ],
- [ inf, inf, inf, inf ],
- [ 1021, 982, 1140, 1101 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1081, 1042 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (305): {
- 538,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049814,
- [ 117.942, 90.5012, -20.3491 ],
- [ 7.90113, 73.5456, -1.45946 ],
- [ 0.0190148, 0.00659127 ],
- [ inf, inf, inf, inf ],
- [ 1021, 983, 1140, 1102 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1081, 1043 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (306): {
- 539,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049845,
- [ 118.383, 90.8392, -20.4294 ],
- [ 7.90265, 73.5426, -1.45761 ],
- [ 0.01902, 0.00659089 ],
- [ inf, inf, inf, inf ],
- [ 1020, 984, 1139, 1103 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1080, 1044 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (307): {
- 540,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049843,
- [ 118.795, 91.1559, -20.5054 ],
- [ 7.90471, 73.5399, -1.45545 ],
- [ 0.0190292, 0.0065903 ],
- [ inf, inf, inf, inf ],
- [ 1020, 984, 1139, 1103 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1080, 1044 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (308): {
- 541,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049882,
- [ 119.186, 91.4554, -20.5781 ],
- [ 7.90723, 73.5373, -1.45303 ],
- [ 0.0190411, 0.00659599 ],
- [ inf, inf, inf, inf ],
- [ 1021, 985, 1140, 1104 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1081, 1045 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (309): {
- 542,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049751,
- [ 119.532, 91.7209, -20.6424 ],
- [ 7.90925, 73.5349, -1.45123 ],
- [ 0.0190534, 0.00659804 ],
- [ inf, inf, inf, inf ],
- [ 1021, 986, 1140, 1105 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1081, 1046 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (310): {
- 543,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049845,
- [ 119.842, 91.959, -20.7 ],
- [ 7.91088, 73.5325, -1.44993 ],
- [ 0.0190589, 0.00659935 ],
- [ inf, inf, inf, inf ],
- [ 1021, 987, 1140, 1106 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1081, 1047 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (311): {
- 544,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049899,
- [ 120.158, 92.2015, -20.7587 ],
- [ 7.91255, 73.53, -1.44869 ],
- [ 0.0190688, 0.00659948 ],
- [ inf, inf, inf, inf ],
- [ 1021, 987, 1140, 1106 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1081, 1047 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (312): {
- 545,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049774,
- [ 120.693, 92.6121, -20.8556 ],
- [ 7.91598, 73.5244, -1.44968 ],
- [ 0.0190731, 0.00659992 ],
- [ inf, inf, inf, inf ],
- [ 1022, 988, 1141, 1107 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1082, 1048 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (313): {
- 546,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049857,
- [ 121.157, 92.9681, -20.9397 ],
- [ 7.91942, 73.5202, -1.44971 ],
- [ 0.0190821, 0.00660006 ],
- [ inf, inf, inf, inf ],
- [ 1022, 989, 1141, 1108 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1082, 1049 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (314): {
- 547,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049833,
- [ 121.557, 93.2747, -21.0121 ],
- [ 7.92287, 73.5174, -1.44887 ],
- [ 0.0190933, 0.00659955 ],
- [ inf, inf, inf, inf ],
- [ 1022, 989, 1141, 1108 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1082, 1049 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (315): {
- 548,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049905,
- [ 121.951, 93.5776, -21.0844 ],
- [ 7.92569, 73.5146, -1.44777 ],
- [ 0.0191052, 0.00659875 ],
- [ inf, inf, inf, inf ],
- [ 1022, 990, 1141, 1109 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1082, 1050 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (316): {
- 549,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049781,
- [ 122.34, 93.876, -21.1564 ],
- [ 7.92793, 73.5119, -1.44644 ],
- [ 0.0191178, 0.00659821 ],
- [ inf, inf, inf, inf ],
- [ 1022, 991, 1141, 1110 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1082, 1051 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (317): {
- 550,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049853,
- [ 122.735, 94.1787, -21.2285 ],
- [ 7.92981, 73.5095, -1.44312 ],
- [ 0.0191304, 0.00659734 ],
- [ inf, inf, inf, inf ],
- [ 1022, 992, 1141, 1111 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1082, 1052 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (318): {
- 551,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049837,
- [ 123.134, 94.4849, -21.3005 ],
- [ 7.93135, 73.5073, -1.43794 ],
- [ 0.0191362, 0.00659683 ],
- [ inf, inf, inf, inf ],
- [ 1022, 993, 1141, 1112 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1082, 1053 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (319): {
- 552,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049842,
- [ 123.528, 94.7876, -21.3724 ],
- [ 7.9331, 73.5044, -1.43588 ],
- [ 0.0191459, 0.00659582 ],
- [ inf, inf, inf, inf ],
- [ 1022, 994, 1141, 1113 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1082, 1054 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (320): {
- 553,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049905,
- [ 123.919, 95.0872, -21.4443 ],
- [ 7.93506, 73.5009, -1.43682 ],
- [ 0.0191573, 0.00659466 ],
- [ inf, inf, inf, inf ],
- [ 1022, 994, 1141, 1113 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1082, 1054 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (321): {
- 554,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049844,
- [ 124.314, 95.39, -21.5161 ],
- [ 7.93652, 73.4981, -1.43594 ],
- [ 0.0191625, 0.00659412 ],
- [ inf, inf, inf, inf ],
- [ 1022, 995, 1141, 1114 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1082, 1055 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (322): {
- 555,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049846,
- [ 124.713, 95.6963, -21.5877 ],
- [ 7.9375, 73.4962, -1.43329 ],
- [ 0.0191718, 0.00659327 ],
- [ inf, inf, inf, inf ],
- [ 1022, 996, 1141, 1115 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1082, 1056 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (323): {
- 556,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049777,
- [ 125.094, 95.9891, -21.6397 ],
- [ 7.93917, 73.4935, -1.432 ],
- [ 0.0191828, 0.00659259 ],
- [ inf, inf, inf, inf ],
- [ 1022, 996, 1141, 1115 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1082, 1056 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (324): {
- 557,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049909,
- [ 125.46, 96.2696, -21.6721 ],
- [ 7.94154, 73.4901, -1.43206 ],
- [ 0.0191947, 0.00659207 ],
- [ inf, inf, inf, inf ],
- [ 1022, 997, 1141, 1116 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1082, 1057 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (325): {
- 558,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049807,
- [ 125.835, 96.5576, -21.7185 ],
- [ 7.94323, 73.4868, -1.43016 ],
- [ 0.0192071, 0.00659127 ],
- [ inf, inf, inf, inf ],
- [ 1022, 998, 1141, 1117 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1082, 1058 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (326): {
- 559,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049887,
- [ 126.235, 96.8645, -21.7969 ],
- [ 7.94342, 73.4837, -1.42383 ],
- [ 0.0192125, 0.00659107 ],
- [ inf, inf, inf, inf ],
- [ 1022, 999, 1141, 1118 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1082, 1059 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (327): {
- 560,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049841,
- [ 126.633, 97.1699, -21.8713 ],
- [ 7.94461, 73.4809, -1.41961 ],
- [ 0.0192222, 0.00659019 ],
- [ inf, inf, inf, inf ],
- [ 1022, 1000, 1141, 1119 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1082, 1060 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (328): {
- 561,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049847,
- [ 127.03, 97.4742, -21.9415 ],
- [ 7.94685, 73.4783, -1.41761 ],
- [ 0.0192339, 0.00659554 ],
- [ inf, inf, inf, inf ],
- [ 1022, 1000, 1141, 1119 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1082, 1060 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (329): {
- 562,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.04978,
- [ 127.39, 97.7506, -22.0053 ],
- [ 7.94816, 73.4758, -1.4159 ],
- [ 0.019239, 0.00659844 ],
- [ inf, inf, inf, inf ],
- [ 1022, 1001, 1141, 1120 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1082, 1061 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (330): {
- 563,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.04991,
- [ 127.71, 97.9965, -22.062 ],
- [ 7.94843, 73.4734, -1.41453 ],
- [ 0.0192485, 0.00659947 ],
- [ inf, inf, inf, inf ],
- [ 1022, 1002, 1141, 1121 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1082, 1062 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (331): {
- 564,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049849,
- [ 128.03, 98.2421, -22.1186 ],
- [ 7.9487, 73.4709, -1.41315 ],
- [ 0.0192592, 0.00660006 ],
- [ inf, inf, inf, inf ],
- [ 1023, 1002, 1142, 1121 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1083, 1062 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (332): {
- 565,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049836,
- [ 128.558, 98.6469, -22.2116 ],
- [ 7.95115, 73.4679, -1.41054 ],
- [ 0.019265, 0.00659959 ],
- [ inf, inf, inf, inf ],
- [ 1023, 1003, 1142, 1122 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1083, 1063 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (333): {
- 566,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049859,
- [ 129.024, 99.0041, -22.2944 ],
- [ 7.95311, 73.4656, -1.40822 ],
- [ 0.0192739, 0.0065992 ],
- [ inf, inf, inf, inf ],
- [ 1023, 1004, 1142, 1123 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1083, 1064 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (334): {
- 567,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049829,
- [ 129.411, 99.3012, -22.3641 ],
- [ 7.95442, 73.4641, -1.40631 ],
- [ 0.019285, 0.00659851 ],
- [ inf, inf, inf, inf ],
- [ 1023, 1004, 1142, 1123 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1083, 1064 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (335): {
- 568,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049841,
- [ 129.804, 99.6033, -22.4343 ],
- [ 7.95606, 73.4618, -1.40638 ],
- [ 0.0192967, 0.00659761 ],
- [ inf, inf, inf, inf ],
- [ 1023, 1005, 1142, 1124 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1083, 1065 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (336): {
- 569,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049846,
- [ 130.206, 99.9113, -22.505 ],
- [ 7.9581, 73.4585, -1.40887 ],
- [ 0.0193021, 0.0065973 ],
- [ inf, inf, inf, inf ],
- [ 1023, 1006, 1142, 1125 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1083, 1066 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (337): {
- 570,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049875,
- [ 130.606, 100.219, -22.5756 ],
- [ 7.96002, 73.4549, -1.40915 ],
- [ 0.0193117, 0.00659669 ],
- [ inf, inf, inf, inf ],
- [ 1023, 1006, 1142, 1125 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1083, 1066 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (338): {
- 571,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049842,
- [ 131.006, 100.525, -22.6458 ],
- [ 7.9618, 73.4512, -1.40677 ],
- [ 0.0193231, 0.00659589 ],
- [ inf, inf, inf, inf ],
- [ 1023, 1007, 1142, 1126 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1083, 1067 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (339): {
- 572,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.04982,
- [ 131.4, 100.828, -22.7159 ],
- [ 7.96412, 73.4486, -1.40403 ],
- [ 0.0193352, 0.00659477 ],
- [ inf, inf, inf, inf ],
- [ 1023, 1008, 1142, 1127 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1083, 1068 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (340): {
- 573,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049837,
- [ 131.79, 101.127, -22.7858 ],
- [ 7.96711, 73.4474, -1.40083 ],
- [ 0.0193479, 0.00659364 ],
- [ inf, inf, inf, inf ],
- [ 1023, 1009, 1142, 1128 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1083, 1069 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (341): {
- 574,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049846,
- [ 132.184, 101.429, -22.8556 ],
- [ 7.96899, 73.4451, -1.39852 ],
- [ 0.0193536, 0.006593 ],
- [ inf, inf, inf, inf ],
- [ 1023, 1010, 1142, 1129 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1083, 1070 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (342): {
- 575,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049852,
- [ 132.583, 101.735, -22.9253 ],
- [ 7.96948, 73.4416, -1.39732 ],
- [ 0.0193633, 0.0065923 ],
- [ inf, inf, inf, inf ],
- [ 1022, 1011, 1141, 1130 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1082, 1071 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (343): {
- 576,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049832,
- [ 132.967, 102.03, -22.997 ],
- [ 7.96934, 73.439, -1.39592 ],
- [ 0.0193747, 0.00659159 ],
- [ inf, inf, inf, inf ],
- [ 1023, 1011, 1142, 1130 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1083, 1071 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (344): {
- 577,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049848,
- [ 133.333, 102.311, -23.0711 ],
- [ 7.96839, 73.4376, -1.39424 ],
- [ 0.019387, 0.00659095 ],
- [ inf, inf, inf, inf ],
- [ 1023, 1012, 1142, 1131 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1083, 1072 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (345): {
- 578,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049841,
- [ 133.706, 102.597, -23.1459 ],
- [ 7.96689, 73.4361, -1.39296 ],
- [ 0.0193925, 0.00659067 ],
- [ inf, inf, inf, inf ],
- [ 1023, 1013, 1142, 1132 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1083, 1073 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (346): {
- 579,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049843,
- [ 134.106, 102.904, -23.2227 ],
- [ 7.96369, 73.4345, -1.39291 ],
- [ 0.0194021, 0.00658979 ],
- [ inf, inf, inf, inf ],
- [ 1023, 1014, 1142, 1133 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1083, 1074 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (347): {
- 580,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049845,
- [ 134.506, 103.211, -23.2963 ],
- [ 7.9623, 73.4325, -1.39312 ],
- [ 0.0194131, 0.00658905 ],
- [ inf, inf, inf, inf ],
- [ 1023, 1014, 1142, 1133 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1083, 1074 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (348): {
- 581,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049845,
- [ 134.904, 103.517, -23.3656 ],
- [ 7.96333, 73.4298, -1.39367 ],
- [ 0.019425, 0.00658816 ],
- [ inf, inf, inf, inf ],
- [ 1022, 1015, 1141, 1134 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1082, 1075 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (349): {
- 582,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049875,
- [ 135.266, 103.794, -23.4291 ],
- [ 7.96429, 73.4277, -1.39311 ],
- [ 0.0194304, 0.00658797 ],
- [ inf, inf, inf, inf ],
- [ 1023, 1016, 1142, 1135 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1083, 1076 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (350): {
- 583,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049827,
- [ 135.577, 104.033, -23.4844 ],
- [ 7.96518, 73.4262, -1.39103 ],
- [ 0.0194399, 0.00658774 ],
- [ inf, inf, inf, inf ],
- [ 1023, 1017, 1142, 1136 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1083, 1077 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (351): {
- 584,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.04977,
- [ 135.887, 104.271, -23.5396 ],
- [ 7.96606, 73.4248, -1.38895 ],
- [ 0.0194505, 0.00658761 ],
- [ inf, inf, inf, inf ],
- [ 1023, 1017, 1142, 1136 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1083, 1077 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (352): {
- 585,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.0499,
- [ 136.402, 104.666, -23.629 ],
- [ 7.9682, 73.4221, -1.38716 ],
- [ 0.0194635, 0.00658556 ],
- [ inf, inf, inf, inf ],
- [ 1022, 1018, 1141, 1137 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1082, 1078 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (353): {
- 586,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049844,
- [ 136.886, 105.037, -23.712 ],
- [ 7.97003, 73.4197, -1.38324 ],
- [ 0.0194686, 0.00658545 ],
- [ inf, inf, inf, inf ],
- [ 1023, 1019, 1142, 1138 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1083, 1079 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (354): {
- 587,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049845,
- [ 137.294, 105.35, -23.7809 ],
- [ 7.97122, 73.418, -1.37617 ],
- [ 0.0194778, 0.00658485 ],
- [ inf, inf, inf, inf ],
- [ 1023, 1020, 1142, 1139 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1083, 1080 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (355): {
- 588,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049846,
- [ 137.695, 105.658, -23.8494 ],
- [ 7.97161, 73.4158, -1.37019 ],
- [ 0.0194888, 0.00658416 ],
- [ inf, inf, inf, inf ],
- [ 1023, 1020, 1142, 1139 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1083, 1080 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (356): {
- 589,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049841,
- [ 138.085, 105.957, -23.9176 ],
- [ 7.97084, 73.413, -1.36581 ],
- [ 0.0194936, 0.00658399 ],
- [ inf, inf, inf, inf ],
- [ 1023, 1021, 1142, 1140 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1083, 1081 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (357): {
- 590,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.04986,
- [ 138.478, 106.259, -23.9856 ],
- [ 7.97003, 73.4107, -1.35875 ],
- [ 0.0195025, 0.00658335 ],
- [ inf, inf, inf, inf ],
- [ 1023, 1021, 1142, 1140 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1083, 1081 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (358): {
- 591,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049872,
- [ 138.878, 106.565, -24.0532 ],
- [ 7.96917, 73.4094, -1.34763 ],
- [ 0.0195133, 0.00658262 ],
- [ inf, inf, inf, inf ],
- [ 1023, 1022, 1142, 1141 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1083, 1082 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (359): {
- 592,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049799,
- [ 139.277, 106.871, -24.1203 ],
- [ 7.96831, 73.4085, -1.33759 ],
- [ 0.0195179, 0.00658184 ],
- [ inf, inf, inf, inf ],
- [ 1022, 1023, 1141, 1142 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1082, 1083 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (360): {
- 593,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049881,
- [ 139.676, 107.178, -24.1868 ],
- [ 7.96746, 73.4083, -1.32921 ],
- [ 0.0195195, 0.00658143 ],
- [ inf, inf, inf, inf ],
- [ 1022, 1023, 1141, 1142 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1082, 1083 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (361): {
- 594,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049795,
- [ 140.071, 107.481, -24.2527 ],
- [ 7.96765, 73.4072, -1.31742 ],
- [ 0.0195267, 0.00658067 ],
- [ inf, inf, inf, inf ],
- [ 1022, 1023, 1141, 1142 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1082, 1083 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (362): {
- 595,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049871,
- [ 140.461, 107.78, -24.318 ],
- [ 7.96953, 73.4047, -1.30015 ],
- [ 0.0195297, 0.00658009 ],
- [ inf, inf, inf, inf ],
- [ 1022, 1024, 1141, 1143 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1082, 1084 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (363): {
- 596,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049846,
- [ 140.842, 108.072, -24.3821 ],
- [ 7.9704, 73.4036, -1.284 ],
- [ 0.0195377, 0.00657926 ],
- [ inf, inf, inf, inf ],
- [ 1022, 1024, 1141, 1143 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1082, 1084 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (364): {
- 597,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049844,
- [ 141.207, 108.352, -24.4444 ],
- [ 7.96963, 73.4044, -1.26969 ],
- [ 0.019541, 0.00657871 ],
- [ inf, inf, inf, inf ],
- [ 1022, 1024, 1141, 1143 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1082, 1084 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (365): {
- 598,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049826,
- [ 141.581, 108.64, -24.5079 ],
- [ 7.96884, 73.4049, -1.25575 ],
- [ 0.0195418, 0.00657217 ],
- [ inf, inf, inf, inf ],
- [ 1022, 1025, 1141, 1144 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1082, 1085 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (366): {
- 599,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.04987,
- [ 142.002, 108.962, -24.5767 ],
- [ 7.96797, 73.4036, -1.24339 ],
- [ 0.0195417, 0.00656917 ],
- [ inf, inf, inf, inf ],
- [ 1022, 1025, 1141, 1144 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1082, 1085 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (367): {
- 600,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049815,
- [ 142.414, 109.279, -24.6426 ],
- [ 7.96668, 73.4028, -1.22984 ],
- [ 0.0195417, 0.00656773 ],
- [ inf, inf, inf, inf ],
- [ 1021, 1025, 1140, 1144 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1081, 1085 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (368): {
- 601,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049816,
- [ 142.813, 109.585, -24.7034 ],
- [ 7.96465, 73.4026, -1.21418 ],
- [ 0.019541, 0.00656074 ],
- [ inf, inf, inf, inf ],
- [ 1021, 1025, 1140, 1144 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1081, 1085 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (369): {
- 602,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049811,
- [ 143.183, 109.868, -24.7592 ],
- [ 7.96337, 73.4031, -1.19707 ],
- [ 0.0195406, 0.00655734 ],
- [ inf, inf, inf, inf ],
- [ 1020, 1025, 1139, 1144 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1080, 1085 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (370): {
- 603,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049905,
- [ 143.501, 110.113, -24.8063 ],
- [ 7.96339, 73.4045, -1.17733 ],
- [ 0.01954, 0.00654928 ],
- [ inf, inf, inf, inf ],
- [ 1020, 1025, 1139, 1144 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1080, 1085 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (371): {
- 604,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049845,
- [ 143.82, 110.357, -24.8534 ],
- [ 7.96342, 73.406, -1.15761 ],
- [ 0.0195425, 0.00654791 ],
- [ inf, inf, inf, inf ],
- [ 1020, 1025, 1139, 1144 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1080, 1085 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (372): {
- 605,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049845,
- [ 144.31, 110.734, -24.9246 ],
- [ 7.96428, 73.4068, -1.12626 ],
- [ 0.0195357, 0.00653458 ],
- [ inf, inf, inf, inf ],
- [ 1018, 1024, 1137, 1143 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1078, 1084 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (373): {
- 606,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049847,
- [ 144.793, 111.105, -24.9927 ],
- [ 7.96507, 73.4075, -1.09436 ],
- [ 0.0195355, 0.00652509 ],
- [ inf, inf, inf, inf ],
- [ 1018, 1024, 1137, 1143 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1078, 1084 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (374): {
- 607,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049839,
- [ 145.202, 111.418, -25.0464 ],
- [ 7.96545, 73.4087, -1.06548 ],
- [ 0.019535, 0.00651388 ],
- [ inf, inf, inf, inf ],
- [ 1017, 1024, 1136, 1143 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1077, 1084 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (375): {
- 608,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049871,
- [ 145.604, 111.726, -25.0991 ],
- [ 7.9659, 73.4105, -1.03684 ],
- [ 0.0195342, 0.00650219 ],
- [ inf, inf, inf, inf ],
- [ 1016, 1024, 1135, 1143 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1076, 1084 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (376): {
- 609,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.04975,
- [ 145.993, 112.025, -25.1499 ],
- [ 7.96647, 73.4138, -1.00877 ],
- [ 0.0195336, 0.00649 ],
- [ inf, inf, inf, inf ],
- [ 1015, 1024, 1134, 1143 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1075, 1084 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (377): {
- 610,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049935,
- [ 146.387, 112.327, -25.1997 ],
- [ 7.96824, 73.4167, -0.977853 ],
- [ 0.0195334, 0.00648425 ],
- [ inf, inf, inf, inf ],
- [ 1014, 1024, 1133, 1143 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1074, 1084 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (378): {
- 611,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049856,
- [ 146.786, 112.633, -25.2473 ],
- [ 7.97238, 73.4189, -0.941537 ],
- [ 0.0195261, 0.00647577 ],
- [ inf, inf, inf, inf ],
- [ 1013, 1024, 1132, 1143 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1073, 1084 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (379): {
- 612,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049817,
- [ 147.185, 112.94, -25.2937 ],
- [ 7.97513, 73.4218, -0.905121 ],
- [ 0.0195227, 0.00646558 ],
- [ inf, inf, inf, inf ],
- [ 1012, 1024, 1131, 1143 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1072, 1084 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (380): {
- 613,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049768,
- [ 147.583, 113.245, -25.3375 ],
- [ 7.97503, 73.4262, -0.868478 ],
- [ 0.019521, 0.00645487 ],
- [ inf, inf, inf, inf ],
- [ 1011, 1024, 1130, 1143 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1071, 1084 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (381): {
- 614,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049849,
- [ 147.982, 113.552, -25.3802 ],
- [ 7.97543, 73.4308, -0.830631 ],
- [ 0.0195201, 0.00644374 ],
- [ inf, inf, inf, inf ],
- [ 1010, 1024, 1129, 1143 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1070, 1084 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (382): {
- 615,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049894,
- [ 148.382, 113.858, -25.4204 ],
- [ 7.97688, 73.4362, -0.790323 ],
- [ 0.0195193, 0.0064322 ],
- [ inf, inf, inf, inf ],
- [ 1009, 1023, 1128, 1142 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1069, 1083 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (383): {
- 616,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049801,
- [ 148.77, 114.156, -25.4656 ],
- [ 7.97845, 73.4416, -0.751014 ],
- [ 0.0195187, 0.00642059 ],
- [ inf, inf, inf, inf ],
- [ 1008, 1024, 1127, 1143 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1068, 1084 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (384): {
- 617,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049886,
- [ 149.136, 114.437, -25.5216 ],
- [ 7.98031, 73.4472, -0.713648 ],
- [ 0.0195181, 0.00640919 ],
- [ inf, inf, inf, inf ],
- [ 1007, 1024, 1126, 1143 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1067, 1084 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (385): {
- 618,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049845,
- [ 149.508, 114.722, -25.5749 ],
- [ 7.98216, 73.4528, -0.674951 ],
- [ 0.0195105, 0.00639851 ],
- [ inf, inf, inf, inf ],
- [ 1007, 1023, 1126, 1142 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1067, 1083 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (386): {
- 619,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049841,
- [ 149.927, 115.044, -25.6097 ],
- [ 7.98396, 73.4586, -0.626709 ],
- [ 0.0195139, 0.00638671 ],
- [ inf, inf, inf, inf ],
- [ 1006, 1023, 1125, 1142 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1066, 1083 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (387): {
- 620,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049832,
- [ 150.338, 115.359, -25.6422 ],
- [ 7.985, 73.4651, -0.57895 ],
- [ 0.0195152, 0.00637508 ],
- [ inf, inf, inf, inf ],
- [ 1004, 1023, 1123, 1142 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1064, 1083 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (388): {
- 621,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049854,
- [ 150.727, 115.658, -25.6695 ],
- [ 7.98426, 73.4734, -0.532255 ],
- [ 0.0195155, 0.00636346 ],
- [ inf, inf, inf, inf ],
- [ 1003, 1024, 1122, 1143 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1063, 1084 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (389): {
- 622,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049852,
- [ 151.096, 115.941, -25.694 ],
- [ 7.9843, 73.4812, -0.489377 ],
- [ 0.0195154, 0.00635189 ],
- [ inf, inf, inf, inf ],
- [ 1002, 1024, 1121, 1143 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1062, 1084 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (390): {
- 623,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049847,
- [ 151.415, 116.185, -25.7122 ],
- [ 7.98617, 73.488, -0.455514 ],
- [ 0.0195149, 0.00634033 ],
- [ inf, inf, inf, inf ],
- [ 1001, 1024, 1120, 1143 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1061, 1084 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (391): {
- 624,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049814,
- [ 151.733, 116.429, -25.7304 ],
- [ 7.98803, 73.4949, -0.421673 ],
- [ 0.0195171, 0.00633437 ],
- [ inf, inf, inf, inf ],
- [ 1001, 1024, 1120, 1143 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1061, 1084 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (392): {
- 625,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049893,
- [ 152.221, 116.804, -25.7535 ],
- [ 7.98843, 73.5063, -0.361914 ],
- [ 0.0195119, 0.00630819 ],
- [ inf, inf, inf, inf ],
- [ 999, 1024, 1118, 1143 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1059, 1084 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (393): {
- 626,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049827,
- [ 152.716, 117.184, -25.7748 ],
- [ 7.98791, 73.5181, -0.300997 ],
- [ 0.0195119, 0.00629561 ],
- [ inf, inf, inf, inf ],
- [ 998, 1024, 1117, 1143 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1058, 1084 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (394): {
- 627,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049787,
- [ 153.115, 117.49, -25.7882 ],
- [ 7.98609, 73.5276, -0.255109 ],
- [ 0.0195187, 0.00628313 ],
- [ inf, inf, inf, inf ],
- [ 997, 1024, 1116, 1143 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1057, 1084 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (395): {
- 628,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.0499,
- [ 153.515, 117.797, -25.8004 ],
- [ 7.98488, 73.5381, -0.208048 ],
- [ 0.0195214, 0.00627078 ],
- [ inf, inf, inf, inf ],
- [ 996, 1024, 1115, 1143 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1056, 1084 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (396): {
- 629,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049839,
- [ 153.914, 118.103, -25.8091 ],
- [ 7.98523, 73.5507, -0.158285 ],
- [ 0.0195223, 0.00625861 ],
- [ inf, inf, inf, inf ],
- [ 994, 1025, 1113, 1144 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1054, 1085 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (397): {
- 630,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049848,
- [ 154.314, 118.41, -25.8165 ],
- [ 7.98547, 73.5628, -0.109216 ],
- [ 0.0195292, 0.00624651 ],
- [ inf, inf, inf, inf ],
- [ 993, 1025, 1112, 1144 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1053, 1085 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (398): {
- 631,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049849,
- [ 154.713, 118.716, -25.8204 ],
- [ 7.98541, 73.5736, -0.0620129 ],
- [ 0.0195323, 0.00623486 ],
- [ inf, inf, inf, inf ],
- [ 992, 1025, 1111, 1144 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1052, 1085 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (399): {
- 632,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049841,
- [ 155.112, 119.022, -25.8229 ],
- [ 7.98572, 73.5846, -0.013998 ],
- [ 0.0195336, 0.00622371 ],
- [ inf, inf, inf, inf ],
- [ 992, 1026, 1111, 1145 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1052, 1086 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (400): {
- 633,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049846,
- [ 155.511, 119.328, -25.8218 ],
- [ 7.98699, 73.5963, 0.0362627 ],
- [ 0.0195341, 0.00621243 ],
- [ inf, inf, inf, inf ],
- [ 991, 1026, 1110, 1145 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1051, 1086 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (401): {
- 634,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049841,
- [ 155.91, 119.634, -25.8194 ],
- [ 7.98721, 73.6091, 0.0862602 ],
- [ 0.019541, 0.0062006 ],
- [ inf, inf, inf, inf ],
- [ 990, 1026, 1109, 1145 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1050, 1086 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (402): {
- 635,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049852,
- [ 156.309, 119.941, -25.8134 ],
- [ 7.98446, 73.6248, 0.135539 ],
- [ 0.0195438, 0.00618891 ],
- [ inf, inf, inf, inf ],
- [ 989, 1027, 1108, 1146 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1049, 1087 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (403): {
- 636,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049835,
- [ 156.697, 120.238, -25.8008 ],
- [ 7.98246, 73.6394, 0.183778 ],
- [ 0.0195448, 0.00618372 ],
- [ inf, inf, inf, inf ],
- [ 988, 1027, 1107, 1146 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1048, 1087 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (404): {
- 637,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049845,
- [ 157.054, 120.512, -25.7692 ],
- [ 7.9827, 73.6508, 0.22903 ],
- [ 0.0195448, 0.00617518 ],
- [ inf, inf, inf, inf ],
- [ 987, 1027, 1106, 1146 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1047, 1087 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (405): {
- 638,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049848,
- [ 157.413, 120.788, -25.7384 ],
- [ 7.98261, 73.6628, 0.275046 ],
- [ 0.0195517, 0.00616514 ],
- [ inf, inf, inf, inf ],
- [ 987, 1027, 1106, 1146 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1047, 1087 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (406): {
- 639,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049869,
- [ 157.823, 121.103, -25.7206 ],
- [ 7.97742, 73.6829, 0.332998 ],
- [ 0.019554, 0.00615375 ],
- [ inf, inf, inf, inf ],
- [ 986, 1028, 1105, 1147 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1046, 1088 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (407): {
- 640,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049753,
- [ 158.23, 121.414, -25.702 ],
- [ 7.97269, 73.7021, 0.388662 ],
- [ 0.019555, 0.00614906 ],
- [ inf, inf, inf, inf ],
- [ 985, 1028, 1104, 1147 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1045, 1088 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (408): {
- 641,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049923,
- [ 158.63, 121.721, -25.6808 ],
- [ 7.96932, 73.7189, 0.437742 ],
- [ 0.019562, 0.00614002 ],
- [ inf, inf, inf, inf ],
- [ 984, 1028, 1103, 1147 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1044, 1088 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (409): {
- 642,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.0499,
- [ 159.01, 122.013, -25.6597 ],
- [ 7.96668, 73.7349, 0.484846 ],
- [ 0.0195647, 0.00612971 ],
- [ inf, inf, inf, inf ],
- [ 984, 1029, 1103, 1148 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1044, 1089 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (410): {
- 643,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049788,
- [ 159.327, 122.257, -25.6389 ],
- [ 7.96633, 73.7484, 0.525585 ],
- [ 0.019566, 0.00612521 ],
- [ inf, inf, inf, inf ],
- [ 983, 1029, 1102, 1148 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1043, 1089 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (411): {
- 644,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049846,
- [ 159.645, 122.5, -25.618 ],
- [ 7.96598, 73.7618, 0.566372 ],
- [ 0.0195752, 0.00612046 ],
- [ inf, inf, inf, inf ],
- [ 983, 1029, 1102, 1148 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1043, 1089 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (412): {
- 645,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049847,
- [ 160.12, 122.864, -25.5819 ],
- [ 7.96549, 73.7806, 0.627506 ],
- [ 0.019575, 0.00610406 ],
- [ inf, inf, inf, inf ],
- [ 981, 1029, 1100, 1148 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1041, 1089 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (413): {
- 646,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049846,
- [ 160.623, 123.251, -25.5411 ],
- [ 7.96506, 73.8012, 0.692432 ],
- [ 0.0195766, 0.0060942 ],
- [ inf, inf, inf, inf ],
- [ 981, 1030, 1100, 1149 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1041, 1090 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (414): {
- 647,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049807,
- [ 161.013, 123.55, -25.5048 ],
- [ 7.96509, 73.8205, 0.742657 ],
- [ 0.0195769, 0.00608288 ],
- [ inf, inf, inf, inf ],
- [ 980, 1030, 1099, 1149 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1040, 1090 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (415): {
- 648,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.04988,
- [ 161.405, 123.851, -25.4673 ],
- [ 7.96462, 73.8397, 0.79251 ],
- [ 0.0195834, 0.00607117 ],
- [ inf, inf, inf, inf ],
- [ 979, 1030, 1098, 1149 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1039, 1090 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (416): {
- 649,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049898,
- [ 161.805, 124.157, -25.4259 ],
- [ 7.96234, 73.8585, 0.840783 ],
- [ 0.019586, 0.00605919 ],
- [ inf, inf, inf, inf ],
- [ 978, 1031, 1097, 1150 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1038, 1091 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (417): {
- 650,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049785,
- [ 162.203, 124.463, -25.3836 ],
- [ 7.9601, 73.8771, 0.889702 ],
- [ 0.0195943, 0.00605347 ],
- [ inf, inf, inf, inf ],
- [ 977, 1031, 1096, 1150 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1037, 1091 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (418): {
- 651,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049845,
- [ 162.602, 124.769, -25.3372 ],
- [ 7.95804, 73.8949, 0.941487 ],
- [ 0.0195976, 0.00604426 ],
- [ inf, inf, inf, inf ],
- [ 976, 1031, 1095, 1150 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1036, 1091 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (419): {
- 652,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049858,
- [ 163, 125.074, -25.2897 ],
- [ 7.95619, 73.9133, 0.993474 ],
- [ 0.0195989, 0.00603387 ],
- [ inf, inf, inf, inf ],
- [ 976, 1032, 1095, 1151 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1036, 1092 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (420): {
- 653,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049844,
- [ 163.389, 125.373, -25.2381 ],
- [ 7.95514, 73.9337, 1.04617 ],
- [ 0.0195989, 0.00602256 ],
- [ inf, inf, inf, inf ],
- [ 975, 1032, 1094, 1151 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1035, 1092 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (421): {
- 654,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049837,
- [ 163.783, 125.675, -25.1854 ],
- [ 7.95405, 73.9545, 1.09844 ],
- [ 0.0195986, 0.00601123 ],
- [ inf, inf, inf, inf ],
- [ 974, 1032, 1093, 1151 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1034, 1092 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (422): {
- 655,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049817,
- [ 164.191, 125.988, -25.1287 ],
- [ 7.95282, 73.9767, 1.14899 ],
- [ 0.0196051, 0.00599925 ],
- [ inf, inf, inf, inf ],
- [ 973, 1032, 1092, 1151 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1033, 1092 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (423): {
- 656,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049916,
- [ 164.59, 126.294, -25.0664 ],
- [ 7.95166, 73.9982, 1.19896 ],
- [ 0.019608, 0.00599397 ],
- [ inf, inf, inf, inf ],
- [ 972, 1033, 1091, 1152 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1032, 1093 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (424): {
- 657,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049814,
- [ 164.946, 126.568, -24.9813 ],
- [ 7.95084, 74.0168, 1.24598 ],
- [ 0.0196088, 0.00598516 ],
- [ inf, inf, inf, inf ],
- [ 971, 1033, 1090, 1152 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1031, 1093 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (425): {
- 658,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.04986,
- [ 165.302, 126.841, -24.8961 ],
- [ 7.95002, 74.0354, 1.29305 ],
- [ 0.0196162, 0.00597554 ],
- [ inf, inf, inf, inf ],
- [ 971, 1033, 1090, 1152 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1031, 1093 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (426): {
- 659,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049804,
- [ 165.732, 127.171, -24.8223 ],
- [ 7.94885, 74.0663, 1.34994 ],
- [ 0.0196177, 0.00596223 ],
- [ inf, inf, inf, inf ],
- [ 970, 1033, 1089, 1152 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1030, 1093 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (427): {
- 660,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049825,
- [ 166.155, 127.495, -24.7489 ],
- [ 7.94735, 74.0958, 1.40605 ],
- [ 0.0196186, 0.00595107 ],
- [ inf, inf, inf, inf ],
- [ 969, 1034, 1088, 1153 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1029, 1094 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (428): {
- 661,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049929,
- [ 166.545, 127.795, -24.6765 ],
- [ 7.9443, 74.119, 1.45851 ],
- [ 0.0196191, 0.00594619 ],
- [ inf, inf, inf, inf ],
- [ 968, 1034, 1087, 1153 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1028, 1094 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (429): {
- 662,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049779,
- [ 166.922, 128.084, -24.6062 ],
- [ 7.94173, 74.1412, 1.50908 ],
- [ 0.019619, 0.00593783 ],
- [ inf, inf, inf, inf ],
- [ 967, 1034, 1086, 1153 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1027, 1094 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (430): {
- 663,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049888,
- [ 167.241, 128.329, -24.5444 ],
- [ 7.94135, 74.1596, 1.55164 ],
- [ 0.0196256, 0.00592709 ],
- [ inf, inf, inf, inf ],
- [ 967, 1034, 1086, 1153 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1027, 1094 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (431): {
- 664,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049793,
- [ 167.559, 128.572, -24.4827 ],
- [ 7.94098, 74.1779, 1.59411 ],
- [ 0.0196305, 0.00592594 ],
- [ inf, inf, inf, inf ],
- [ 967, 1035, 1086, 1154 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1027, 1095 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (432): {
- 665,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049844,
- [ 168.012, 128.92, -24.3886 ],
- [ 7.93934, 74.2064, 1.65447 ],
- [ 0.0196281, 0.00591223 ],
- [ inf, inf, inf, inf ],
- [ 965, 1035, 1084, 1154 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1025, 1095 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (433): {
- 666,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049859,
- [ 168.515, 129.306, -24.2813 ],
- [ 7.93722, 74.2388, 1.72195 ],
- [ 0.0196286, 0.00590342 ],
- [ inf, inf, inf, inf ],
- [ 965, 1035, 1084, 1154 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1025, 1095 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (434): {
- 667,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049825,
- [ 168.91, 129.61, -24.1938 ],
- [ 7.93598, 74.2635, 1.77799 ],
- [ 0.0196288, 0.00589954 ],
- [ inf, inf, inf, inf ],
- [ 964, 1035, 1083, 1154 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1024, 1095 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (435): {
- 668,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049834,
- [ 169.307, 129.914, -24.1054 ],
- [ 7.93483, 74.2883, 1.83369 ],
- [ 0.0196355, 0.00589113 ],
- [ inf, inf, inf, inf ],
- [ 964, 1035, 1083, 1154 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1024, 1095 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (436): {
- 669,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.04986,
- [ 169.709, 130.223, -24.0111 ],
- [ 7.93419, 74.3139, 1.88727 ],
- [ 0.0196385, 0.00588759 ],
- [ inf, inf, inf, inf ],
- [ 963, 1035, 1082, 1154 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1023, 1095 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (437): {
- 670,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049841,
- [ 170.109, 130.53, -23.9161 ],
- [ 7.93358, 74.3398, 1.94114 ],
- [ 0.0196395, 0.00587971 ],
- [ inf, inf, inf, inf ],
- [ 963, 1036, 1082, 1155 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1023, 1096 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (438): {
- 671,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049839,
- [ 170.499, 130.829, -23.8172 ],
- [ 7.93313, 74.3669, 1.99685 ],
- [ 0.0196395, 0.00586984 ],
- [ inf, inf, inf, inf ],
- [ 962, 1036, 1081, 1155 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1022, 1096 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (439): {
- 672,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049843,
- [ 170.89, 131.129, -23.7175 ],
- [ 7.93245, 74.394, 2.05196 ],
- [ 0.0196396, 0.00586541 ],
- [ inf, inf, inf, inf ],
- [ 961, 1036, 1080, 1155 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1021, 1096 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (440): {
- 673,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049816,
- [ 171.289, 131.435, -23.6131 ],
- [ 7.93041, 74.4214, 2.10342 ],
- [ 0.0196461, 0.00585651 ],
- [ inf, inf, inf, inf ],
- [ 961, 1036, 1080, 1155 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1021, 1096 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (441): {
- 674,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049918,
- [ 171.688, 131.741, -23.5078 ],
- [ 7.92856, 74.4491, 2.15487 ],
- [ 0.019649, 0.00585267 ],
- [ inf, inf, inf, inf ],
- [ 960, 1036, 1079, 1155 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1020, 1096 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (442): {
- 675,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049837,
- [ 172.078, 132.04, -23.3982 ],
- [ 7.92788, 74.4787, 2.20548 ],
- [ 0.01965, 0.00584416 ],
- [ inf, inf, inf, inf ],
- [ 960, 1037, 1079, 1156 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1020, 1097 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (443): {
- 676,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049804,
- [ 172.464, 132.336, -23.2931 ],
- [ 7.9273, 74.5077, 2.25613 ],
- [ 0.0196506, 0.00584071 ],
- [ inf, inf, inf, inf ],
- [ 959, 1037, 1078, 1156 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1019, 1097 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (444): {
- 677,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049847,
- [ 172.828, 132.616, -23.2173 ],
- [ 7.92745, 74.5327, 2.30742 ],
- [ 0.0196504, 0.0058328 ],
- [ inf, inf, inf, inf ],
- [ 959, 1037, 1078, 1156 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1019, 1097 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (445): {
- 678,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049862,
- [ 173.193, 132.896, -23.1415 ],
- [ 7.92759, 74.5577, 2.35871 ],
- [ 0.0196511, 0.00583026 ],
- [ inf, inf, inf, inf ],
- [ 958, 1037, 1077, 1156 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1018, 1097 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (446): {
- 679,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049777,
- [ 173.6, 133.208, -23.0135 ],
- [ 7.92433, 74.596, 2.40622 ],
- [ 0.0196561, 0.00582068 ],
- [ inf, inf, inf, inf ],
- [ 958, 1037, 1077, 1156 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1018, 1097 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (447): {
- 680,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.04989,
- [ 174.008, 133.521, -22.8824 ],
- [ 7.92119, 74.6341, 2.45399 ],
- [ 0.0196595, 0.00581751 ],
- [ inf, inf, inf, inf ],
- [ 957, 1037, 1076, 1156 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1017, 1097 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (448): {
- 681,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049835,
- [ 174.398, 133.821, -22.7577 ],
- [ 7.92081, 74.6641, 2.5048 ],
- [ 0.0196609, 0.00581647 ],
- [ inf, inf, inf, inf ],
- [ 957, 1038, 1076, 1157 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1017, 1098 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (449): {
- 682,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049877,
- [ 174.78, 134.114, -22.6354 ],
- [ 7.92056, 74.6937, 2.55488 ],
- [ 0.0196616, 0.00581662 ],
- [ inf, inf, inf, inf ],
- [ 957, 1038, 1076, 1157 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1017, 1098 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (450): {
- 683,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049778,
- [ 175.098, 134.357, -22.5322 ],
- [ 7.92131, 74.7194, 2.59888 ],
- [ 0.0196616, 0.00581707 ],
- [ inf, inf, inf, inf ],
- [ 957, 1038, 1076, 1157 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1017, 1098 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (451): {
- 684,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049799,
- [ 175.415, 134.601, -22.4289 ],
- [ 7.92205, 74.7451, 2.64289 ],
- [ 0.0196638, 0.0058181 ],
- [ inf, inf, inf, inf ],
- [ 958, 1038, 1077, 1157 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1018, 1098 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (452): {
- 685,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049838,
- [ 175.862, 134.944, -22.2796 ],
- [ 7.9194, 74.7801, 2.69872 ],
- [ 0.01966, 0.00581814 ],
- [ inf, inf, inf, inf ],
- [ 958, 1037, 1077, 1156 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1018, 1097 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (453): {
- 686,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049993,
- [ 176.385, 135.345, -22.1022 ],
- [ 7.91501, 74.8208, 2.76155 ],
- [ 0.0196604, 0.00581875 ],
- [ inf, inf, inf, inf ],
- [ 958, 1037, 1077, 1156 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1018, 1097 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (454): {
- 687,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049788,
- [ 176.775, 135.644, -21.9623 ],
- [ 7.91622, 74.8526, 2.81263 ],
- [ 0.0196607, 0.00581948 ],
- [ inf, inf, inf, inf ],
- [ 958, 1038, 1077, 1157 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1018, 1098 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (455): {
- 688,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049859,
- [ 177.166, 135.944, -21.8217 ],
- [ 7.91744, 74.8845, 2.86354 ],
- [ 0.0196611, 0.00582261 ],
- [ inf, inf, inf, inf ],
- [ 958, 1038, 1077, 1157 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1018, 1098 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (456): {
- 689,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049787,
- [ 177.564, 136.25, -21.6772 ],
- [ 7.9188, 74.9161, 2.91226 ],
- [ 0.0196611, 0.00582885 ],
- [ inf, inf, inf, inf ],
- [ 958, 1038, 1077, 1157 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1018, 1098 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (457): {
- 690,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049887,
- [ 177.963, 136.556, -21.5319 ],
- [ 7.92018, 74.9479, 2.96115 ],
- [ 0.019661, 0.00583102 ],
- [ inf, inf, inf, inf ],
- [ 959, 1037, 1078, 1156 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1019, 1097 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (458): {
- 691,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049851,
- [ 178.363, 136.863, -21.382 ],
- [ 7.92178, 74.9807, 3.01076 ],
- [ 0.0196608, 0.00583184 ],
- [ inf, inf, inf, inf ],
- [ 959, 1037, 1078, 1156 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1019, 1097 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (459): {
- 692,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049795,
- [ 178.761, 137.168, -21.2319 ],
- [ 7.92352, 75.0137, 3.05995 ],
- [ 0.0196614, 0.00583909 ],
- [ inf, inf, inf, inf ],
- [ 959, 1037, 1078, 1156 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1019, 1097 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (460): {
- 693,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049841,
- [ 179.15, 137.467, -21.0776 ],
- [ 7.92687, 75.0477, 3.10504 ],
- [ 0.0196616, 0.00584245 ],
- [ inf, inf, inf, inf ],
- [ 960, 1037, 1079, 1156 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1020, 1097 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (461): {
- 694,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049842,
- [ 179.541, 137.766, -20.923 ],
- [ 7.93028, 75.0815, 3.1502 ],
- [ 0.0196622, 0.00584415 ],
- [ inf, inf, inf, inf ],
- [ 960, 1038, 1079, 1157 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1020, 1098 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (462): {
- 695,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049847,
- [ 179.94, 138.073, -20.7639 ],
- [ 7.93433, 75.1138, 3.19606 ],
- [ 0.0196624, 0.00585154 ],
- [ inf, inf, inf, inf ],
- [ 960, 1037, 1079, 1156 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1020, 1097 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (463): {
- 696,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049887,
- [ 180.337, 138.377, -20.609 ],
- [ 7.93807, 75.1461, 3.24143 ],
- [ 0.0196627, 0.00585459 ],
- [ inf, inf, inf, inf ],
- [ 961, 1038, 1080, 1157 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1021, 1098 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (464): {
- 697,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049851,
- [ 180.693, 138.651, -20.5129 ],
- [ 7.93766, 75.1777, 3.27979 ],
- [ 0.0196631, 0.00586259 ],
- [ inf, inf, inf, inf ],
- [ 961, 1037, 1080, 1156 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1021, 1097 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (465): {
- 698,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049836,
- [ 181.05, 138.925, -20.4168 ],
- [ 7.93725, 75.2093, 3.31813 ],
- [ 0.0196643, 0.00586574 ],
- [ inf, inf, inf, inf ],
- [ 962, 1038, 1081, 1157 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1022, 1098 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (466): {
- 699,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049845,
- [ 181.45, 139.232, -20.252 ],
- [ 7.93892, 75.2415, 3.3583 ],
- [ 0.0196631, 0.00586753 ],
- [ inf, inf, inf, inf ],
- [ 962, 1037, 1081, 1156 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1022, 1097 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (467): {
- 700,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049845,
- [ 181.857, 139.544, -20.0777 ],
- [ 7.94088, 75.2737, 3.39872 ],
- [ 0.0196646, 0.00587435 ],
- [ inf, inf, inf, inf ],
- [ 962, 1038, 1081, 1157 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1022, 1098 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (468): {
- 701,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049838,
- [ 182.268, 139.859, -19.8969 ],
- [ 7.94458, 75.3094, 3.44198 ],
- [ 0.0196635, 0.0058774 ],
- [ inf, inf, inf, inf ],
- [ 963, 1037, 1082, 1156 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1023, 1097 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (469): {
- 702,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049842,
- [ 182.675, 140.171, -19.7181 ],
- [ 7.94835, 75.3448, 3.48489 ],
- [ 0.0196639, 0.0058784 ],
- [ inf, inf, inf, inf ],
- [ 963, 1037, 1082, 1156 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1023, 1097 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (470): {
- 703,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049845,
- [ 182.993, 140.415, -19.5782 ],
- [ 7.95193, 75.3725, 3.51902 ],
- [ 0.0196639, 0.00588514 ],
- [ inf, inf, inf, inf ],
- [ 963, 1037, 1082, 1156 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1023, 1097 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (471): {
- 704,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049817,
- [ 183.311, 140.659, -19.4385 ],
- [ 7.95551, 75.4002, 3.55314 ],
- [ 0.0196743, 0.00588762 ],
- [ inf, inf, inf, inf ],
- [ 964, 1038, 1083, 1157 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1024, 1098 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (472): {
- 705,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.04988,
- [ 183.745, 140.992, -19.2445 ],
- [ 7.96046, 75.4383, 3.59689 ],
- [ 0.0196661, 0.00588899 ],
- [ inf, inf, inf, inf ],
- [ 964, 1038, 1083, 1157 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1024, 1098 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (473): {
- 706,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049835,
- [ 184.275, 141.399, -19.0058 ],
- [ 7.96661, 75.4849, 3.64831 ],
- [ 0.0196658, 0.00588953 ],
- [ inf, inf, inf, inf ],
- [ 964, 1038, 1083, 1157 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1024, 1098 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (474): {
- 707,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049823,
- [ 184.674, 141.706, -18.8223 ],
- [ 7.97282, 75.5177, 3.68344 ],
- [ 0.019665, 0.00588948 ],
- [ inf, inf, inf, inf ],
- [ 964, 1038, 1083, 1157 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1024, 1098 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (475): {
- 708,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049863,
- [ 185.074, 142.012, -18.6384 ],
- [ 7.97895, 75.5506, 3.71848 ],
- [ 0.0196652, 0.00588912 ],
- [ inf, inf, inf, inf ],
- [ 964, 1038, 1083, 1157 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1024, 1098 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (476): {
- 709,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049936,
- [ 185.474, 142.319, -18.4514 ],
- [ 7.98287, 75.5867, 3.75055 ],
- [ 0.0196647, 0.00588901 ],
- [ inf, inf, inf, inf ],
- [ 964, 1037, 1083, 1156 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1024, 1097 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (477): {
- 710,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049663,
- [ 185.871, 142.623, -18.2653 ],
- [ 7.98675, 75.6225, 3.78257 ],
- [ 0.0196655, 0.00588864 ],
- [ inf, inf, inf, inf ],
- [ 964, 1038, 1083, 1157 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1024, 1098 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (478): {
- 711,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.04989,
- [ 186.261, 142.923, -18.0748 ],
- [ 7.99003, 75.658, 3.82027 ],
- [ 0.019665, 0.00588861 ],
- [ inf, inf, inf, inf ],
- [ 964, 1038, 1083, 1157 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1024, 1098 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (479): {
- 712,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049883,
- [ 186.651, 143.222, -17.8842 ],
- [ 7.99338, 75.6934, 3.85778 ],
- [ 0.0196656, 0.00588844 ],
- [ inf, inf, inf, inf ],
- [ 964, 1038, 1083, 1157 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1024, 1098 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (480): {
- 713,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049859,
- [ 187.06, 143.536, -17.6905 ],
- [ 7.99996, 75.7279, 3.8869 ],
- [ 0.0196651, 0.00588793 ],
- [ inf, inf, inf, inf ],
- [ 963, 1038, 1082, 1157 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1023, 1098 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (481): {
- 714,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049876,
- [ 187.468, 143.849, -17.4966 ],
- [ 8.00654, 75.7624, 3.91604 ],
- [ 0.0196727, 0.00588716 ],
- [ inf, inf, inf, inf ],
- [ 963, 1038, 1082, 1157 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1023, 1098 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (482): {
- 715,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049842,
- [ 187.858, 144.148, -17.2999 ],
- [ 8.01299, 75.798, 3.94687 ],
- [ 0.0196757, 0.00588674 ],
- [ inf, inf, inf, inf ],
- [ 963, 1038, 1082, 1157 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1023, 1098 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (483): {
- 716,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049757,
- [ 188.247, 144.447, -17.1042 ],
- [ 8.01942, 75.8335, 3.97764 ],
- [ 0.0196781, 0.00588666 ],
- [ inf, inf, inf, inf ],
- [ 963, 1039, 1082, 1158 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1023, 1099 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (484): {
- 717,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049896,
- [ 188.612, 144.727, -16.9979 ],
- [ 8.02478, 75.8656, 4.007 ],
- [ 0.0196786, 0.0058864 ],
- [ inf, inf, inf, inf ],
- [ 963, 1039, 1082, 1158 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1023, 1099 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (485): {
- 718,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.04981,
- [ 188.977, 145.007, -16.8917 ],
- [ 8.03014, 75.8977, 4.03631 ],
- [ 0.0196798, 0.00588657 ],
- [ inf, inf, inf, inf ],
- [ 963, 1039, 1082, 1158 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1023, 1099 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (486): {
- 719,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049847,
- [ 189.37, 145.309, -16.6901 ],
- [ 8.03157, 75.9367, 4.0669 ],
- [ 0.0196793, 0.00588595 ],
- [ inf, inf, inf, inf ],
- [ 963, 1039, 1082, 1158 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1023, 1099 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (487): {
- 720,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049885,
- [ 189.77, 145.615, -16.4664 ],
- [ 8.03209, 75.9773, 4.0978 ],
- [ 0.0196798, 0.00588633 ],
- [ inf, inf, inf, inf ],
- [ 963, 1039, 1082, 1158 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1023, 1099 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (488): {
- 721,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049824,
- [ 190.178, 145.928, -16.2606 ],
- [ 8.03454, 76.0142, 4.12758 ],
- [ 0.0196788, 0.0058863 ],
- [ inf, inf, inf, inf ],
- [ 963, 1039, 1082, 1158 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1023, 1099 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (489): {
- 722,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049826,
- [ 190.587, 146.242, -16.0549 ],
- [ 8.03699, 76.051, 4.15736 ],
- [ 0.0196865, 0.00588594 ],
- [ inf, inf, inf, inf ],
- [ 963, 1039, 1082, 1158 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1023, 1099 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (490): {
- 723,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049876,
- [ 190.906, 146.487, -15.888 ],
- [ 8.04029, 76.0802, 4.18214 ],
- [ 0.0196889, 0.00588574 ],
- [ inf, inf, inf, inf ],
- [ 963, 1039, 1082, 1158 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1023, 1099 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (491): {
- 724,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049822,
- [ 191.224, 146.731, -15.7217 ],
- [ 8.0436, 76.1092, 4.20684 ],
- [ 0.0196923, 0.00588647 ],
- [ inf, inf, inf, inf ],
- [ 964, 1040, 1083, 1159 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1024, 1100 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (492): {
- 725,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049838,
- [ 191.645, 147.054, -15.4997 ],
- [ 8.04674, 76.1469, 4.23759 ],
- [ 0.01969, 0.00588532 ],
- [ inf, inf, inf, inf ],
- [ 963, 1039, 1082, 1158 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1023, 1099 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (493): {
- 726,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049843,
- [ 192.181, 147.465, -15.2155 ],
- [ 8.04969, 76.1941, 4.27511 ],
- [ 0.0196911, 0.00588587 ],
- [ inf, inf, inf, inf ],
- [ 963, 1040, 1082, 1159 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1023, 1100 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (494): {
- 727,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049838,
- [ 192.583, 147.774, -14.9994 ],
- [ 8.05518, 76.2311, 4.3038 ],
- [ 0.019691, 0.00588579 ],
- [ inf, inf, inf, inf ],
- [ 963, 1040, 1082, 1159 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1023, 1100 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (495): {
- 728,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049862,
- [ 192.983, 148.081, -14.7848 ],
- [ 8.06073, 76.2679, 4.33231 ],
- [ 0.0196915, 0.00588622 ],
- [ inf, inf, inf, inf ],
- [ 964, 1040, 1083, 1159 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1024, 1100 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (496): {
- 729,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049827,
- [ 193.381, 148.386, -14.568 ],
- [ 8.06589, 76.3038, 4.35841 ],
- [ 0.0196907, 0.00587938 ],
- [ inf, inf, inf, inf ],
- [ 963, 1040, 1082, 1159 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1023, 1100 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (497): {
- 730,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049858,
- [ 193.78, 148.692, -14.3511 ],
- [ 8.07104, 76.3397, 4.38446 ],
- [ 0.0196979, 0.0058759 ],
- [ inf, inf, inf, inf ],
- [ 963, 1040, 1082, 1159 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1023, 1100 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (498): {
- 731,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049843,
- [ 194.188, 149.005, -14.1315 ],
- [ 8.07352, 76.3763, 4.41193 ],
- [ 0.0197004, 0.00587386 ],
- [ inf, inf, inf, inf ],
- [ 963, 1040, 1082, 1159 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1023, 1100 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (499): {
- 732,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.04978,
- [ 194.595, 149.318, -13.912 ],
- [ 8.07591, 76.4129, 4.43941 ],
- [ 0.0197021, 0.00587315 ],
- [ inf, inf, inf, inf ],
- [ 962, 1041, 1081, 1160 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1022, 1101 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (500): {
- 733,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049891,
- [ 194.995, 149.625, -13.6892 ],
- [ 8.07958, 76.4501, 4.46602 ],
- [ 0.0197023, 0.00587237 ],
- [ inf, inf, inf, inf ],
- [ 962, 1041, 1081, 1160 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1022, 1101 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (501): {
- 734,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049886,
- [ 195.395, 149.931, -13.4664 ],
- [ 8.08331, 76.4874, 4.49258 ],
- [ 0.0197033, 0.00587243 ],
- [ inf, inf, inf, inf ],
- [ 962, 1041, 1081, 1160 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1022, 1101 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (502): {
- 735,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049829,
- [ 195.803, 150.244, -13.2414 ],
- [ 8.08659, 76.5243, 4.51922 ],
- [ 0.0197027, 0.00586543 ],
- [ inf, inf, inf, inf ],
- [ 962, 1041, 1081, 1160 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1022, 1101 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (503): {
- 736,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.04986,
- [ 196.211, 150.557, -13.0161 ],
- [ 8.08984, 76.5612, 4.54588 ],
- [ 0.0197032, 0.00586248 ],
- [ inf, inf, inf, inf ],
- [ 962, 1041, 1081, 1160 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1022, 1101 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (504): {
- 737,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049836,
- [ 196.579, 150.84, -12.8423 ],
- [ 8.09148, 76.5957, 4.56682 ],
- [ 0.0197099, 0.0058601 ],
- [ inf, inf, inf, inf ],
- [ 961, 1041, 1080, 1160 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1021, 1101 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (505): {
- 738,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049834,
- [ 196.945, 151.121, -12.6715 ],
- [ 8.09302, 76.63, 4.58743 ],
- [ 0.0197134, 0.00585318 ],
- [ inf, inf, inf, inf ],
- [ 961, 1041, 1080, 1160 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1021, 1101 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (506): {
- 739,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049836,
- [ 197.359, 151.438, -12.4383 ],
- [ 8.09938, 76.6691, 4.6136 ],
- [ 0.019714, 0.00584953 ],
- [ inf, inf, inf, inf ],
- [ 961, 1042, 1080, 1161 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1021, 1102 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (507): {
- 740,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049847,
- [ 197.788, 151.767, -12.1851 ],
- [ 8.10728, 76.7097, 4.64157 ],
- [ 0.019715, 0.00584816 ],
- [ inf, inf, inf, inf ],
- [ 960, 1042, 1079, 1161 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1020, 1102 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (508): {
- 741,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049832,
- [ 198.198, 152.082, -11.9511 ],
- [ 8.11059, 76.7477, 4.66492 ],
- [ 0.0197153, 0.00584716 ],
- [ inf, inf, inf, inf ],
- [ 960, 1042, 1079, 1161 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1020, 1102 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (509): {
- 742,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049856,
- [ 198.607, 152.396, -11.7183 ],
- [ 8.11358, 76.7856, 4.68795 ],
- [ 0.0197221, 0.00583991 ],
- [ inf, inf, inf, inf ],
- [ 960, 1042, 1079, 1161 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1020, 1102 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (510): {
- 743,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049839,
- [ 198.931, 152.645, -11.528 ],
- [ 8.11555, 76.8165, 4.70617 ],
- [ 0.0197247, 0.00583608 ],
- [ inf, inf, inf, inf ],
- [ 959, 1042, 1078, 1161 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1019, 1102 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (511): {
- 744,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049806,
- [ 199.249, 152.889, -11.3411 ],
- [ 8.11744, 76.8469, 4.72401 ],
- [ 0.0197277, 0.0058297 ],
- [ inf, inf, inf, inf ],
- [ 959, 1043, 1078, 1162 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1019, 1103 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (512): {
- 745,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049886,
- [ 199.662, 153.205, -11.1002 ],
- [ 8.1205, 76.8863, 4.74347 ],
- [ 0.0197256, 0.00582364 ],
- [ inf, inf, inf, inf ],
- [ 958, 1043, 1077, 1162 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1018, 1103 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (513): {
- 746,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049898,
- [ 200.209, 153.625, -10.783 ],
- [ 8.12523, 76.9384, 4.76518 ],
- [ 0.0197338, 0.00582228 ],
- [ inf, inf, inf, inf ],
- [ 958, 1043, 1077, 1162 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1018, 1103 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (514): {
- 747,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049826,
- [ 200.621, 153.941, -10.5377 ],
- [ 8.12573, 76.9785, 4.78246 ],
- [ 0.0197368, 0.00581468 ],
- [ inf, inf, inf, inf ],
- [ 958, 1044, 1077, 1163 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1018, 1104 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (515): {
- 748,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049804,
- [ 201.02, 154.248, -10.2992 ],
- [ 8.12584, 77.0175, 4.79932 ],
- [ 0.0197411, 0.00580962 ],
- [ inf, inf, inf, inf ],
- [ 957, 1044, 1076, 1163 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1017, 1104 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (516): {
- 749,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049825,
- [ 201.427, 154.56, -10.0596 ],
- [ 8.12697, 77.0558, 4.81474 ],
- [ 0.0197477, 0.00580114 ],
- [ inf, inf, inf, inf ],
- [ 957, 1044, 1076, 1163 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1017, 1104 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (517): {
- 750,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049848,
- [ 201.835, 154.873, -9.81983 ],
- [ 8.12819, 77.094, 4.83001 ],
- [ 0.0197508, 0.00579805 ],
- [ inf, inf, inf, inf ],
- [ 956, 1045, 1075, 1164 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1016, 1105 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (518): {
- 751,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049833,
- [ 202.244, 155.187, -9.57843 ],
- [ 8.1295, 77.1339, 4.84313 ],
- [ 0.0197586, 0.00578957 ],
- [ inf, inf, inf, inf ],
- [ 956, 1045, 1075, 1164 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1016, 1105 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (519): {
- 752,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049789,
- [ 202.652, 155.5, -9.33706 ],
- [ 8.13083, 77.174, 4.85601 ],
- [ 0.0197626, 0.00578632 ],
- [ inf, inf, inf, inf ],
- [ 955, 1046, 1074, 1165 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1015, 1106 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (520): {
- 753,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049902,
- [ 203.061, 155.814, -9.09417 ],
- [ 8.1312, 77.2132, 4.86863 ],
- [ 0.0197711, 0.00578374 ],
- [ inf, inf, inf, inf ],
- [ 955, 1046, 1074, 1165 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1015, 1106 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (521): {
- 754,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049878,
- [ 203.47, 156.127, -8.85127 ],
- [ 8.13145, 77.2523, 4.88122 ],
- [ 0.0197749, 0.00577669 ],
- [ inf, inf, inf, inf ],
- [ 955, 1047, 1074, 1166 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1015, 1107 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (522): {
- 755,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.04982,
- [ 203.87, 156.434, -8.60763 ],
- [ 8.1311, 77.2912, 4.89313 ],
- [ 0.0197832, 0.00577255 ],
- [ inf, inf, inf, inf ],
- [ 954, 1047, 1073, 1166 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1014, 1107 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (523): {
- 756,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049775,
- [ 204.269, 156.74, -8.36407 ],
- [ 8.13068, 77.3301, 4.90495 ],
- [ 0.0197867, 0.00576476 ],
- [ inf, inf, inf, inf ],
- [ 954, 1048, 1073, 1167 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1014, 1108 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (524): {
- 757,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049941,
- [ 204.646, 157.03, -8.14469 ],
- [ 8.1295, 77.3667, 4.91314 ],
- [ 0.0197881, 0.0057611 ],
- [ inf, inf, inf, inf ],
- [ 953, 1048, 1072, 1167 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1013, 1108 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (525): {
- 758,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049809,
- [ 205.019, 157.316, -7.92915 ],
- [ 8.12821, 77.4029, 4.92083 ],
- [ 0.0197959, 0.00575956 ],
- [ inf, inf, inf, inf ],
- [ 953, 1048, 1072, 1167 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1013, 1108 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (526): {
- 759,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049847,
- [ 205.432, 157.633, -7.67498 ],
- [ 8.12491, 77.4459, 4.93042 ],
- [ 0.0197982, 0.00575181 ],
- [ inf, inf, inf, inf ],
- [ 953, 1049, 1072, 1168 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1013, 1109 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (527): {
- 760,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049843,
- [ 205.862, 157.963, -7.40374 ],
- [ 8.12071, 77.492, 4.94085 ],
- [ 0.0198063, 0.00574801 ],
- [ inf, inf, inf, inf ],
- [ 952, 1049, 1071, 1168 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1012, 1109 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (528): {
- 761,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.04988,
- [ 206.273, 158.278, -7.15396 ],
- [ 8.11665, 77.5318, 4.94211 ],
- [ 0.0198091, 0.005746 ],
- [ inf, inf, inf, inf ],
- [ 952, 1050, 1071, 1169 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1012, 1110 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (529): {
- 762,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049809,
- [ 206.682, 158.592, -6.90768 ],
- [ 8.11262, 77.5707, 4.94204 ],
- [ 0.0198106, 0.00573902 ],
- [ inf, inf, inf, inf ],
- [ 952, 1050, 1071, 1169 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1012, 1110 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (530): {
- 763,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049842,
- [ 207.012, 158.845, -6.70491 ],
- [ 8.1105, 77.6047, 4.94252 ],
- [ 0.0198105, 0.00573577 ],
- [ inf, inf, inf, inf ],
- [ 951, 1050, 1070, 1169 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1011, 1110 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (531): {
- 764,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049785,
- [ 207.329, 159.089, -6.50895 ],
- [ 8.10867, 77.6381, 4.94308 ],
- [ 0.019819, 0.00573539 ],
- [ inf, inf, inf, inf ],
- [ 951, 1050, 1070, 1169 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1011, 1110 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (532): {
- 765,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049931,
- [ 207.724, 159.391, -6.26531 ],
- [ 8.1052, 77.6783, 4.94462 ],
- [ 0.0198194, 0.00572613 ],
- [ inf, inf, inf, inf ],
- [ 951, 1050, 1070, 1169 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1011, 1110 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (533): {
- 766,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049815,
- [ 208.259, 159.802, -5.93492 ],
- [ 8.09873, 77.731, 4.94797 ],
- [ 0.0198212, 0.00572342 ],
- [ inf, inf, inf, inf ],
- [ 950, 1051, 1069, 1170 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1010, 1111 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (534): {
- 767,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049878,
- [ 208.687, 160.13, -5.67607 ],
- [ 8.0935, 77.7728, 4.94335 ],
- [ 0.0198216, 0.00572203 ],
- [ inf, inf, inf, inf ],
- [ 950, 1051, 1069, 1170 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1010, 1111 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (535): {
- 768,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049808,
- [ 209.095, 160.444, -5.42981 ],
- [ 8.0885, 77.8127, 4.93737 ],
- [ 0.0198291, 0.0057213 ],
- [ inf, inf, inf, inf ],
- [ 950, 1051, 1069, 1170 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1010, 1111 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (536): {
- 769,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.04986,
- [ 209.503, 160.757, -5.18389 ],
- [ 8.08197, 77.8534, 4.93466 ],
- [ 0.0198317, 0.00571434 ],
- [ inf, inf, inf, inf ],
- [ 950, 1051, 1069, 1170 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1010, 1111 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (537): {
- 770,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049761,
- [ 209.911, 161.069, -4.93857 ],
- [ 8.07518, 77.8941, 4.93253 ],
- [ 0.0198334, 0.00571163 ],
- [ inf, inf, inf, inf ],
- [ 950, 1052, 1069, 1171 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1010, 1112 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (538): {
- 771,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049927,
- [ 210.312, 161.377, -4.6924 ],
- [ 8.07076, 77.9335, 4.92957 ],
- [ 0.0198336, 0.00570987 ],
- [ inf, inf, inf, inf ],
- [ 949, 1052, 1068, 1171 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1009, 1112 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (539): {
- 772,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049836,
- [ 210.711, 161.684, -4.44668 ],
- [ 8.06681, 77.9725, 4.92646 ],
- [ 0.0198338, 0.00570294 ],
- [ inf, inf, inf, inf ],
- [ 949, 1052, 1068, 1171 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1009, 1112 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (540): {
- 773,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049874,
- [ 211.111, 161.99, -4.20114 ],
- [ 8.06052, 78.0128, 4.92088 ],
- [ 0.0198406, 0.005699 ],
- [ inf, inf, inf, inf ],
- [ 948, 1052, 1067, 1171 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1008, 1112 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (541): {
- 774,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049829,
- [ 211.51, 162.296, -3.95591 ],
- [ 8.05379, 78.0535, 4.91483 ],
- [ 0.0198441, 0.00569751 ],
- [ inf, inf, inf, inf ],
- [ 948, 1053, 1067, 1172 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1008, 1113 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (542): {
- 775,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049839,
- [ 211.909, 162.602, -3.71132 ],
- [ 8.04843, 78.0928, 4.90817 ],
- [ 0.019845, 0.00569004 ],
- [ inf, inf, inf, inf ],
- [ 948, 1053, 1067, 1172 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1008, 1113 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (543): {
- 776,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049825,
- [ 212.307, 162.908, -3.46693 ],
- [ 8.04336, 78.1318, 4.9014 ],
- [ 0.0198455, 0.00568024 ],
- [ inf, inf, inf, inf ],
- [ 947, 1053, 1066, 1172 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1007, 1113 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (544): {
- 777,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049846,
- [ 212.679, 163.193, -3.26797 ],
- [ 8.03766, 78.1689, 4.89356 ],
- [ 0.0198453, 0.00567546 ],
- [ inf, inf, inf, inf ],
- [ 947, 1053, 1066, 1172 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1007, 1113 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (545): {
- 778,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049864,
- [ 213.044, 163.474, -3.0787 ],
- [ 8.03184, 78.2056, 4.8855 ],
- [ 0.0198526, 0.00567303 ],
- [ inf, inf, inf, inf ],
- [ 946, 1053, 1065, 1172 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1006, 1113 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (546): {
- 779,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049862,
- [ 213.431, 163.77, -2.84005 ],
- [ 8.02396, 78.2478, 4.87268 ],
- [ 0.0198552, 0.00566496 ],
- [ inf, inf, inf, inf ],
- [ 946, 1054, 1065, 1173 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1006, 1114 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (547): {
- 780,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049841,
- [ 213.83, 164.077, -2.57273 ],
- [ 8.01488, 78.2931, 4.85709 ],
- [ 0.0198569, 0.00566189 ],
- [ inf, inf, inf, inf ],
- [ 945, 1054, 1064, 1173 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1005, 1114 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (548): {
- 781,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.04981,
- [ 214.237, 164.389, -2.32642 ],
- [ 8.00694, 78.3331, 4.84589 ],
- [ 0.0198643, 0.00565313 ],
- [ inf, inf, inf, inf ],
- [ 945, 1054, 1064, 1173 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1005, 1114 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (549): {
- 782,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049842,
- [ 214.645, 164.702, -2.08477 ],
- [ 7.99926, 78.372, 4.8357 ],
- [ 0.019875, 0.00564918 ],
- [ inf, inf, inf, inf ],
- [ 944, 1055, 1063, 1174 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1004, 1115 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (550): {
- 783,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049838,
- [ 214.981, 164.959, -1.88384 ],
- [ 7.99307, 78.405, 4.82598 ],
- [ 0.0198799, 0.00564747 ],
- [ inf, inf, inf, inf ],
- [ 944, 1056, 1063, 1175 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1004, 1116 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (551): {
- 784,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049847,
- [ 215.298, 165.203, -1.69257 ],
- [ 7.98724, 78.4365, 4.81637 ],
- [ 0.0198903, 0.00564709 ],
- [ inf, inf, inf, inf ],
- [ 944, 1056, 1063, 1175 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1004, 1116 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (552): {
- 785,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049839,
- [ 215.675, 165.492, -1.464 ],
- [ 7.97973, 78.4745, 4.80415 ],
- [ 0.0198944, 0.00564597 ],
- [ inf, inf, inf, inf ],
- [ 944, 1057, 1063, 1176 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1004, 1117 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (553): {
- 786,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049863,
- [ 216.199, 165.895, -1.14261 ],
- [ 7.96808, 78.5286, 4.78544 ],
- [ 0.0199042, 0.00564603 ],
- [ inf, inf, inf, inf ],
- [ 944, 1057, 1063, 1176 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1004, 1117 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (554): {
- 787,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049863,
- [ 216.625, 166.221, -0.887575 ],
- [ 7.95954, 78.5701, 4.77363 ],
- [ 0.019916, 0.00564583 ],
- [ inf, inf, inf, inf ],
- [ 944, 1058, 1063, 1177 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1004, 1118 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (555): {
- 788,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049808,
- [ 217.024, 166.527, -0.649918 ],
- [ 7.95181, 78.6084, 4.76362 ],
- [ 0.0199282, 0.00563922 ],
- [ inf, inf, inf, inf ],
- [ 944, 1059, 1063, 1178 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1004, 1119 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (556): {
- 789,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049872,
- [ 217.423, 166.833, -0.413441 ],
- [ 7.94519, 78.6462, 4.74992 ],
- [ 0.0199415, 0.00564245 ],
- [ inf, inf, inf, inf ],
- [ 944, 1060, 1063, 1179 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1004, 1120 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (557): {
- 790,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049818,
- [ 217.821, 167.139, -0.177614 ],
- [ 7.93888, 78.684, 4.73527 ],
- [ 0.0199549, 0.00564374 ],
- [ inf, inf, inf, inf ],
- [ 945, 1061, 1064, 1180 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1005, 1121 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (558): {
- 791,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049841,
- [ 218.22, 167.445, 0.0575502 ],
- [ 7.93018, 78.7214, 4.71693 ],
- [ 0.0199681, 0.00564407 ],
- [ inf, inf, inf, inf ],
- [ 945, 1063, 1064, 1182 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1005, 1123 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (559): {
- 792,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049841,
- [ 218.619, 167.751, 0.292497 ],
- [ 7.92081, 78.7587, 4.69755 ],
- [ 0.0199742, 0.00564464 ],
- [ inf, inf, inf, inf ],
- [ 945, 1063, 1064, 1182 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1005, 1123 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (560): {
- 793,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049881,
- [ 219.011, 168.052, 0.526246 ],
- [ 7.90919, 78.798, 4.68108 ],
- [ 0.0199846, 0.00565093 ],
- [ inf, inf, inf, inf ],
- [ 945, 1064, 1064, 1183 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1005, 1124 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (561): {
- 794,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049806,
- [ 219.401, 168.351, 0.759241 ],
- [ 7.89694, 78.8378, 4.66548 ],
- [ 0.0199961, 0.00565358 ],
- [ inf, inf, inf, inf ],
- [ 946, 1065, 1065, 1184 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1006, 1125 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (562): {
- 795,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049872,
- [ 219.791, 168.65, 0.99134 ],
- [ 7.88824, 78.8759, 4.64903 ],
- [ 0.0200087, 0.00566106 ],
- [ inf, inf, inf, inf ],
- [ 946, 1066, 1065, 1185 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1006, 1126 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (563): {
- 796,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049807,
- [ 220.181, 168.949, 1.22277 ],
- [ 7.88063, 78.9133, 4.63234 ],
- [ 0.020021, 0.00566409 ],
- [ inf, inf, inf, inf ],
- [ 947, 1067, 1066, 1186 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1007, 1127 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (564): {
- 797,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.04989,
- [ 220.545, 169.229, 1.40273 ],
- [ 7.87015, 78.9486, 4.61419 ],
- [ 0.0200337, 0.00567196 ],
- [ inf, inf, inf, inf ],
- [ 947, 1068, 1066, 1187 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1007, 1128 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (565): {
- 798,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049806,
- [ 220.901, 169.502, 1.56627 ],
- [ 7.85881, 78.9831, 4.59563 ],
- [ 0.0200535, 0.00568163 ],
- [ inf, inf, inf, inf ],
- [ 948, 1069, 1067, 1188 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1008, 1129 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (566): {
- 799,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049874,
- [ 221.3, 169.808, 1.77957 ],
- [ 7.84791, 79.0211, 4.57323 ],
- [ 0.0200624, 0.00568631 ],
- [ inf, inf, inf, inf ],
- [ 949, 1070, 1068, 1189 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1009, 1130 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (567): {
- 800,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049861,
- [ 221.731, 170.139, 2.03051 ],
- [ 7.83737, 79.0615, 4.54795 ],
- [ 0.0200737, 0.00569444 ],
- [ inf, inf, inf, inf ],
- [ 950, 1071, 1069, 1190 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1010, 1131 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (568): {
- 801,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049806,
- [ 222.13, 170.445, 2.26202 ],
- [ 7.82722, 79.0985, 4.52589 ],
- [ 0.0200859, 0.0057045 ],
- [ inf, inf, inf, inf ],
- [ 951, 1071, 1070, 1190 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1011, 1131 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (569): {
- 802,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.04984,
- [ 222.521, 170.745, 2.48735 ],
- [ 7.81721, 79.1344, 4.50487 ],
- [ 0.0200992, 0.00571495 ],
- [ inf, inf, inf, inf ],
- [ 952, 1072, 1071, 1191 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1012, 1132 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (570): {
- 803,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049842,
- [ 222.851, 170.998, 2.67712 ],
- [ 7.80829, 79.1662, 4.48746 ],
- [ 0.0201126, 0.00572619 ],
- [ inf, inf, inf, inf ],
- [ 953, 1073, 1072, 1192 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1013, 1133 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (571): {
- 804,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049858,
- [ 223.161, 171.236, 2.85483 ],
- [ 7.79974, 79.1967, 4.47127 ],
- [ 0.0201252, 0.00573525 ],
- [ inf, inf, inf, inf ],
- [ 953, 1074, 1072, 1193 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1013, 1134 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (572): {
- 805,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049876,
- [ 223.52, 171.512, 3.05963 ],
- [ 7.79052, 79.2308, 4.45251 ],
- [ 0.0201399, 0.00575571 ],
- [ inf, inf, inf, inf ],
- [ 955, 1075, 1074, 1194 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1015, 1135 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (573): {
- 806,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049794,
- [ 224.043, 171.913, 3.35643 ],
- [ 7.77901, 79.277, 4.42498 ],
- [ 0.020153, 0.00576913 ],
- [ inf, inf, inf, inf ],
- [ 956, 1076, 1075, 1195 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1016, 1136 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (574): {
- 807,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049846,
- [ 224.463, 172.235, 3.59642 ],
- [ 7.76956, 79.3156, 4.40087 ],
- [ 0.0201662, 0.00578188 ],
- [ inf, inf, inf, inf ],
- [ 958, 1077, 1077, 1196 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1018, 1137 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (575): {
- 808,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049834,
- [ 224.844, 172.527, 3.81547 ],
- [ 7.76087, 79.3514, 4.37802 ],
- [ 0.0201797, 0.00580023 ],
- [ inf, inf, inf, inf ],
- [ 959, 1078, 1078, 1197 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1019, 1138 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (576): {
- 809,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049845,
- [ 225.23, 172.824, 4.03253 ],
- [ 7.75158, 79.3873, 4.35525 ],
- [ 0.0201933, 0.00581504 ],
- [ inf, inf, inf, inf ],
- [ 961, 1079, 1080, 1198 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1021, 1139 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (577): {
- 810,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049847,
- [ 225.619, 173.122, 4.24886 ],
- [ 7.74206, 79.4233, 4.3325 ],
- [ 0.0202068, 0.00583398 ],
- [ inf, inf, inf, inf ],
- [ 962, 1080, 1081, 1199 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1022, 1140 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (578): {
- 811,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049867,
- [ 226.009, 173.422, 4.46402 ],
- [ 7.73575, 79.4561, 4.30886 ],
- [ 0.0202201, 0.00584888 ],
- [ inf, inf, inf, inf ],
- [ 964, 1081, 1083, 1200 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1024, 1141 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (579): {
- 812,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049836,
- [ 226.399, 173.721, 4.67857 ],
- [ 7.73071, 79.4878, 4.2849 ],
- [ 0.020227, 0.00586849 ],
- [ inf, inf, inf, inf ],
- [ 965, 1082, 1084, 1201 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1025, 1142 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (580): {
- 813,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049828,
- [ 226.789, 174.02, 4.89147 ],
- [ 7.72198, 79.5225, 4.26333 ],
- [ 0.0202373, 0.00588349 ],
- [ inf, inf, inf, inf ],
- [ 967, 1083, 1086, 1202 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1027, 1143 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (581): {
- 814,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049838,
- [ 227.179, 174.319, 5.10375 ],
- [ 7.71175, 79.5586, 4.24272 ],
- [ 0.0202426, 0.00590271 ],
- [ inf, inf, inf, inf ],
- [ 969, 1083, 1088, 1202 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1029, 1143 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (582): {
- 815,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049793,
- [ 227.555, 174.608, 5.31393 ],
- [ 7.70482, 79.5914, 4.21929 ],
- [ 0.0202522, 0.00592365 ],
- [ inf, inf, inf, inf ],
- [ 970, 1084, 1089, 1203 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1030, 1144 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (583): {
- 816,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049837,
- [ 227.926, 174.892, 5.5235 ],
- [ 7.69926, 79.623, 4.19467 ],
- [ 0.0202639, 0.00594525 ],
- [ inf, inf, inf, inf ],
- [ 972, 1084, 1091, 1203 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1032, 1144 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (584): {
- 817,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049902,
- [ 228.288, 175.17, 5.68892 ],
- [ 7.69466, 79.6534, 4.1698 ],
- [ 0.0202692, 0.00596172 ],
- [ inf, inf, inf, inf ],
- [ 974, 1085, 1093, 1204 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1034, 1145 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (585): {
- 818,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049791,
- [ 228.644, 175.443, 5.83476 ],
- [ 7.69049, 79.6832, 4.14489 ],
- [ 0.020279, 0.00598108 ],
- [ inf, inf, inf, inf ],
- [ 975, 1085, 1094, 1204 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1035, 1145 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (586): {
- 819,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049857,
- [ 229.021, 175.733, 6.0199 ],
- [ 7.68557, 79.717, 4.11389 ],
- [ 0.020284, 0.0060027 ],
- [ inf, inf, inf, inf ],
- [ 977, 1086, 1096, 1205 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1037, 1146 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (587): {
- 820,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049912,
- [ 229.418, 176.037, 6.24338 ],
- [ 7.67992, 79.7547, 4.07696 ],
- [ 0.0202866, 0.00602532 ],
- [ inf, inf, inf, inf ],
- [ 979, 1086, 1098, 1205 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1039, 1146 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (588): {
- 821,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049763,
- [ 229.805, 176.334, 6.45238 ],
- [ 7.67621, 79.7875, 4.04877 ],
- [ 0.0202952, 0.00604142 ],
- [ inf, inf, inf, inf ],
- [ 981, 1086, 1100, 1205 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1041, 1146 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (589): {
- 822,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049843,
- [ 230.188, 176.628, 6.65505 ],
- [ 7.67341, 79.8181, 4.0247 ],
- [ 0.0202997, 0.00606106 ],
- [ inf, inf, inf, inf ],
- [ 983, 1087, 1102, 1206 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1043, 1147 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (590): {
- 823,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049897,
- [ 230.517, 176.88, 6.82758 ],
- [ 7.67167, 79.844, 4.00297 ],
- [ 0.0203024, 0.0060826 ],
- [ inf, inf, inf, inf ],
- [ 984, 1087, 1103, 1206 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1044, 1147 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (591): {
- 824,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049846,
- [ 230.82, 177.113, 6.98583 ],
- [ 7.67043, 79.8675, 3.98235 ],
- [ 0.0203115, 0.00609547 ],
- [ inf, inf, inf, inf ],
- [ 986, 1087, 1105, 1206 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1046, 1147 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (592): {
- 825,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049853,
- [ 231.159, 177.373, 7.16118 ],
- [ 7.66911, 79.8935, 3.95895 ],
- [ 0.020315, 0.00611872 ],
- [ inf, inf, inf, inf ],
- [ 988, 1088, 1107, 1207 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1048, 1148 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (593): {
- 826,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049841,
- [ 231.682, 177.774, 7.42437 ],
- [ 7.66744, 79.9316, 3.92126 ],
- [ 0.0203175, 0.00613283 ],
- [ inf, inf, inf, inf ],
- [ 989, 1088, 1108, 1207 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1049, 1148 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (594): {
- 827,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049843,
- [ 232.11, 178.103, 7.6412 ],
- [ 7.66696, 79.963, 3.89005 ],
- [ 0.0203261, 0.00615093 ],
- [ inf, inf, inf, inf ],
- [ 990, 1088, 1109, 1207 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1050, 1148 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (595): {
- 828,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049782,
- [ 232.491, 178.395, 7.83468 ],
- [ 7.66706, 79.9911, 3.86212 ],
- [ 0.0203304, 0.0061651 ],
- [ inf, inf, inf, inf ],
- [ 992, 1088, 1111, 1207 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1052, 1148 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (596): {
- 829,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049832,
- [ 232.871, 178.687, 8.02593 ],
- [ 7.667, 80.0194, 3.83396 ],
- [ 0.0203332, 0.00618377 ],
- [ inf, inf, inf, inf ],
- [ 993, 1089, 1112, 1208 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1053, 1149 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (597): {
- 830,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049859,
- [ 233.251, 178.978, 8.21605 ],
- [ 7.66685, 80.0479, 3.80569 ],
- [ 0.0203349, 0.00619864 ],
- [ inf, inf, inf, inf ],
- [ 995, 1089, 1114, 1208 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1055, 1149 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (598): {
- 831,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049907,
- [ 233.632, 179.271, 8.40507 ],
- [ 7.66769, 80.0762, 3.77698 ],
- [ 0.0203437, 0.00621727 ],
- [ inf, inf, inf, inf ],
- [ 996, 1089, 1115, 1208 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1056, 1149 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (599): {
- 832,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049779,
- [ 234.013, 179.563, 8.59292 ],
- [ 7.66905, 80.1043, 3.74813 ],
- [ 0.0203478, 0.00623151 ],
- [ inf, inf, inf, inf ],
- [ 998, 1090, 1117, 1209 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1058, 1150 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (600): {
- 833,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049908,
- [ 234.394, 179.855, 8.77892 ],
- [ 7.67093, 80.1304, 3.71919 ],
- [ 0.0203503, 0.00624384 ],
- [ inf, inf, inf, inf ],
- [ 999, 1090, 1118, 1209 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1059, 1150 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (601): {
- 834,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049834,
- [ 234.774, 180.147, 8.96337 ],
- [ 7.67308, 80.1552, 3.69028 ],
- [ 0.0203588, 0.00625521 ],
- [ inf, inf, inf, inf ],
- [ 1000, 1090, 1119, 1209 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1060, 1150 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (602): {
- 835,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049859,
- [ 235.16, 180.443, 9.14625 ],
- [ 7.67317, 80.1818, 3.6616 ],
- [ 0.0203632, 0.00626662 ],
- [ inf, inf, inf, inf ],
- [ 1001, 1091, 1120, 1210 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1061, 1151 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (603): {
- 836,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049829,
- [ 235.55, 180.742, 9.3281 ],
- [ 7.67211, 80.2093, 3.63308 ],
- [ 0.0203661, 0.0062844 ],
- [ inf, inf, inf, inf ],
- [ 1002, 1091, 1121, 1210 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1062, 1151 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (604): {
- 837,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049851,
- [ 235.913, 181.021, 9.46631 ],
- [ 7.67398, 80.2344, 3.60587 ],
- [ 0.0203744, 0.00629835 ],
- [ inf, inf, inf, inf ],
- [ 1004, 1091, 1123, 1210 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1064, 1151 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (605): {
- 838,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049852,
- [ 236.262, 181.288, 9.57954 ],
- [ 7.67751, 80.2581, 3.57941 ],
- [ 0.0203791, 0.00631799 ],
- [ inf, inf, inf, inf ],
- [ 1005, 1092, 1124, 1211 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1065, 1152 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (606): {
- 839,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049838,
- [ 236.632, 181.572, 9.72801 ],
- [ 7.68108, 80.2832, 3.54879 ],
- [ 0.020382, 0.00634042 ],
- [ inf, inf, inf, inf ],
- [ 1007, 1092, 1126, 1211 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1067, 1152 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (607): {
- 840,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049843,
- [ 237.028, 181.876, 9.92055 ],
- [ 7.6847, 80.3098, 3.51295 ],
- [ 0.0203914, 0.00636452 ],
- [ inf, inf, inf, inf ],
- [ 1009, 1092, 1128, 1211 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1069, 1152 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (608): {
- 841,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049858,
- [ 237.422, 182.179, 10.1017 ],
- [ 7.69001, 80.3353, 3.48081 ],
- [ 0.0203968, 0.00639585 ],
- [ inf, inf, inf, inf ],
- [ 1012, 1093, 1131, 1212 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1072, 1153 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (609): {
- 842,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049784,
- [ 237.814, 182.479, 10.2753 ],
- [ 7.69636, 80.36, 3.45105 ],
- [ 0.0204075, 0.00642332 ],
- [ inf, inf, inf, inf ],
- [ 1015, 1093, 1134, 1212 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1075, 1153 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (610): {
- 843,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049887,
- [ 238.151, 182.738, 10.4256 ],
- [ 7.70226, 80.3808, 3.42499 ],
- [ 0.0204142, 0.00646267 ],
- [ inf, inf, inf, inf ],
- [ 1018, 1094, 1137, 1213 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1078, 1154 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (611): {
- 844,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049846,
- [ 238.455, 182.971, 10.5611 ],
- [ 7.70788, 80.3991, 3.40128 ],
- [ 0.0204261, 0.00649572 ],
- [ inf, inf, inf, inf ],
- [ 1021, 1094, 1140, 1213 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1081, 1154 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (612): {
- 845,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049873,
- [ 238.781, 183.221, 10.7059 ],
- [ 7.71363, 80.4188, 3.37542 ],
- [ 0.0204329, 0.00654561 ],
- [ inf, inf, inf, inf ],
- [ 1026, 1095, 1145, 1214 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1086, 1155 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (613): {
- 846,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049851,
- [ 239.291, 183.613, 10.9296 ],
- [ 7.72052, 80.4502, 3.33139 ],
- [ 0.0204448, 0.00658324 ],
- [ inf, inf, inf, inf ],
- [ 1029, 1095, 1148, 1214 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1089, 1155 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (614): {
- 847,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.0498,
- [ 239.728, 183.948, 11.1165 ],
- [ 7.72966, 80.4752, 3.29588 ],
- [ 0.0204519, 0.0066261 ],
- [ inf, inf, inf, inf ],
- [ 1033, 1096, 1152, 1215 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1093, 1156 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (615): {
- 848,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049849,
- [ 240.118, 184.247, 11.2801 ],
- [ 7.74026, 80.4962, 3.26578 ],
- [ 0.0204639, 0.00667045 ],
- [ inf, inf, inf, inf ],
- [ 1037, 1096, 1156, 1215 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1097, 1156 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (616): {
- 849,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049856,
- [ 240.502, 184.542, 11.4417 ],
- [ 7.75294, 80.5169, 3.23426 ],
- [ 0.0204714, 0.00672208 ],
- [ inf, inf, inf, inf ],
- [ 1041, 1097, 1160, 1216 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1101, 1157 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (617): {
- 850,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049826,
- [ 240.882, 184.833, 11.6019 ],
- [ 7.76697, 80.5374, 3.20182 ],
- [ 0.0204834, 0.00677002 ],
- [ inf, inf, inf, inf ],
- [ 1046, 1097, 1165, 1216 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1106, 1157 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (618): {
- 851,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049861,
- [ 241.268, 185.13, 11.7606 ],
- [ 7.78131, 80.5571, 3.16956 ],
- [ 0.0204978, 0.00682275 ],
- [ inf, inf, inf, inf ],
- [ 1050, 1098, 1169, 1217 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1110, 1158 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (619): {
- 852,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049864,
- [ 241.658, 185.429, 11.9181 ],
- [ 7.79586, 80.5762, 3.13744 ],
- [ 0.0205064, 0.00687777 ],
- [ inf, inf, inf, inf ],
- [ 1055, 1099, 1174, 1218 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1115, 1159 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (620): {
- 853,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049755,
- [ 242.048, 185.728, 12.0732 ],
- [ 7.8138, 80.5943, 3.10327 ],
- [ 0.0205194, 0.00693352 ],
- [ inf, inf, inf, inf ],
- [ 1060, 1099, 1179, 1218 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1120, 1159 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (621): {
- 854,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049924,
- [ 242.439, 186.028, 12.2274 ],
- [ 7.83417, 80.6116, 3.06751 ],
- [ 0.0205274, 0.00698983 ],
- [ inf, inf, inf, inf ],
- [ 1065, 1100, 1184, 1219 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1125, 1160 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (622): {
- 855,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049827,
- [ 242.828, 186.327, 12.3793 ],
- [ 7.85417, 80.6288, 3.0334 ],
- [ 0.0205401, 0.00704585 ],
- [ inf, inf, inf, inf ],
- [ 1071, 1101, 1190, 1220 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1131, 1161 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (623): {
- 856,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049882,
- [ 243.218, 186.626, 12.5299 ],
- [ 7.87395, 80.6458, 3.00038 ],
- [ 0.0205548, 0.0071017 ],
- [ inf, inf, inf, inf ],
- [ 1076, 1101, 1195, 1220 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1136, 1161 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (624): {
- 857,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049821,
- [ 243.594, 186.914, 12.6342 ],
- [ 7.89557, 80.6612, 2.96722 ],
- [ 0.0205707, 0.00715727 ],
- [ inf, inf, inf, inf ],
- [ 1081, 1102, 1200, 1221 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1141, 1162 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (625): {
- 858,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049853,
- [ 243.958, 187.194, 12.7051 ],
- [ 7.91856, 80.6753, 2.9339 ],
- [ 0.0205876, 0.00721857 ],
- [ inf, inf, inf, inf ],
- [ 1086, 1103, 1205, 1222 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1146, 1163 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (626): {
- 859,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049843,
- [ 244.339, 187.486, 12.8088 ],
- [ 7.94419, 80.6908, 2.89742 ],
- [ 0.0205974, 0.00727675 ],
- [ inf, inf, inf, inf ],
- [ 1092, 1104, 1211, 1223 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1152, 1164 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (627): {
- 860,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049822,
- [ 244.746, 187.798, 12.9653 ],
- [ 7.97404, 80.7086, 2.85584 ],
- [ 0.0206119, 0.00733731 ],
- [ inf, inf, inf, inf ],
- [ 1097, 1105, 1216, 1224 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ 1157, 1165 ],
- invalid,
- 0,
- 0,
- 3,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (628): {
- 861,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049865,
- [ 245.15, 188.108, 13.1131 ],
- [ 8.00584, 80.7235, 2.81819 ],
- [ 0.0206257, 0.00739835 ],
- [ inf, inf, inf, inf ],
- [ -10059, -10059, -9940, -9940 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ -9999, -9999 ],
- invalid,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (629): {
- 862,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049832,
- [ 245.552, 188.417, 13.2536 ],
- [ 8.03919, 80.7359, 2.78377 ],
- [ 0.0206413, 0.00746085 ],
- [ inf, inf, inf, inf ],
- [ -10059, -10059, -9940, -9940 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ -9999, -9999 ],
- invalid,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (630): {
- 863,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049827,
- [ 245.907, 188.689, 13.3759 ],
- [ 8.0698, 80.7468, 2.75061 ],
- [ 0.0206572, 0.00752355 ],
- [ inf, inf, inf, inf ],
- [ -10059, -10059, -9940, -9940 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ -9999, -9999 ],
- invalid,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (631): {
- 864,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049843,
- [ 246.225, 188.933, 13.4841 ],
- [ 8.09828, 80.7565, 2.71843 ],
- [ 0.0206721, 0.00757338 ],
- [ inf, inf, inf, inf ],
- [ -10059, -10059, -9940, -9940 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ -9999, -9999 ],
- invalid,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (632): {
- 865,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049845,
- [ 246.553, 189.185, 13.5953 ],
- [ 8.12776, 80.7663, 2.68564 ],
- [ 0.0206898, 0.00765036 ],
- [ inf, inf, inf, inf ],
- [ -10059, -10059, -9940, -9940 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ -9999, -9999 ],
- invalid,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (633): {
- 866,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049842,
- [ 247.101, 189.605, 13.7726 ],
- [ 8.1797, 80.778, 2.63939 ],
- [ 0.020706, 0.00771621 ],
- [ inf, inf, inf, inf ],
- [ -10059, -10059, -9940, -9940 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ -9999, -9999 ],
- invalid,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (634): {
- 867,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.04988,
- [ 247.573, 189.967, 13.9234 ],
- [ 8.22501, 80.7878, 2.59809 ],
- [ 0.0207225, 0.00778219 ],
- [ inf, inf, inf, inf ],
- [ -10059, -10059, -9940, -9940 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ -9999, -9999 ],
- invalid,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (635): {
- 868,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049814,
- [ 247.981, 190.28, 14.0519 ],
- [ 8.26478, 80.7958, 2.56096 ],
- [ 0.0207391, 0.0078484 ],
- [ inf, inf, inf, inf ],
- [ -10059, -10059, -9940, -9940 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ -9999, -9999 ],
- invalid,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (636): {
- 869,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049838,
- [ 248.394, 190.597, 14.1785 ],
- [ 8.3085, 80.8035, 2.52308 ],
- [ 0.0207559, 0.00791509 ],
- [ inf, inf, inf, inf ],
- [ -10059, -10059, -9940, -9940 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ -9999, -9999 ],
- invalid,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (637): {
- 870,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049788,
- [ 248.812, 190.918, 14.3033 ],
- [ 8.3555, 80.8107, 2.48461 ],
- [ 0.0207725, 0.00798108 ],
- [ inf, inf, inf, inf ],
- [ -10059, -10059, -9940, -9940 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ -9999, -9999 ],
- invalid,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (638): {
- 871,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049898,
- [ 249.23, 191.239, 14.4263 ],
- [ 8.40405, 80.8168, 2.44698 ],
- [ 0.0207892, 0.00804987 ],
- [ inf, inf, inf, inf ],
- [ -10059, -10059, -9940, -9940 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ -9999, -9999 ],
- invalid,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (639): {
- 872,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049871,
- [ 249.648, 191.559, 14.5474 ],
- [ 8.45383, 80.8217, 2.41017 ],
- [ 0.0208059, 0.00811775 ],
- [ inf, inf, inf, inf ],
- [ -10059, -10059, -9940, -9940 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ -9999, -9999 ],
- invalid,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (640): {
- 873,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049742,
- [ 250.069, 191.883, 14.6661 ],
- [ 8.50574, 80.8262, 2.37154 ],
- [ 0.0208227, 0.00818595 ],
- [ inf, inf, inf, inf ],
- [ -10059, -10059, -9940, -9940 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ -9999, -9999 ],
- invalid,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- },
- (641): {
- 874,
- [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.049902,
- [ 250.497, 192.211, 14.7834 ],
- [ 8.55983, 80.8303, 2.33107 ],
- [ 0.0208397, 0.00825495 ],
- [ inf, inf, inf, inf ],
- [ -10059, -10059, -9940, -9940 ],
- [ -1, -1, -1, -1 ],
- [ -1, -1, -1, -1 ],
- [ 0, 0 ],
- [ -9999, -9999 ],
- invalid,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 0,
- 2
- }
- }
- }
- }
- }
-}
-}