From 417c4d2becf707faa498303650af86a09e8d6702 Mon Sep 17 00:00:00 2001 From: heltai Date: Fri, 16 May 2014 12:31:17 +0000 Subject: [PATCH] Merged r32862 through r32923 from trunk. git-svn-id: https://svn.dealii.org/branches/branch_manifold_id_intermediate@32924 0785d39b-7218-0410-832d-ea1e28bc413d --- .../cmake/configure/configure_1_bzip2.cmake | 14 - .../cmake/configure/configure_1_lapack.cmake | 127 +- deal.II/cmake/configure/configure_1_mpi.cmake | 138 - .../cmake/configure/configure_1_threads.cmake | 2 - .../cmake/configure/configure_1_zlib.cmake | 7 +- .../cmake/configure/configure_2_metis.cmake | 18 +- .../configure/configure_2_trilinos.cmake | 14 +- .../cmake/configure/configure_2_umfpack.cmake | 2 +- .../cmake/configure/configure_3_petsc.cmake | 29 +- .../cmake/configure/configure_arpack.cmake | 2 +- deal.II/cmake/configure/configure_boost.cmake | 86 - deal.II/cmake/configure/configure_hdf5.cmake | 25 +- deal.II/cmake/configure/configure_mumps.cmake | 16 +- .../cmake/configure/configure_muparser.cmake | 1 + deal.II/cmake/configure/configure_p4est.cmake | 25 +- deal.II/cmake/configure/configure_slepc.cmake | 8 +- .../macros/macro_check_mpi_interface.cmake | 59 + .../macros/macro_configure_feature.cmake | 34 +- .../macros/macro_deal_ii_find_file.cmake | 31 + .../macros/macro_deal_ii_find_library.cmake | 31 + .../macros/macro_deal_ii_find_path.cmake | 31 + .../macros/macro_deal_ii_package_handle.cmake | 97 +- .../cmake/macros/macro_purge_feature.cmake | 48 + .../cmake/macros/macro_register_feature.cmake | 23 +- deal.II/cmake/modules/FindARPACK.cmake | 3 +- deal.II/cmake/modules/FindBOOST.cmake | 82 + deal.II/cmake/modules/FindBZIP2.cmake | 46 + deal.II/cmake/modules/FindDEALII_LAPACK.cmake | 118 - deal.II/cmake/modules/FindHDF5.cmake | 12 +- deal.II/cmake/modules/FindLAPACK.cmake | 90 + deal.II/cmake/modules/FindMETIS.cmake | 10 +- deal.II/cmake/modules/FindMPI.cmake | 163 + deal.II/cmake/modules/FindMUMPS.cmake | 53 +- deal.II/cmake/modules/FindMUPARSER.cmake | 5 +- deal.II/cmake/modules/FindNETCDF.cmake | 7 +- deal.II/cmake/modules/FindP4EST.cmake | 20 +- deal.II/cmake/modules/FindPETSC.cmake | 28 +- deal.II/cmake/modules/FindSCALAPACK.cmake | 63 - deal.II/cmake/modules/FindSLEPC.cmake | 9 +- deal.II/cmake/modules/FindTBB.cmake | 9 +- deal.II/cmake/modules/FindTRILINOS.cmake | 112 +- deal.II/cmake/modules/FindUMFPACK.cmake | 14 +- deal.II/cmake/modules/FindZLIB.cmake | 49 + deal.II/cmake/setup_deal_ii.cmake | 14 + deal.II/cmake/setup_finalize.cmake | 26 +- deal.II/cmake/setup_write_config.cmake | 61 +- deal.II/doc/developers/cmake-internals.html | 84 +- deal.II/doc/news/changes.h | 64 + deal.II/doc/publications/index.html | 31 + deal.II/doc/users/cmake.html | 22 +- deal.II/doc/users/config.sample | 83 +- deal.II/examples/step-15/doc/intro.dox | 2 +- deal.II/examples/step-16/step-16.cc | 175 +- deal.II/examples/step-27/doc/intro.dox | 108 +- deal.II/examples/step-27/step-27.cc | 30 +- deal.II/examples/step-52/CMakeLists.txt | 31 + deal.II/examples/step-52/doc/builds-on | 1 + deal.II/examples/step-52/doc/intro.dox | 102 + deal.II/examples/step-52/doc/kind | 1 + deal.II/examples/step-52/doc/results.dox | 30 + deal.II/examples/step-52/doc/tooltip | 1 + deal.II/examples/step-52/step-52.cc | 629 + deal.II/examples/step-6/step-6.cc | 12 +- deal.II/include/deal.II/algorithms/any_data.h | 87 +- .../deal.II/algorithms/theta_timestepping.h | 26 +- .../algorithms/theta_timestepping.templates.h | 4 + deal.II/include/deal.II/base/config.h.in | 78 +- deal.II/include/deal.II/base/mpi.h | 19 +- deal.II/include/deal.II/base/named_data.h | 8 + deal.II/include/deal.II/base/quadrature_lib.h | 23 + deal.II/include/deal.II/base/vectorization.h | 212 +- deal.II/include/deal.II/distributed/tria.h | 2 +- deal.II/include/deal.II/dofs/dof_handler.h | 50 +- deal.II/include/deal.II/fe/fe.h | 12 +- deal.II/include/deal.II/fe/fe_abf.h | 12 +- deal.II/include/deal.II/fe/fe_dg_vector.h | 9 +- .../deal.II/fe/fe_dg_vector.templates.h | 7 +- deal.II/include/deal.II/fe/fe_dgp.h | 15 +- deal.II/include/deal.II/fe/fe_dgp_monomial.h | 15 +- .../include/deal.II/fe/fe_dgp_nonparametric.h | 15 +- deal.II/include/deal.II/fe/fe_dgq.h | 15 +- deal.II/include/deal.II/fe/fe_face.h | 20 +- deal.II/include/deal.II/fe/fe_nedelec.h | 6 +- deal.II/include/deal.II/fe/fe_q_base.h | 8 +- deal.II/include/deal.II/fe/fe_q_dg0.h | 8 +- .../include/deal.II/fe/fe_q_hierarchical.h | 15 +- .../include/deal.II/fe/fe_raviart_thomas.h | 17 +- deal.II/include/deal.II/fe/fe_system.h | 8 +- deal.II/include/deal.II/fe/fe_trace.h | 15 +- deal.II/include/deal.II/grid/tria.h | 2 +- deal.II/include/deal.II/hp/dof_handler.h | 58 +- deal.II/include/deal.II/lac/solver_gmres.h | 63 +- deal.II/include/deal.II/lac/sparsity_tools.h | 17 +- deal.II/source/base/CMakeLists.txt | 1 + deal.II/source/base/mpi.cc | 9 +- deal.II/source/base/named_selection.cc | 31 + deal.II/source/base/quadrature_lib.cc | 29 + deal.II/source/fe/fe_dgq.cc | 13 +- deal.II/source/grid/grid_in.cc | 48 +- deal.II/source/lac/sparsity_tools.cc | 136 +- tests/algorithms/any_data_01.cc | 6 +- tests/algorithms/any_data_01.output | 3 + tests/base/quadrature_sorted_test.cc | 246 + tests/base/quadrature_sorted_test.output | 148 + tests/base/vectorization_01.cc | 12 +- tests/base/vectorization_03.cc | 66 +- tests/base/vectorization_03.output | 2 +- tests/base/vectorization_04.cc | 91 + tests/base/vectorization_04.output | 9 + tests/deal.II/grid_in_vtk_3d_02.cc | 71 + tests/deal.II/grid_in_vtk_3d_02.output | 98 + tests/deal.II/grid_in_vtk_3d_02.vtk | 35 + tests/deal.II/grid_in_vtk_3d_03.cc | 71 + tests/deal.II/grid_in_vtk_3d_03.output | 98 + tests/deal.II/grid_in_vtk_3d_03.vtk | 42 + tests/fe/fe_data_test.cc | 5 + tests/fe/fe_data_test.output | 348 +- tests/lac/gmres_eigenvalues.cc | 117 + tests/lac/gmres_eigenvalues.output | 17 + tests/matrix_free/step-48.cc | 3 - ...=> metis_01.with_64bit_indices=off.output} | 0 .../metis_01.with_64bit_indices=on.output | 295 + tests/metis/metis_01a.cc | 165 + .../metis_01a.with_64bit_indices=off.output | 15 + .../metis_01a.with_64bit_indices=on.output | 15 + ...=> metis_02.with_64bit_indices=off.output} | 0 .../metis_02.with_64bit_indices=on.output | 16912 ++++++++++++++++ ...=> metis_03.with_64bit_indices=off.output} | 0 .../metis_03.with_64bit_indices=on.output | 12948 ++++++++++++ tests/tests.h | 230 +- 130 files changed, 34747 insertions(+), 1702 deletions(-) create mode 100644 deal.II/cmake/macros/macro_check_mpi_interface.cmake create mode 100644 deal.II/cmake/macros/macro_deal_ii_find_file.cmake create mode 100644 deal.II/cmake/macros/macro_deal_ii_find_library.cmake create mode 100644 deal.II/cmake/macros/macro_deal_ii_find_path.cmake create mode 100644 deal.II/cmake/macros/macro_purge_feature.cmake create mode 100644 deal.II/cmake/modules/FindBOOST.cmake create mode 100644 deal.II/cmake/modules/FindBZIP2.cmake delete mode 100644 deal.II/cmake/modules/FindDEALII_LAPACK.cmake create mode 100644 deal.II/cmake/modules/FindLAPACK.cmake create mode 100644 deal.II/cmake/modules/FindMPI.cmake delete mode 100644 deal.II/cmake/modules/FindSCALAPACK.cmake create mode 100644 deal.II/cmake/modules/FindZLIB.cmake create mode 100644 deal.II/examples/step-52/CMakeLists.txt create mode 100644 deal.II/examples/step-52/doc/builds-on create mode 100644 deal.II/examples/step-52/doc/intro.dox create mode 100644 deal.II/examples/step-52/doc/kind create mode 100644 deal.II/examples/step-52/doc/results.dox create mode 100644 deal.II/examples/step-52/doc/tooltip create mode 100644 deal.II/examples/step-52/step-52.cc create mode 100644 deal.II/source/base/named_selection.cc create mode 100644 tests/base/quadrature_sorted_test.cc create mode 100644 tests/base/quadrature_sorted_test.output create mode 100644 tests/base/vectorization_04.cc create mode 100644 tests/base/vectorization_04.output create mode 100644 tests/deal.II/grid_in_vtk_3d_02.cc create mode 100644 tests/deal.II/grid_in_vtk_3d_02.output create mode 100644 tests/deal.II/grid_in_vtk_3d_02.vtk create mode 100644 tests/deal.II/grid_in_vtk_3d_03.cc create mode 100644 tests/deal.II/grid_in_vtk_3d_03.output create mode 100644 tests/deal.II/grid_in_vtk_3d_03.vtk create mode 100644 tests/lac/gmres_eigenvalues.cc create mode 100644 tests/lac/gmres_eigenvalues.output rename tests/metis/{metis_01.output => metis_01.with_64bit_indices=off.output} (100%) create mode 100644 tests/metis/metis_01.with_64bit_indices=on.output create mode 100644 tests/metis/metis_01a.cc create mode 100644 tests/metis/metis_01a.with_64bit_indices=off.output create mode 100644 tests/metis/metis_01a.with_64bit_indices=on.output rename tests/metis/{metis_02.output => metis_02.with_64bit_indices=off.output} (100%) create mode 100644 tests/metis/metis_02.with_64bit_indices=on.output rename tests/metis/{metis_03.output => metis_03.with_64bit_indices=off.output} (100%) create mode 100644 tests/metis/metis_03.with_64bit_indices=on.output diff --git a/deal.II/cmake/configure/configure_1_bzip2.cmake b/deal.II/cmake/configure/configure_1_bzip2.cmake index 37a0f81305..42f3915ea9 100644 --- a/deal.II/cmake/configure/configure_1_bzip2.cmake +++ b/deal.II/cmake/configure/configure_1_bzip2.cmake @@ -18,18 +18,4 @@ # Configuration for the bzip2 library: # -MACRO(FEATURE_BZIP2_FIND_EXTERNAL var) - FIND_PACKAGE(BZip2) - - IF(BZIP2_FOUND) - # - # Rename variables: - # - SET(BZIP2_VERSION ${BZIP2_VERSION_STRING}) - SET(BZIP2_INCLUDE_DIRS ${BZIP2_INCLUDE_DIR}) - - SET(${var} TRUE) - ENDIF() -ENDMACRO() - CONFIGURE_FEATURE(BZIP2) diff --git a/deal.II/cmake/configure/configure_1_lapack.cmake b/deal.II/cmake/configure/configure_1_lapack.cmake index 258af871f2..f8c3ff1a21 100644 --- a/deal.II/cmake/configure/configure_1_lapack.cmake +++ b/deal.II/cmake/configure/configure_1_lapack.cmake @@ -19,77 +19,74 @@ # MACRO(FEATURE_LAPACK_FIND_EXTERNAL var) - FIND_PACKAGE(DEALII_LAPACK) + FIND_PACKAGE(LAPACK) - IF(LAPACK_FOUND) - SET(${var} TRUE) - ENDIF() -ENDMACRO() - - -# -# We do a fine grained check for availability of every single LAPACK -# function we use. We have to ensure that this check is repeated every time -# the lapack library or DEAL_II_WITH_LAPACK changes. -# - -SET(DEAL_II_LAPACK_FUNCTIONS - daxpy_ dgeev_ dgeevx_ dgelsd_ dgemm_ dgemv_ dgeqrf_ dgesdd_ dgesvd_ - dgetrf_ dgetri_ dgetrs_ dorgqr_ dormqr_ dstev_ dsyevx_ dsygv_ dsygvx_ - dtrtrs_ saxpy_ sgeev_ sgeevx_ sgelsd_ sgemm_ sgemv_ sgeqrf_ sgesdd_ - sgesvd_ sgetrf_ sgetri_ sgetrs_ sorgqr_ sormqr_ sstev_ ssyevx_ ssygv_ - ssygvx_ strtrs_ - ) - -MACRO(CHECK_FOR_LAPACK_FUNCTIONS) - # - # Clear the test flags because the following test will use a C compiler - # - CLEAR_CMAKE_REQUIRED() - SET(CMAKE_REQUIRED_FLAGS "${LAPACK_LINKER_FLAGS}") - SET(CMAKE_REQUIRED_LIBRARIES ${LAPACK_LIBRARIES}) # - # Push -pthread as well: + # We do a check for availability of every single LAPACK function we use. # - ENABLE_IF_SUPPORTED(CMAKE_REQUIRED_FLAGS "-pthread") + IF(LAPACK_FOUND) + SET(${var} TRUE) - IF(CMAKE_C_COMPILER_WORKS) - FOREACH(_func ${DEAL_II_LAPACK_FUNCTIONS}) - STRING(TOUPPER ${_func} _func_uppercase) - CHECK_FUNCTION_EXISTS(${_func} HAVE_${_func_uppercase}) - ENDFOREACH() - ELSE() - MESSAGE(STATUS - "No suitable C compiler was found! Skipping LAPACK symbol check." - ) - FOREACH(_func ${DEAL_II_LAPACK_FUNCTIONS}) - SET_IF_EMPTY(HAVE_${_func_uppercase} TRUE) - ENDFOREACH() + # + # Clear the test flags because the following test will use a C compiler + # + CLEAR_CMAKE_REQUIRED() + SET(CMAKE_REQUIRED_FLAGS "${LAPACK_LINKER_FLAGS}") + SET(CMAKE_REQUIRED_LIBRARIES ${LAPACK_LIBRARIES}) + # Push -pthread as well: + ENABLE_IF_SUPPORTED(CMAKE_REQUIRED_FLAGS "-pthread") + + IF(CMAKE_C_COMPILER_WORKS) + + INCLUDE(CheckCSourceCompiles) + CHECK_C_SOURCE_COMPILES(" + char daxpy_(); char dgeev_(); char dgeevx_(); char dgelsd_(); char + dgemm_(); char dgemv_(); char dgeqrf_(); char dgesdd_(); char + dgesvd_(); char dgetrf_(); char dgetri_(); char dgetrs_(); char + dorgqr_(); char dormqr_(); char dstev_(); char dsyevx_(); char + dsygv_(); char dsygvx_(); char dtrtrs_(); char saxpy_(); char + sgeev_(); char sgeevx_(); char sgelsd_(); char sgemm_(); char + sgemv_(); char sgeqrf_(); char sgesdd_(); char sgesvd_(); char + sgetrf_(); char sgetri_(); char sgetrs_(); char sorgqr_(); char + sormqr_(); char sstev_(); char ssyevx_(); char ssygv_(); char + ssygvx_(); char strtrs_(); + int main(){ + daxpy_ (); dgeev_ (); dgeevx_ (); dgelsd_ (); dgemm_ (); dgemv_ (); + dgeqrf_ (); dgesdd_ (); dgesvd_ (); dgetrf_ (); dgetri_ (); dgetrs_ + (); dorgqr_ (); dormqr_ (); dstev_ (); dsyevx_ (); dsygv_ (); + dsygvx_ (); dtrtrs_ (); saxpy_ (); sgeev_ (); sgeevx_ (); sgelsd_ + (); sgemm_ (); sgemv_ (); sgeqrf_ (); sgesdd_ (); sgesvd_ (); + sgetrf_ (); sgetri_ (); sgetrs_ (); sorgqr_ (); sormqr_ (); sstev_ + (); ssyevx_ (); ssygv_ (); ssygvx_ (); strtrs_ (); + + return 0; + }" + LAPACK_SYMBOL_CHECK) + + IF(NOT LAPACK_SYMBOL_CHECK) + MESSAGE(STATUS + "Could not find a sufficient BLAS/LAPACK installation: " + "BLAS/LAPACK symbol check failed! Consult CMakeFiles/CMakeError.log " + "for further information." + ) + SET(LAPACK_ADDITIONAL_ERROR_STRING + ${LAPACK_ADDITIONAL_ERROR_STRING} + "Could not find a sufficient BLAS/LAPACK installation: \n" + "BLAS/LAPACK symbol check failed! This usually means that your " + "BLAS/LAPACK installation is incomplete or the link line is " + "broken. Consult\n" + " CMakeFiles/CMakeError.log\n" + "for further information.\n" + ) + SET(${var} FALSE) + ENDIF() + ELSE() + MESSAGE(STATUS + "No suitable C compiler was found! Skipping LAPACK symbol check." + ) + ENDIF() ENDIF() - - RESET_CMAKE_REQUIRED() -ENDMACRO() - - -MACRO(RESET_LAPACK_FUNCTIONS_CACHE) - FOREACH(_func ${DEAL_II_LAPACK_FUNCTIONS}) - STRING(TOUPPER ${_func} _func_uppercase) - UNSET(HAVE_${_func_uppercase} CACHE) - ENDFOREACH() -ENDMACRO() - - -MACRO(FEATURE_LAPACK_CONFIGURE_EXTERNAL) - CHECK_FOR_LAPACK_FUNCTIONS() ENDMACRO() CONFIGURE_FEATURE(LAPACK) - -# -# Call RESET_LAPACK_FUNCTIONS_CHECK if DEAL_II_WITH_LAPACK is unset to -# clean the configuration -# -IF(NOT DEAL_II_WITH_LAPACK) - RESET_LAPACK_FUNCTIONS_CACHE() -ENDIF() diff --git a/deal.II/cmake/configure/configure_1_mpi.cmake b/deal.II/cmake/configure/configure_1_mpi.cmake index a73e27d962..7c0bda441d 100644 --- a/deal.II/cmake/configure/configure_1_mpi.cmake +++ b/deal.II/cmake/configure/configure_1_mpi.cmake @@ -17,139 +17,6 @@ # # Configuration for mpi support: # -# We look for the C and Fortran libraries as well because they are needed -# by some external libraries for the link interface: -# - -MACRO(FEATURE_MPI_FIND_EXTERNAL var) - # - # Obey a manual user override: If MPI_CXX_FOUND is set to true in the - # cache, we skip the FIND_PACKAGE calls: - # - IF(MPI_CXX_FOUND) - SET(MPI_FOUND TRUE) - ENDIF() - - # - # If CMAKE_CXX_COMPILER is already an MPI wrapper, use it to determine - # the mpi implementation. If MPI_CXX_COMPILER is defined use the value - # directly. - # - SET_IF_EMPTY(MPI_CXX_COMPILER ${CMAKE_CXX_COMPILER}) - IF(CMAKE_C_COMPILER_WORKS) - SET_IF_EMPTY(MPI_C_COMPILER ${CMAKE_C_COMPILER}) # for good measure - ELSE() - MESSAGE(STATUS - "No suitable C compiler was found! MPI C interface can not be " - "autodetected" - ) - ENDIF() - IF(CMAKE_Fortran_COMPILER_WORKS) - SET_IF_EMPTY(MPI_Fortran_COMPILER ${CMAKE_Fortran_COMPILER}) # for good measure - ELSE() - MESSAGE(STATUS - "No suitable Fortran compiler was found! MPI Fortran interface can " - "not be autodetected" - ) - ENDIF() - - FIND_PACKAGE(MPI) - - IF(NOT MPI_CXX_FOUND AND DEAL_II_WITH_MPI) - # - # CMAKE_CXX_COMPILER is apparently not an mpi wrapper. - # So, let's be a bit more aggressive in finding MPI (and if - # DEAL_II_WITH_MPI is set). - # - MESSAGE(STATUS - "MPI not found but DEAL_II_WITH_MPI is set to TRUE." - " Try again with more aggressive search paths:" - ) - SET(MPI_FOUND) # clear this value so that FIND_PACKAGE runs again. - UNSET(MPI_CXX_COMPILER CACHE) - UNSET(MPI_C_COMPILER CACHE) - UNSET(MPI_Fortran_COMPILER CACHE) - FIND_PACKAGE(MPI) - ENDIF() - - # - # Manually clean up variables: - # - FOREACH(_lang C CXX Fortran) - IF(MPI_${_lang}_LIBRARIES MATCHES "-NOTFOUND") - SET(MPI_${_lang}_LIBRARIES) - ENDIF() - ENDFOREACH() - - IF(MPI_CXX_FOUND) - # - # Manually assemble some version information: - # - FIND_FILE(MPI_MPI_H NAMES mpi.h - HINTS ${MPI_INCLUDE_PATH} - ) - - IF(NOT MPI_MPI_H MATCHES "-NOTFOUND" AND NOT DEFINED MPI_VERSION) - FILE(STRINGS "${MPI_MPI_H}" MPI_VERSION_MAJOR_STRING - REGEX "#define.*MPI_VERSION") - STRING(REGEX REPLACE "^.*MPI_VERSION.*([0-9]+).*" "\\1" - MPI_VERSION_MAJOR "${MPI_VERSION_MAJOR_STRING}" - ) - FILE(STRINGS ${MPI_MPI_H} MPI_VERSION_MINOR_STRING - REGEX "#define.*MPI_SUBVERSION") - STRING(REGEX REPLACE "^.*MPI_SUBVERSION.*([0-9]+).*" "\\1" - MPI_VERSION_MINOR "${MPI_VERSION_MINOR_STRING}" - ) - SET(MPI_VERSION "${MPI_VERSION_MAJOR}.${MPI_VERSION_MINOR}") - IF("${MPI_VERSION}" STREQUAL ".") - SET(MPI_VERSION) - SET(MPI_VERSION_MAJOR) - SET(MPI_VERSION_MINOR) - ENDIF() - - # OMPI specific version number: - FILE(STRINGS ${MPI_MPI_H} OMPI_VERSION_MAJOR_STRING - REGEX "#define.*OMPI_MAJOR_VERSION") - STRING(REGEX REPLACE "^.*OMPI_MAJOR_VERSION.*([0-9]+).*" "\\1" - OMPI_VERSION_MAJOR "${OMPI_VERSION_MAJOR_STRING}" - ) - FILE(STRINGS ${MPI_MPI_H} OMPI_VERSION_MINOR_STRING - REGEX "#define.*OMPI_MINOR_VERSION") - STRING(REGEX REPLACE "^.*OMPI_MINOR_VERSION.*([0-9]+).*" "\\1" - OMPI_VERSION_MINOR "${OMPI_VERSION_MINOR_STRING}" - ) - FILE(STRINGS ${MPI_MPI_H} OMPI_VERSION_RELEASE_STRING - REGEX "#define.*OMPI_RELEASE_VERSION") - STRING(REGEX REPLACE "^.*OMPI_RELEASE_VERSION.*([0-9]+).*" "\\1" - OMPI_VERSION_SUBMINOR "${OMPI_VERSION_RELEASE_STRING}" - ) - SET(OMPI_VERSION - "${OMPI_VERSION_MAJOR}.${OMPI_VERSION_MINOR}.${OMPI_VERSION_SUBMINOR}" - ) - IF("${OMPI_VERSION}" STREQUAL "..") - SET(OMPI_VERSION) - SET(OMPI_VERSION_MAJOR) - SET(OMPI_VERSION_MINOR) - SET(OMPI_VERSION_SUBMINOR) - ENDIF() - ENDIF() - - SET(${var} TRUE) - ENDIF() - - # Hide some variables: - MARK_AS_ADVANCED(MPI_EXTRA_LIBRARY MPI_LIBRARY MPI_MPI_H) - - # - # Populate correct variables: - # - SET(MPI_LIBRARIES ${MPI_CXX_LIBRARIES}) - SET(MPI_INCLUDE_DIRS ${MPI_CXX_INCLUDE_PATH}) - SET(MPI_CXX_FLAGS ${MPI_CXX_COMPILE_FLAGS}) - SET(MPI_LINKER_FLAGS "${MPI_CXX_LINK_FLAGS}") - -ENDMACRO() - MACRO(FEATURE_MPI_ERROR_MESSAGE) MESSAGE(FATAL_ERROR "\n" @@ -169,8 +36,3 @@ ENDMACRO() CONFIGURE_FEATURE(MPI) - -# -# The user has to know the location of the mpi headers as well: -# -SET(MPI_USER_INCLUDE_DIRS ${MPI_INCLUDE_DIRS}) diff --git a/deal.II/cmake/configure/configure_1_threads.cmake b/deal.II/cmake/configure/configure_1_threads.cmake index 4a697a8358..f07f29725d 100644 --- a/deal.II/cmake/configure/configure_1_threads.cmake +++ b/deal.II/cmake/configure/configure_1_threads.cmake @@ -14,13 +14,11 @@ ## ## --------------------------------------------------------------------- - # # Configuration for thread support in deal.II with the help of the tbb # library: # - # # Set up general threading: # The macro will be included in CONFIGURE_FEATURE_THREADS_EXTERNAL/BUNDLED. diff --git a/deal.II/cmake/configure/configure_1_zlib.cmake b/deal.II/cmake/configure/configure_1_zlib.cmake index 772f66acbc..5058a7195c 100644 --- a/deal.II/cmake/configure/configure_1_zlib.cmake +++ b/deal.II/cmake/configure/configure_1_zlib.cmake @@ -1,7 +1,7 @@ ## --------------------------------------------------------------------- ## $Id$ ## -## Copyright (C) 2012 - 2013 by the deal.II authors +## Copyright (C) 2012 - 2014 by the deal.II authors ## ## This file is part of the deal.II library. ## @@ -19,8 +19,3 @@ # CONFIGURE_FEATURE(ZLIB) - -# Export ZLIB_VERSION: -IF(DEFINED ZLIB_VERSION_STRING) - SET(ZLIB_VERSION ${ZLIB_VERSION_STRING}) -ENDIF() diff --git a/deal.II/cmake/configure/configure_2_metis.cmake b/deal.II/cmake/configure/configure_2_metis.cmake index 739c7a6274..4d499c0d60 100644 --- a/deal.II/cmake/configure/configure_2_metis.cmake +++ b/deal.II/cmake/configure/configure_2_metis.cmake @@ -14,6 +14,8 @@ ## ## --------------------------------------------------------------------- +SET(FEATURE_METIS_AFTER MPI) + # # Configuration for the metis library: # @@ -22,9 +24,9 @@ MACRO(FEATURE_METIS_FIND_EXTERNAL var) FIND_PACKAGE(METIS) IF(METIS_FOUND) - IF(METIS_VERSION_MAJOR GREATER 4) - SET(${var} TRUE) - ELSE() + SET(${var} TRUE) + + IF(NOT METIS_VERSION_MAJOR GREATER 4) MESSAGE(STATUS "Insufficient metis installation found: " "Version 5.x required!" ) @@ -32,14 +34,10 @@ MACRO(FEATURE_METIS_FIND_EXTERNAL var) "Could not find a sufficient modern metis installation: " "Version 5.x required!\n" ) - - UNSET(METIS_LIBRARY CACHE) - UNSET(METIS_INCLUDE_DIR CACHE) - SET(METIS_DIR "" CACHE PATH - "An optional hint to a metis directory" - ) - MARK_AS_ADVANCED(CLEAR METIS_DIR) + SET(${var} FALSE) ENDIF() + + CHECK_MPI_INTERFACE(METIS ${var}) ENDIF() ENDMACRO() diff --git a/deal.II/cmake/configure/configure_2_trilinos.cmake b/deal.II/cmake/configure/configure_2_trilinos.cmake index b7b0006211..7b680a4f5e 100644 --- a/deal.II/cmake/configure/configure_2_trilinos.cmake +++ b/deal.II/cmake/configure/configure_2_trilinos.cmake @@ -180,23 +180,12 @@ MACRO(FEATURE_TRILINOS_FIND_EXTERNAL var) ENDIF() ENDIF() - ENDIF(TRILINOS_FOUND) - - IF(NOT ${var}) - UNSET(TRILINOS_CONFIG CACHE) - SET(TRILINOS_DIR "" CACHE STRING - "An optional hint to a Trilinos installation" - ) - MARK_AS_ADVANCED(CLEAR TRILINOS_DIR) + CHECK_MPI_INTERFACE(TRILINOS ${var}) ENDIF() - ENDMACRO() MACRO(FEATURE_TRILINOS_CONFIGURE_EXTERNAL) - - SET(TRILINOS_USER_INCLUDE_DIRS ${TRILINOS_INCLUDE_DIRS}) - SET(DEAL_II_EXPAND_TRILINOS_VECTOR "TrilinosWrappers::Vector") SET(DEAL_II_EXPAND_TRILINOS_BLOCKVECTOR "TrilinosWrappers::BlockVector") SET(DEAL_II_EXPAND_TRILINOS_SPARSITY_PATTERN "TrilinosWrappers::SparsityPattern") @@ -210,7 +199,6 @@ MACRO(FEATURE_TRILINOS_CONFIGURE_EXTERNAL) ENABLE_IF_SUPPORTED(TRILINOS_CXX_FLAGS "-Wno-unused") ENABLE_IF_SUPPORTED(TRILINOS_CXX_FLAGS "-Wno-extra") ENABLE_IF_SUPPORTED(TRILINOS_CXX_FLAGS "-Wno-overloaded-virtual") - ENDMACRO() diff --git a/deal.II/cmake/configure/configure_2_umfpack.cmake b/deal.II/cmake/configure/configure_2_umfpack.cmake index f1d0d74513..5f0760ef3c 100644 --- a/deal.II/cmake/configure/configure_2_umfpack.cmake +++ b/deal.II/cmake/configure/configure_2_umfpack.cmake @@ -18,7 +18,7 @@ # Configuration for the umfpack library: # -SET(FEATURE_UMFPACK_DEPENDS DEAL_II_WITH_LAPACK) +SET(FEATURE_UMFPACK_DEPENDS LAPACK) MACRO(FEATURE_UMFPACK_CONFIGURE_BUNDLED) SET(UMFPACK_BUNDLED_INCLUDE_DIRS diff --git a/deal.II/cmake/configure/configure_3_petsc.cmake b/deal.II/cmake/configure/configure_3_petsc.cmake index 81cdd69e30..662c30f8a3 100644 --- a/deal.II/cmake/configure/configure_3_petsc.cmake +++ b/deal.II/cmake/configure/configure_3_petsc.cmake @@ -18,9 +18,10 @@ # Configuration for the petsc library: # +SET(FEATURE_PETSC_AFTER MPI) -MACRO(FEATURE_PETSC_FIND_EXTERNAL var) +MACRO(FEATURE_PETSC_FIND_EXTERNAL var) FIND_PACKAGE(PETSC) IF(PETSC_FOUND) @@ -67,7 +68,6 @@ MACRO(FEATURE_PETSC_FIND_EXTERNAL var) SET(${var} FALSE) ENDIF() - # # Petsc has to be configured with the same number of bits for indices as # deal.II. @@ -94,36 +94,21 @@ MACRO(FEATURE_PETSC_FIND_EXTERNAL var) SET(${var} FALSE) ENDIF() - IF(NOT ${var}) - UNSET(PETSC_INCLUDE_DIR_ARCH CACHE) - UNSET(PETSC_INCLUDE_DIR_COMMON CACHE) - UNSET(PETSC_LIBRARY CACHE) - UNSET(PETSC_PETSCVARIABLES CACHE) - SET(PETSC_DIR "" CACHE PATH - "An optional hint to a PETSc directory" - ) - SET(PETSC_ARCH "" CACHE STRING - "An optional hint to a PETSc arch" - ) - MARK_AS_ADVANCED(CLEAR PETSC_DIR PETSC_ARCH) - ENDIF() + CHECK_MPI_INTERFACE(PETSC ${var}) ENDIF() ENDMACRO() MACRO(FEATURE_PETSC_CONFIGURE_EXTERNAL) - - SET(PETSC_USER_INCLUDE_DIRS ${PETSC_INCLUDE_DIRS}) + SET(DEAL_II_EXPAND_PETSC_VECTOR "PETScWrappers::Vector") + SET(DEAL_II_EXPAND_PETSC_BLOCKVECTOR "PETScWrappers::BlockVector") + SET(DEAL_II_EXPAND_PETSC_MPI_VECTOR "PETScWrappers::MPI::Vector") + SET(DEAL_II_EXPAND_PETSC_MPI_BLOCKVECTOR "PETScWrappers::MPI::BlockVector") # # Disable a bunch of warnings when compiling with petsc: # ENABLE_IF_SUPPORTED(PETSC_CXX_FLAGS "-Wno-long-long") - - SET(DEAL_II_EXPAND_PETSC_VECTOR "PETScWrappers::Vector") - SET(DEAL_II_EXPAND_PETSC_BLOCKVECTOR "PETScWrappers::BlockVector") - SET(DEAL_II_EXPAND_PETSC_MPI_VECTOR "PETScWrappers::MPI::Vector") - SET(DEAL_II_EXPAND_PETSC_MPI_BLOCKVECTOR "PETScWrappers::MPI::BlockVector") ENDMACRO() diff --git a/deal.II/cmake/configure/configure_arpack.cmake b/deal.II/cmake/configure/configure_arpack.cmake index bf2f5f4aca..f631bec3bd 100644 --- a/deal.II/cmake/configure/configure_arpack.cmake +++ b/deal.II/cmake/configure/configure_arpack.cmake @@ -18,6 +18,6 @@ # Configuration for the ARPACK library: # -SET(FEATURE_ARPACK_DEPENDS DEAL_II_WITH_LAPACK) +SET(FEATURE_ARPACK_DEPENDS LAPACK) CONFIGURE_FEATURE(ARPACK) diff --git a/deal.II/cmake/configure/configure_boost.cmake b/deal.II/cmake/configure/configure_boost.cmake index ec72b800a2..4ae786788b 100644 --- a/deal.II/cmake/configure/configure_boost.cmake +++ b/deal.II/cmake/configure/configure_boost.cmake @@ -18,93 +18,11 @@ # Configuration for the boost library: # -# -# This configure script has to be included after configure_threads. -# We need some of the variables defined in SETUP_THREADING for -# the setup of the bundled boost library (if used) -# -IF(NOT FEATURE_THREADS_PROCESSED) - MESSAGE(FATAL_ERROR "\n" - "Internal build system error:\n" - "configure_boost.cmake included before configure_1_threads.cmake\n\n" - ) -ENDIF() - - SET(DEAL_II_WITH_BOOST ON # Always true. We need it :-] CACHE BOOL "Build deal.II with support for boost." FORCE ) -MACRO(FEATURE_BOOST_FIND_EXTERNAL var) - - # - # This mumbo jumbo is necessary because CMake won't let us test against - # BOOST_DIR directly. WTF?! - # - IF(NOT DEFINED BOOST_DIR) - SET(BOOST_DIR "$ENV{BOOST_DIR}") - ELSE() - SET_IF_EMPTY(BOOST_DIR "$ENV{BOOST_DIR}") - ENDIF() - - IF(NOT "${BOOST_DIR}" STREQUAL "") - SET(BOOST_ROOT "${BOOST_DIR}") - ENDIF() - - IF(DEAL_II_WITH_THREADS) - SET(_boost_components iostreams serialization system thread) - ELSE() - SET(_boost_components iostreams serialization system) - ENDIF() - - # - # Prefer static libs if BUILD_SHARED_LIBS=OFF: - # - IF(NOT BUILD_SHARED_LIBS) - SET(Boost_USE_STATIC_LIBS TRUE) - ENDIF() - - FIND_PACKAGE(Boost 1.44 COMPONENTS ${_boost_components}) - - # - # Fall back to dynamic libraries if no static libraries could be found: - # - IF(NOT Boost_FOUND AND Boost_USE_STATIC_LIBS) - SET(Boost_USE_STATIC_LIBS FALSE) - FIND_PACKAGE(Boost 1.44 COMPONENTS ${_boost_components}) - ENDIF() - - MARK_AS_ADVANCED(Boost_DIR) - - IF(Boost_FOUND) - SET(BOOST_VERSION_MAJOR "${Boost_MAJOR_VERSION}") - SET(BOOST_VERSION_MINOR "${Boost_MINOR_VERSION}") - SET(BOOST_VERSION_SUBMINOR "${Boost_SUBMINOR_VERSION}") - SET(BOOST_VERSION - "${BOOST_VERSION_MAJOR}.${BOOST_VERSION_MINOR}.${BOOST_VERSION_SUBMINOR}" - ) - - # - # Remove "pthread" from Boost_LIBRARIES. Threading, if necessary, is - # already set up via configure_1_threads.cmake. - # - LIST(REMOVE_ITEM Boost_LIBRARIES "pthread") - - SET(BOOST_INCLUDE_DIRS ${Boost_INCLUDE_DIRS}) - SET(BOOST_LIBRARIES ${Boost_LIBRARIES}) - - MARK_AS_ADVANCED(BOOST_DIR) - - SET(${var} TRUE) - - ELSE() - - SET(BOOST_DIR "" CACHE PATH "An optional hint to a boost directory") - ENDIF() -ENDMACRO() - - MACRO(FEATURE_BOOST_CONFIGURE_BUNDLED) SET(BOOST_BUNDLED_INCLUDE_DIRS ${BOOST_FOLDER}/include) ENDMACRO() @@ -112,10 +30,6 @@ ENDMACRO() CONFIGURE_FEATURE(BOOST) -# -# The user has to know the location of the boost headers as well: -# -SET(BOOST_USER_INCLUDE_DIRS ${BOOST_INCLUDE_DIRS}) # # DEAL_II_WITH_BOOST is always required. diff --git a/deal.II/cmake/configure/configure_hdf5.cmake b/deal.II/cmake/configure/configure_hdf5.cmake index 5dd027d482..6a335a232c 100644 --- a/deal.II/cmake/configure/configure_hdf5.cmake +++ b/deal.II/cmake/configure/configure_hdf5.cmake @@ -18,17 +18,17 @@ # Configuration for the hdf5 library: # +SET(FEATURE_HDF5_AFTER MPI) + + MACRO(FEATURE_HDF5_FIND_EXTERNAL var) FIND_PACKAGE(HDF5) IF(HDF5_FOUND) + SET(${var} TRUE) - IF( (HDF5_WITH_MPI AND DEAL_II_WITH_MPI) OR - (NOT HDF5_WITH_MPI AND NOT DEAL_II_WITH_MPI) ) - SET(${var} TRUE) - - ELSE() - + IF( (HDF5_WITH_MPI AND NOT DEAL_II_WITH_MPI) OR + (NOT HDF5_WITH_MPI AND DEAL_II_WITH_MPI) ) MESSAGE(STATUS "Insufficient hdf5 installation found: " "hdf5 has to be configured with the same MPI configuration as deal.II." ) @@ -38,19 +38,12 @@ MACRO(FEATURE_HDF5_FIND_EXTERNAL var) " DEAL_II_WITH_MPI = ${DEAL_II_WITH_MPI}\n" " HDF5_WITH_MPI = ${HDF5_WITH_MPI}\n" ) - UNSET(HDF5_HL_LIBRARY CACHE) - UNSET(HDF5_INCLUDE_DIR CACHE) - UNSET(HDF5_LIBRARY CACHE) - UNSET(HDF5_PUBCONF CACHE) + SET(${var} FALSE) ENDIF() + + CHECK_MPI_INTERFACE(HDF5 ${var}) ENDIF() ENDMACRO() CONFIGURE_FEATURE(HDF5) - - -# -# The user has to know the location of the hdf5 headers as well: -# -SET(HDF5_USER_INCLUDE_DIRS ${HDF5_INCLUDE_DIRS}) diff --git a/deal.II/cmake/configure/configure_mumps.cmake b/deal.II/cmake/configure/configure_mumps.cmake index a02e94d0b9..ce1d2652b1 100644 --- a/deal.II/cmake/configure/configure_mumps.cmake +++ b/deal.II/cmake/configure/configure_mumps.cmake @@ -18,12 +18,16 @@ # Configuration for the MUMPS library: # -SET(FEATURE_MUMPS_DEPENDS DEAL_II_WITH_MPI DEAL_II_WITH_LAPACK) +SET(FEATURE_MUMPS_DEPENDS MPI LAPACK) -CONFIGURE_FEATURE(MUMPS) +MACRO(FEATURE_MUMPS_FIND_EXTERNAL var) + FIND_PACKAGE(MUMPS) -# -# The user has to know the location of the MUMPS headers as well: -# -SET(MUMPS_USER_INCLUDE_DIRS ${MUMPS_INCLUDE_DIRS}) + IF(MUMPS_FOUND) + SET(${var} TRUE) + CHECK_MPI_INTERFACE(MUMPS ${var}) + ENDIF() +ENDMACRO() + +CONFIGURE_FEATURE(MUMPS) diff --git a/deal.II/cmake/configure/configure_muparser.cmake b/deal.II/cmake/configure/configure_muparser.cmake index 29aab1f087..badb1c5b68 100644 --- a/deal.II/cmake/configure/configure_muparser.cmake +++ b/deal.II/cmake/configure/configure_muparser.cmake @@ -22,4 +22,5 @@ MACRO(FEATURE_MUPARSER_CONFIGURE_BUNDLED) SET(MUPARSER_BUNDLED_INCLUDE_DIRS ${MUPARSER_FOLDER}/include) ENDMACRO() + CONFIGURE_FEATURE(MUPARSER) diff --git a/deal.II/cmake/configure/configure_p4est.cmake b/deal.II/cmake/configure/configure_p4est.cmake index a54643b60c..25acd30d86 100644 --- a/deal.II/cmake/configure/configure_p4est.cmake +++ b/deal.II/cmake/configure/configure_p4est.cmake @@ -18,7 +18,8 @@ # Configuration for the p4est and sc libraries: # -SET(FEATURE_P4EST_DEPENDS DEAL_II_WITH_MPI) +SET(FEATURE_P4EST_DEPENDS MPI) + MACRO(FEATURE_P4EST_FIND_EXTERNAL var) FIND_PACKAGE(P4EST) @@ -55,29 +56,9 @@ MACRO(FEATURE_P4EST_FIND_EXTERNAL var) SET(${var} FALSE) ENDIF() - # - # Reset configuration: - # - IF(NOT ${var}) - UNSET(P4EST_LIBRARY_OPTIMIZED CACHE) - UNSET(P4EST_LIBRARY_DEBUG CACHE) - UNSET(P4EST_INCLUDE_DIR CACHE) - UNSET(SC_LIBRARY_OPTIMIZED CACHE) - UNSET(SC_LIBRARY_DEBUG CACHE) - UNSET(SC_INCLUDE_DIR CACHE) - SET(P4EST_DIR "" CACHE PATH - "An optional hint to a p4est installation/directory" - ) - MARK_AS_ADVANCED(CLEAR P4EST_DIR) - ENDIF() - + CHECK_MPI_INTERFACE(P4EST ${var}) ENDIF() ENDMACRO() CONFIGURE_FEATURE(P4EST) - -# -# The user has to know the location of the P4est headers as well: -# -SET(P4EST_USER_INCLUDE_DIRS ${P4EST_INCLUDE_DIRS}) diff --git a/deal.II/cmake/configure/configure_slepc.cmake b/deal.II/cmake/configure/configure_slepc.cmake index a4b97958fc..c300f7ea7b 100644 --- a/deal.II/cmake/configure/configure_slepc.cmake +++ b/deal.II/cmake/configure/configure_slepc.cmake @@ -18,7 +18,8 @@ # Configuration for the SLEPC library: # -SET(FEATURE_SLEPC_DEPENDS DEAL_II_WITH_PETSC) +SET(FEATURE_SLEPC_DEPENDS PETSC) + MACRO(FEATURE_SLEPC_FIND_EXTERNAL var) FIND_PACKAGE(SLEPC) @@ -78,8 +79,3 @@ ENDMACRO() CONFIGURE_FEATURE(SLEPC) - -# -# The user has to know the location of the SLEPC headers as well: -# -SET(SLEPC_USER_INCLUDE_DIRS ${SLEPC_INCLUDE_DIRS}) diff --git a/deal.II/cmake/macros/macro_check_mpi_interface.cmake b/deal.II/cmake/macros/macro_check_mpi_interface.cmake new file mode 100644 index 0000000000..0011282f69 --- /dev/null +++ b/deal.II/cmake/macros/macro_check_mpi_interface.cmake @@ -0,0 +1,59 @@ +## --------------------------------------------------------------------- +## $Id$ +## +## Copyright (C) 2014 by the deal.II authors +## +## This file is part of the deal.II library. +## +## The deal.II library is free software; you can use it, redistribute +## it, and/or modify it under the terms of the GNU Lesser General +## Public License as published by the Free Software Foundation; either +## version 2.1 of the License, or (at your option) any later version. +## The full text of the license can be found in the file LICENSE at +## the top level of the deal.II distribution. +## +## --------------------------------------------------------------------- + +# +# Check whether a feature is compiled against the same MPI library as the +# one deal.II picked up +# +# Usage: +# CHECK_MPI_INTERFACE(_feature _var), +# + +MACRO(CHECK_MPI_INTERFACE _feature _var) + IF(DEAL_II_WITH_MPI) + SET(_nope FALSE) + + FOREACH(_library ${${_feature}_LIBRARIES}) + IF(_library MATCHES "/libmpi[^/]*\\.so") + LIST(FIND MPI_LIBRARIES "${_library}" _position) + IF("${_position}" STREQUAL "-1") + SET(_nope TRUE) + SET(_mpi_library ${_library}) + BREAK() + ENDIF() + ENDIF() + ENDFOREACH() + + IF(_nope) + MESSAGE(STATUS "Could not find a sufficient ${_feature} installation: " + "${_feature} is compiled against a different MPI library than the one " + "deal.II picked up." + ) + TO_STRING(_str ${MPI_LIBRARIES}) + SET(PETSC_ADDITIONAL_ERROR_STRING + ${PETSC_ADDITIONAL_ERROR_STRING} + "Could not find a sufficient ${_feature} installation:\n" + "${_feature} has to be compiled against the same MPI library as deal.II " + "but the link line of ${_feature} contains:\n" + " ${_mpi_library}\n" + "which is not listed in MPI_LIBRARIES:\n" + " MPI_LIBRARIES = \"${_str}\"\n" + ) + SET(${_var} FALSE) + ENDIF() + ENDIF() +ENDMACRO() + diff --git a/deal.II/cmake/macros/macro_configure_feature.cmake b/deal.II/cmake/macros/macro_configure_feature.cmake index 60930bf7bf..2c1277d6ae 100644 --- a/deal.II/cmake/macros/macro_configure_feature.cmake +++ b/deal.II/cmake/macros/macro_configure_feature.cmake @@ -26,8 +26,13 @@ # FEATURE_${feature}_DEPENDS (a variable) # a variable which contains an optional list of other features # this feature depends on (and which have to be enbled for this feature -# to work.) The features must be given with the full option toggle: -# DEAL_II_WITH_[...] +# to work.) +# Features must be given with short name, i.e. without DEAL_II_WITH_ +# +# FEATURE_${feature}_after (a variable) +# a variable which contains an optional list of other features +# that have to be configured prior to this feature +# Features must be given with short name, i.e. without DEAL_II_WITH_ # # FEATURE_${feature}_HAVE_BUNDLED (a variable) # which should either be set to TRUE if all necessary libraries of the @@ -150,14 +155,18 @@ MACRO(CONFIGURE_FEATURE _feature) # # Check for correct include order of the configure_*.cmake files: - # If feature B depends on feature A, configure_A.cmake has to be - # included before configure_B.cmake: + # If feature B explicitly states to come after feature A, or if feature B + # depends on feature A, configure_A.cmake has to be included before + # configure_B.cmake: # - FOREACH(_dependency ${FEATURE_${_feature}_DEPENDS}) - STRING(REGEX REPLACE "^DEAL_II_WITH_" "" _dependency ${_dependency}) + FOREACH(_dependency + ${FEATURE_${_feature}_AFTER} + ${FEATURE_${_feature}_DEPENDS} + ) IF(NOT FEATURE_${_dependency}_PROCESSED) MESSAGE(FATAL_ERROR "\n" - "Internal build system error: DEAL_II_WITH_${_feature} depends on " + "Internal build system error: The configuration of " + "DEAL_II_WITH_${_feature} depends on " "DEAL_II_WITH_${_dependency}, but CONFIGURE_FEATURE(${_feature}) " "was called before CONFIGURE_FEATURE(${_dependency}).\n\n" ) @@ -169,6 +178,7 @@ MACRO(CONFIGURE_FEATURE _feature) # IF( (NOT DEAL_II_ALLOW_AUTODETECTION) AND (NOT DEFINED DEAL_II_WITH_${_feature}) ) + PURGE_FEATURE(${_feature}) SET_CACHED_OPTION(${_feature} OFF) ENDIF() @@ -184,7 +194,7 @@ MACRO(CONFIGURE_FEATURE _feature) # SET(_dependencies_ok TRUE) FOREACH(_dependency ${FEATURE_${_feature}_DEPENDS}) - IF(NOT ${_dependency}) + IF(NOT DEAL_II_WITH_${_dependency}) IF(DEAL_II_WITH_${_feature}) MESSAGE(FATAL_ERROR "\n" "DEAL_II_WITH_${_feature} has unmet configuration requirements: " @@ -195,6 +205,7 @@ MACRO(CONFIGURE_FEATURE _feature) "DEAL_II_WITH_${_feature} has unmet configuration requirements: " "${_dependency} has to be set to \"ON\"." ) + PURGE_FEATURE(${_feature}) SET_CACHED_OPTION(${_feature} OFF) ENDIF() SET(_dependencies_ok FALSE) @@ -206,6 +217,9 @@ MACRO(CONFIGURE_FEATURE _feature) # # First case: DEAL_II_FORCE_BUNDLED_${_feature} is defined: # + + PURGE_FEATURE(${_feature}) + IF(FEATURE_${_feature}_HAVE_BUNDLED) RUN_COMMAND("FEATURE_${_feature}_CONFIGURE_BUNDLED()") MESSAGE(STATUS "DEAL_II_WITH_${_feature} successfully set up with bundled packages.") @@ -241,6 +255,8 @@ MACRO(CONFIGURE_FEATURE _feature) ELSE(FEATURE_${_feature}_EXTERNAL_FOUND) + PURGE_FEATURE(${_feature}) + MESSAGE(STATUS "DEAL_II_WITH_${_feature} has unmet external dependencies.") IF(FEATURE_${_feature}_HAVE_BUNDLED AND DEAL_II_ALLOW_BUNDLED) @@ -272,6 +288,8 @@ MACRO(CONFIGURE_FEATURE _feature) # DEAL_II_WITH_${_feature} is defined and set to OFF, promote it to # cache nevertheless: # + MESSAGE(STATUS "DEAL_II_WITH_${_feature} is set to off.") + PURGE_FEATURE(${_feature}) SET_CACHED_OPTION(${_feature} OFF) ENDIF() diff --git a/deal.II/cmake/macros/macro_deal_ii_find_file.cmake b/deal.II/cmake/macros/macro_deal_ii_find_file.cmake new file mode 100644 index 0000000000..61bba787f9 --- /dev/null +++ b/deal.II/cmake/macros/macro_deal_ii_find_file.cmake @@ -0,0 +1,31 @@ +## --------------------------------------------------------------------- +## $Id$ +## +## Copyright (C) 2014 by the deal.II authors +## +## This file is part of the deal.II library. +## +## The deal.II library is free software; you can use it, redistribute +## it, and/or modify it under the terms of the GNU Lesser General +## Public License as published by the Free Software Foundation; either +## version 2.1 of the License, or (at your option) any later version. +## The full text of the license can be found in the file LICENSE at +## the top level of the deal.II distribution. +## +## --------------------------------------------------------------------- + +# +# A small wrapper around FIND_FILE to be a bit more verbose +# + +MACRO(DEAL_II_FIND_FILE _file_name) + FIND_FILE(${_file_name} ${ARGN}) + + IF(${_file_name} MATCHES "-NOTFOUND") + MESSAGE(STATUS "${_file_name} not found! Call:") + TO_STRING(_str ${ARGN}) + MESSAGE(STATUS " FIND_FILE(${_file_name} ${_str})") + ELSE() + MESSAGE(STATUS "Found ${_file_name}") + ENDIF() +ENDMACRO() diff --git a/deal.II/cmake/macros/macro_deal_ii_find_library.cmake b/deal.II/cmake/macros/macro_deal_ii_find_library.cmake new file mode 100644 index 0000000000..e6a7350b8e --- /dev/null +++ b/deal.II/cmake/macros/macro_deal_ii_find_library.cmake @@ -0,0 +1,31 @@ +## --------------------------------------------------------------------- +## $Id$ +## +## Copyright (C) 2014 by the deal.II authors +## +## This file is part of the deal.II library. +## +## The deal.II library is free software; you can use it, redistribute +## it, and/or modify it under the terms of the GNU Lesser General +## Public License as published by the Free Software Foundation; either +## version 2.1 of the License, or (at your option) any later version. +## The full text of the license can be found in the file LICENSE at +## the top level of the deal.II distribution. +## +## --------------------------------------------------------------------- + +# +# A small wrapper around FIND_LIBRARY to be a bit more verbose +# + +MACRO(DEAL_II_FIND_LIBRARY _library_name) + FIND_LIBRARY(${_library_name} ${ARGN}) + + IF(${_library_name} MATCHES "-NOTFOUND") + MESSAGE(STATUS "${_library_name} not found! Call:") + TO_STRING(_str ${ARGN}) + MESSAGE(STATUS " FIND_LIBRARY(${_library_name} ${_str})") + ELSE() + MESSAGE(STATUS "Found ${_library_name}") + ENDIF() +ENDMACRO() diff --git a/deal.II/cmake/macros/macro_deal_ii_find_path.cmake b/deal.II/cmake/macros/macro_deal_ii_find_path.cmake new file mode 100644 index 0000000000..201cdae6ca --- /dev/null +++ b/deal.II/cmake/macros/macro_deal_ii_find_path.cmake @@ -0,0 +1,31 @@ +## --------------------------------------------------------------------- +## $Id$ +## +## Copyright (C) 2014 by the deal.II authors +## +## This file is part of the deal.II library. +## +## The deal.II library is free software; you can use it, redistribute +## it, and/or modify it under the terms of the GNU Lesser General +## Public License as published by the Free Software Foundation; either +## version 2.1 of the License, or (at your option) any later version. +## The full text of the license can be found in the file LICENSE at +## the top level of the deal.II distribution. +## +## --------------------------------------------------------------------- + +# +# A small wrapper around FIND_FILE to be a bit more verbose +# + +MACRO(DEAL_II_FIND_PATH _path_name) + FIND_PATH(${_path_name} ${ARGN}) + + IF(${_path_name} MATCHES "-NOTFOUND") + MESSAGE(STATUS "${_path_name} not found! Call:") + TO_STRING(_str ${ARGN}) + MESSAGE(STATUS " FIND_PATH(${_path_name} ${_str})") + ELSE() + MESSAGE(STATUS "Found ${_path_name}") + ENDIF() +ENDMACRO() diff --git a/deal.II/cmake/macros/macro_deal_ii_package_handle.cmake b/deal.II/cmake/macros/macro_deal_ii_package_handle.cmake index 460f5b5d35..0038aa9229 100644 --- a/deal.II/cmake/macros/macro_deal_ii_package_handle.cmake +++ b/deal.II/cmake/macros/macro_deal_ii_package_handle.cmake @@ -15,9 +15,35 @@ ## --------------------------------------------------------------------- # -# DEAL_II_PACKAGE_HANDLE +# DEAL_II_PACKAGE_HANDLE( +# { {(REQUIRED|OPTIONAL) }} +# [CLEAR ] +# ) # -# TODO: Documentation +# This macro is an alternative implementation of the +# FIND_PACKAGE_HANDLE_STANDARD_ARGS macro shipped with CMake - aka do +# everything that was expected from CMake in the first place *sigh* +# +# Its usage is best explained with an example: +# +# DEAL_II_PACKAGE_HANDLE(PETSC +# LIBRARIES +# REQUIRED PETSC_LIBRARY +# OPTIONAL _petsc_libraries +# INCLUDE_DIRS +# REQUIRED PETSC_INCLUDE_DIR_COMMON PETSC_INCLUDE_DIR_ARCH +# OPTIONAL _petsc_includes +# CLEAR PETSC_LIBRARY PETSC_INCLUDE_DIR_COMMON PETSC_INCLUDE_DIR_ARCH +# ) +# +# This will check whether all REQUIRED variables are non-empty and +# different from "-NOTFOUND". If so, PETSC_LIBRARIES and PETSC_INCLUDE_DIRS +# is defined and populated with the contents of all specified variables. +# Optional variables with no content or whose content is "-NOTFOUND" are +# filtered out. +# After the 'CLEAR' statement all internally cached variables should be +# listed - this is used to provide a possibility to undo a feature +# search. # MACRO(DEAL_II_PACKAGE_HANDLE _feature _var) @@ -29,10 +55,11 @@ MACRO(DEAL_II_PACKAGE_HANDLE _feature _var) SET(${_feature}_FOUND TRUE) SET(_variable ${_var}) - SET(_cleanup ${_var}) SET(${_feature}_${_variable} "") SET(_required TRUE) SET(_fine TRUE) + SET(_fill_clear FALSE) + SET(_clear "") FOREACH(_arg ${ARGN}) IF(_arg MATCHES "^LIBRARIES(|_DEBUG|_RELEASE)$" @@ -53,7 +80,6 @@ MACRO(DEAL_II_PACKAGE_HANDLE _feature _var) # *Yay* a new keyword. # SET(_variable ${_arg}) - LIST(APPEND _cleanup ${_var}) SET(${_feature}_${_variable} "") SET(_required TRUE) SET(_fine TRUE) @@ -62,34 +88,44 @@ MACRO(DEAL_II_PACKAGE_HANDLE _feature _var) SET(_required TRUE) ELSEIF("${_arg}" STREQUAL "OPTIONAL") SET(_required FALSE) - ELSEIF( _arg MATCHES "^(optimized|debug|general)$" + ELSEIF(_arg MATCHES "^(optimized|debug|general)$" AND "${_variable}" STREQUAL "LIBRARIES") # # Keywords are special... # LIST(APPEND ${_feature}_${_variable} ${_arg}) + ELSEIF("${_arg}" STREQUAL "CLEAR") + SET(_fill_clear TRUE) ELSE() MARK_AS_ADVANCED(${_arg}) - IF(NOT DEFINED ${_arg} OR ${_arg} MATCHES "-NOTFOUND") - IF(_required AND _fine) - IF(NOT DEFINED ${_arg}) - MESSAGE(STATUS - " ${_feature}_${_variable}: *** Required variable \"${_arg}\" undefined ***" - ) - ELSE() - MESSAGE(STATUS - " ${_feature}_${_variable}: *** Required variable \"${_arg}\" set to NOTFOUND ***" - ) - ENDIF() - SET(${_feature}_FOUND FALSE) - SET(_fine FALSE) + IF(_fill_clear) + IF(NOT _arg MATCHES "^(optimized|debug|general)$") + LIST(APPEND _clear ${_arg}) ENDIF() ELSE() - LIST(APPEND ${_feature}_${_variable} ${${_arg}}) + IF("${${_arg}}" MATCHES "^\\s*$" OR "${${_arg}}" MATCHES "-NOTFOUND") + IF(_required AND _fine) + IF("${${_arg}}" MATCHES "^\\s*$") + MESSAGE(STATUS + " ${_feature}_${_variable}: *** Required variable \"${_arg}\" empty ***" + ) + ELSE() + MESSAGE(STATUS + " ${_feature}_${_variable}: *** Required variable \"${_arg}\" set to NOTFOUND ***" + ) + ENDIF() + SET(${_feature}_FOUND FALSE) + SET(_fine FALSE) + ENDIF() + ELSE() + LIST(APPEND ${_feature}_${_variable} ${${_arg}}) + ENDIF() ENDIF() ENDIF() ENDFOREACH() + SET(${_feature}_CLEAR_VARIABLES ${_clear} CACHE INTERNAL "") + IF(_fine) IF(_variable MATCHES "^CXX_FLAGS(|_DEBUG|_RELEASE)" OR _variable MATCHES "^LINKER_FLAGS(|_DEBUG|_RELEASE)") @@ -100,27 +136,22 @@ MACRO(DEAL_II_PACKAGE_HANDLE _feature _var) IF(${_feature}_FOUND) # - # Deduplicate entries in *_INCLUDE_DIRS and *_LIBRARIES + # Deduplicate entries: # - FOREACH(_suffix INCLUDE_DIRS USER_INCLUDE_DIRS BUNDLED_INCLUDE_DIRS) - REMOVE_DUPLICATES(${_feature}_${_suffix}) - ENDFOREACH() - FOREACH(_suffix - LIBRARIES LIBRARIES_RELEASE LIBRARIES_DEBUG - USER_DEFINITIONS USER_DEFINITIONS_DEBUG USER_DEFINITIONS_RELEASE - DEFINITIONS DEFINITIONS_DEBUG DEFINITIONS_RELEASE - ) - REMOVE_DUPLICATES(${_feature}_${_suffix} REVERSE) + FOREACH(_suffix ${DEAL_II_LIST_SUFFIXES}) + IF(_suffix MATCHES "INCLUDE_DIRS$") + REMOVE_DUPLICATES(${_feature}_${_suffix}) + ELSE() + REMOVE_DUPLICATES(${_feature}_${_suffix} REVERSE) + ENDIF() ENDFOREACH() MESSAGE(STATUS "Found ${_feature}") - MARK_AS_ADVANCED(${_feature}_DIR) + + MARK_AS_ADVANCED(${_feature}_DIR ${_feature}_ARCH) ELSE() - FOREACH(_v _cleanup) - SET(${_feature}_${_v}) - ENDFOREACH() MESSAGE(STATUS "Could NOT find ${_feature}") ENDIF() ENDMACRO() diff --git a/deal.II/cmake/macros/macro_purge_feature.cmake b/deal.II/cmake/macros/macro_purge_feature.cmake new file mode 100644 index 0000000000..34380a43e7 --- /dev/null +++ b/deal.II/cmake/macros/macro_purge_feature.cmake @@ -0,0 +1,48 @@ +## --------------------------------------------------------------------- +## $Id$ +## +## Copyright (C) 2014 by the deal.II authors +## +## This file is part of the deal.II library. +## +## The deal.II library is free software; you can use it, redistribute +## it, and/or modify it under the terms of the GNU Lesser General +## Public License as published by the Free Software Foundation; either +## version 2.1 of the License, or (at your option) any later version. +## The full text of the license can be found in the file LICENSE at +## the top level of the deal.II distribution. +## +## --------------------------------------------------------------------- + +# +# Remove all cached and non cached variables associated with a feature. +# +# Usage: +# PURGE_FEATURE(feature) +# + +MACRO(PURGE_FEATURE _feature) + # + # uncached: + # + FOREACH(_var ${DEAL_II_LIST_SUFFIXES} ${DEAL_II_STRING_SUFFIXES}) + IF(NOT _var MATCHES BUNDLED) + SET(${_feature}_${_var}) + ENDIF() + ENDFOREACH() + + UNSET(${_feature}_FOUND) + UNSET(${_feature}_VERSION) + + # + # cached: + # + FOREACH(_var ${${_feature}_CLEAR_VARIABLES}) + SET(${_var}) + UNSET(${_var} CACHE) + ENDFOREACH() + + UNSET(${_feature}_CLEAR_VARIABLES CACHE) + + MARK_AS_ADVANCED(CLEAR ${_feature}_DIR ${_feature}_ARCH) +ENDMACRO() diff --git a/deal.II/cmake/macros/macro_register_feature.cmake b/deal.II/cmake/macros/macro_register_feature.cmake index 1f6ed329a0..9fd0017190 100644 --- a/deal.II/cmake/macros/macro_register_feature.cmake +++ b/deal.II/cmake/macros/macro_register_feature.cmake @@ -25,14 +25,9 @@ # This macro will add # # _LIBRARIES (respecting general, optimized, debug keyword) -# _LIBRARIES(_DEBUG|_RELEASE) -# _(|BUNDLED_|USER_)INCLUDE_DIRS -# _DEFINITIONS(|_DEBUG|_RELEASE) -# _USER_DEFINITIONS(|_DEBUG|_RELEASE) -# _CXX_FLAGS(|_DEBUG|_RELEASE) -# _LINKER_FLAGS(|_DEBUG|_RELEASE) # -# to the corresponding DEAL_II_* variables +# and all other suffixes defined in DEAL_II_LIST_SUFFIXES and +# DEAL_II_STRING_SUFFIXES to the corresponding DEAL_II_* variables # MACRO(REGISTER_FEATURE _feature) @@ -63,21 +58,13 @@ MACRO(REGISTER_FEATURE _feature) ENDFOREACH() ENDIF() - FOREACH(_var - LIBRARIES_DEBUG LIBRARIES_RELEASE - INCLUDE_DIRS BUNDLED_INCLUDE_DIRS USER_INCLUDE_DIRS - DEFINITIONS DEFINITIONS_DEBUG DEFINITIONS_RELEASE - USER_DEFINITIONS USER_DEFINITIONS_DEBUG USER_DEFINITIONS_RELEASE - ) - IF(DEFINED ${_feature}_${_var}) + FOREACH(_var ${DEAL_II_LIST_SUFFIXES}) + IF(NOT "${_var}" STREQUAL "LIBRARIES" AND DEFINED ${_feature}_${_var}) LIST(APPEND DEAL_II_${_var} ${${_feature}_${_var}}) ENDIF() ENDFOREACH() - FOREACH(_var - CXX_FLAGS CXX_FLAGS_DEBUG CXX_FLAGS_RELEASE - LINKER_FLAGS LINKER_FLAGS_DEBUG LINKER_FLAGS_RELEASE - ) + FOREACH(_var ${DEAL_II_STRING_SUFFIXES}) IF(DEFINED ${_feature}_${_var}) ADD_FLAGS(DEAL_II_${_var} "${${_feature}_${_var}}") ENDIF() diff --git a/deal.II/cmake/modules/FindARPACK.cmake b/deal.II/cmake/modules/FindARPACK.cmake index c739c0ece8..8efe5f5594 100644 --- a/deal.II/cmake/modules/FindARPACK.cmake +++ b/deal.II/cmake/modules/FindARPACK.cmake @@ -30,7 +30,7 @@ SET(ARPACK_DIR "" CACHE PATH "An optional hint to an ARPACK installation") SET_IF_EMPTY(ARPACK_DIR "$ENV{ARPACK_DIR}") -FIND_LIBRARY(ARPACK_LIBRARY +DEAL_II_FIND_LIBRARY(ARPACK_LIBRARY NAMES arpack HINTS ${ARPACK_DIR} PATH_SUFFIXES lib${LIB_SUFFIX} lib64 lib @@ -39,4 +39,5 @@ FIND_LIBRARY(ARPACK_LIBRARY DEAL_II_PACKAGE_HANDLE(ARPACK LIBRARIES REQUIRED ARPACK_LIBRARY LAPACK_LIBRARIES LINKER_FLAGS OPTIONAL LAPACK_LINKER_FLAGS + CLEAR ARPACK_LIBRARY ) diff --git a/deal.II/cmake/modules/FindBOOST.cmake b/deal.II/cmake/modules/FindBOOST.cmake new file mode 100644 index 0000000000..b14b063f7c --- /dev/null +++ b/deal.II/cmake/modules/FindBOOST.cmake @@ -0,0 +1,82 @@ +## --------------------------------------------------------------------- +## $Id$ +## +## Copyright (C) 2014 by the deal.II authors +## +## This file is part of the deal.II library. +## +## The deal.II library is free software; you can use it, redistribute +## it, and/or modify it under the terms of the GNU Lesser General +## Public License as published by the Free Software Foundation; either +## version 2.1 of the License, or (at your option) any later version. +## The full text of the license can be found in the file LICENSE at +## the top level of the deal.II distribution. +## +## --------------------------------------------------------------------- + +# +# Try to find the boost libraries +# +# This module exports: +# +# BOOST_FOUND +# BOOST_LIBRARIES +# BOOST_INCLUDE_DIRS +# BOOST_VERSION +# BOOST_VERSION_MAJOR +# BOOST_VERSION_MINOR +# BOOST_VERSION_SUBMINOR +# + +SET(BOOST_DIR "" CACHE PATH "An optional hint to a BOOST installation") +SET_IF_EMPTY(BOOST_DIR "$ENV{BOOST_DIR}") + +IF(NOT "${BOOST_DIR}" STREQUAL "") + SET(BOOST_ROOT "${BOOST_DIR}") +ENDIF() + +# +# Prefer static libs if BUILD_SHARED_LIBS=OFF: +# +IF(NOT BUILD_SHARED_LIBS) + SET(Boost_USE_STATIC_LIBS TRUE) +ENDIF() + +FIND_PACKAGE(Boost 1.44 COMPONENTS iostreams serialization system thread) + +# +# Fall back to dynamic libraries if no static libraries could be found: +# +IF(NOT Boost_FOUND AND Boost_USE_STATIC_LIBS) + SET(Boost_USE_STATIC_LIBS FALSE) + FIND_PACKAGE(Boost 1.44 COMPONENTS iostreams serialization system thread) +ENDIF() + +IF(Boost_FOUND) + # + # Remove "pthread" from Boost_LIBRARIES. Threading, if necessary, is + # already set up via configure_1_threads.cmake. + # + LIST(REMOVE_ITEM Boost_LIBRARIES "pthread") + + SET(BOOST_VERSION_MAJOR "${Boost_MAJOR_VERSION}") + SET(BOOST_VERSION_MINOR "${Boost_MINOR_VERSION}") + SET(BOOST_VERSION_SUBMINOR "${Boost_SUBMINOR_VERSION}") + SET(BOOST_VERSION + "${BOOST_VERSION_MAJOR}.${BOOST_VERSION_MINOR}.${BOOST_VERSION_SUBMINOR}" + ) +ENDIF() + +DEAL_II_PACKAGE_HANDLE(BOOST + LIBRARIES REQUIRED Boost_LIBRARIES + INCLUDE_DIRS REQUIRED Boost_INCLUDE_DIRS + USER_INCLUDE_DIRS Boost_INCLUDE_DIRS + CLEAR + Boost_INCLUDE_DIR Boost_IOSTREAMS_LIBRARY_DEBUG + Boost_IOSTREAMS_LIBRARY_RELEASE Boost_LIBRARY_DIR + Boost_SERIALIZATION_LIBRARY_DEBUG Boost_SERIALIZATION_LIBRARY_RELEASE + Boost_SYSTEM_LIBRARY_DEBUG Boost_SYSTEM_LIBRARY_RELEASE + Boost_THREAD_LIBRARY_DEBUG Boost_THREAD_LIBRARY_RELEASE + _Boost_COMPONENTS_SEARCHED _Boost_INCLUDE_DIR_LAST + _Boost_LIBRARY_DIR_LAST _Boost_USE_MULTITHREADED_LAST + ) diff --git a/deal.II/cmake/modules/FindBZIP2.cmake b/deal.II/cmake/modules/FindBZIP2.cmake new file mode 100644 index 0000000000..e6f7cbded2 --- /dev/null +++ b/deal.II/cmake/modules/FindBZIP2.cmake @@ -0,0 +1,46 @@ +## --------------------------------------------------------------------- +## $Id$ +## +## Copyright (C) 2014 by the deal.II authors +## +## This file is part of the deal.II library. +## +## The deal.II library is free software; you can use it, redistribute +## it, and/or modify it under the terms of the GNU Lesser General +## Public License as published by the Free Software Foundation; either +## version 2.1 of the License, or (at your option) any later version. +## The full text of the license can be found in the file LICENSE at +## the top level of the deal.II distribution. +## +## --------------------------------------------------------------------- + +# +# Try to find the BZIP2 library +# +# This module exports +# +# BZIP2_LIBRARIES +# BZIP2_INCLUDE_DIRS +# BZIP2_VERSION +# + +# +# Houston, we have a problem: CMake ships its own FindBZip2.cmake module. +# Unfortunately we want to call DEAL_II_PACKAGE_HANDLE. Therefore, use the +# original find module and do a dummy call to DEAL_II_PACKAGE_HANDLE: +# + +LIST(REMOVE_ITEM CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules/) +FIND_PACKAGE(BZip2) +LIST(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules/) + +SET(BZIP2_VERSION ${BZIP2_VERSION_STRING}) +SET(_bzip2_libraries ${BZIP2_LIBRARIES}) + +DEAL_II_PACKAGE_HANDLE(BZIP2 + LIBRARIES REQUIRED _bzip2_libraries + INCLUDE_DIRS REQUIRED BZIP2_INCLUDE_DIR + CLEAR + BZIP2_INCLUDE_DIR BZIP2_LIBRARY_DEBUG BZIP2_LIBRARY_RELEASE + BZIP2_NEED_PREFIX + ) diff --git a/deal.II/cmake/modules/FindDEALII_LAPACK.cmake b/deal.II/cmake/modules/FindDEALII_LAPACK.cmake deleted file mode 100644 index 1dc401e635..0000000000 --- a/deal.II/cmake/modules/FindDEALII_LAPACK.cmake +++ /dev/null @@ -1,118 +0,0 @@ -## --------------------------------------------------------------------- -## $Id$ -## -## Copyright (C) 2013 - 2014 by the deal.II authors -## -## This file is part of the deal.II library. -## -## The deal.II library is free software; you can use it, redistribute -## it, and/or modify it under the terms of the GNU Lesser General -## Public License as published by the Free Software Foundation; either -## version 2.1 of the License, or (at your option) any later version. -## The full text of the license can be found in the file LICENSE at -## the top level of the deal.II distribution. -## -## --------------------------------------------------------------------- - -# -# This module is a wrapper around the FindLAPACK.cmake module provided by -# CMake. -# -# This module exports -# -# LAPACK_FOUND -# LAPACK_LIBRARIES -# LAPACK_LINKER_FLAGS -# BLAS_FOUND -# BLAS_LIBRARIES -# BLAS_LINKER_FLAGS -# - - - -# -# We have to use a trick with CMAKE_PREFIX_PATH to make LAPACK_DIR and -# BLAS_DIR work... -# -SET(LAPACK_DIR "" CACHE PATH "An optional hint to a LAPACK installation") -SET(BLAS_DIR "" CACHE PATH "An optional hint to a BLAS installation") -SET_IF_EMPTY(BLAS_DIR "$ENV{BLAS_DIR}") -SET_IF_EMPTY(LAPACK_DIR "$ENV{LAPACK_DIR}") - -SET(_cmake_prefix_path_backup "${CMAKE_PREFIX_PATH}") -SET(CMAKE_PREFIX_PATH ${BLAS_DIR} ${LAPACK_DIR} ${_cmake_prefix_path_backup}) -FIND_PACKAGE(BLAS) -SET(CMAKE_PREFIX_PATH ${LAPACK_DIR} ${_cmake_prefix_path_backup}) -FIND_PACKAGE(LAPACK) -SET(CMAKE_PREFIX_PATH ${_cmake_prefix_path_backup}) - -MARK_AS_ADVANCED( - atlas_LIBRARY atlcblas_LIBRARY atllapack_LIBRARY blas_LIBRARY - eigen_blas_LIBRARY f77blas_LIBRARY gslcblas_LIBRARY lapack_LIBRARY - m_LIBRARY ptf77blas_LIBRARY ptlapack_LIBRARY refblas_LIBRARY - reflapack_LIBRARY - ) - - -IF(LAPACK_FOUND) - SET(DEALII_LAPACK_FOUND TRUE) - - # - # So, well... LAPACK_LINKER_FLAGS and LAPACK_LIBRARIES should contain the - # complete link interface. But for invalid user overrides we include - # BLAS_LIBRARIES and BLAS_LINKER_FLAGS as well.. - # - IF(NOT LAPACK_LINKER_FLAGS MATCHES "${BLAS_LINKER_FLAGS}") - MESSAGE(STATUS - "Manually adding BLAS_LINKER_FLAGS to LAPACK_LINKER_FLAGS" - ) - ADD_FLAGS(LAPACK_LINKER_FLAGS "${BLAS_LINKER_FLAGS}") - ENDIF() - IF(NOT "${LAPACK_LIBRARIES}" MATCHES "${BLAS_LIBRARIES}") - MESSAGE(STATUS - "Manually adding BLAS_LIBRARIES to LAPACK_LIBRARIES" - ) - LIST(APPEND LAPACK_LIBRARIES ${BLAS_LIBRARIES}) - ENDIF() - - # - # Well, in case of static archives we have to manually pick up the - # complete link interface. *sigh* - # - # If CMAKE_Fortran_IMPLICIT_LINK_LIBRARIES is not available, do it - # unconditionally for the most common case (gfortran). - # - SET(_fortran_libs ${CMAKE_Fortran_IMPLICIT_LINK_LIBRARIES}) - SET_IF_EMPTY(_fortran_libs gfortran m quadmath c) - - FOREACH(_lib ${_fortran_libs}) - FIND_SYSTEM_LIBRARY(${_lib}_LIBRARY NAMES ${_lib}) - MARK_AS_ADVANCED(${_lib}_LIBRARY) - - IF(NOT ${_lib}_LIBRARY MATCHES "-NOTFOUND") - LIST(APPEND BLAS_LIBRARIES ${${_lib}_LIBRARY}) - LIST(APPEND LAPACK_LIBRARIES ${${_lib}_LIBRARY}) - ENDIF() - - ENDFOREACH() - - # - # Filter out spurious "FALSE" in the library lists: - # - IF(DEFINED BLAS_LIBRARIES) - LIST(REMOVE_ITEM BLAS_LIBRARIES "FALSE") - ENDIF() - LIST(REMOVE_ITEM LAPACK_LIBRARIES "FALSE") - - MARK_AS_ADVANCED(BLAS_DIR LAPACK_DIR) - -ELSE() - SET(DEALII_LAPACK_FOUND FALSE) - - # - # Clean up the library variables in case we couldn't find the libraries - # to avoid spurious inclusions of "-NOTFOUND" or "FALSE": - # - SET(BLAS_LIBRARIES) - SET(LAPACK_LIBRARIES) -ENDIF() diff --git a/deal.II/cmake/modules/FindHDF5.cmake b/deal.II/cmake/modules/FindHDF5.cmake index 258621b53e..ae63b7145a 100644 --- a/deal.II/cmake/modules/FindHDF5.cmake +++ b/deal.II/cmake/modules/FindHDF5.cmake @@ -27,26 +27,25 @@ SET(HDF5_DIR "" CACHE PATH "An optional hint to an hdf5 directory") SET_IF_EMPTY(HDF5_DIR "$ENV{HDF5_DIR}") -FIND_PATH(HDF5_INCLUDE_DIR hdf5.h +DEAL_II_FIND_PATH(HDF5_INCLUDE_DIR hdf5.h HINTS ${HDF5_DIR} PATH_SUFFIXES hdf5 hdf5/include include/hdf5 include ) -FIND_LIBRARY(HDF5_LIBRARY NAMES hdf5 +DEAL_II_FIND_LIBRARY(HDF5_LIBRARY NAMES hdf5 HINTS ${HDF5_DIR} PATH_SUFFIXES hdf5/lib lib${LIB_SUFFIX} lib64 lib ) -FIND_LIBRARY(HDF5_HL_LIBRARY NAMES hdf5_hl +DEAL_II_FIND_LIBRARY(HDF5_HL_LIBRARY NAMES hdf5_hl HINTS ${HDF5_DIR} PATH_SUFFIXES lib${LIB_SUFFIX} lib64 lib ) -FIND_FILE(HDF5_PUBCONF NAMES H5pubconf.h H5pubconf-64.h +DEAL_II_FIND_FILE(HDF5_PUBCONF NAMES H5pubconf.h H5pubconf-64.h HINTS ${HDF5_INCLUDE_DIR} ${HDF5_DIR} PATH_SUFFIXES hdf5 hdf5/include include/hdf5 include ) -MARK_AS_ADVANCED(HDF5_PUBCONF) IF(EXISTS ${HDF5_PUBCONF}) # @@ -68,4 +67,7 @@ DEAL_II_PACKAGE_HANDLE(HDF5 OPTIONAL MPI_C_LIBRARIES INCLUDE_DIRS REQUIRED HDF5_INCLUDE_DIR + USER_INCLUDE_DIRS + REQUIRED HDF5_INCLUDE_DIR + CLEAR HDF5_HL_LIBRARY HDF5_LIBRARY HDF5_INCLUDE_DIR HDF5_PUBCONF ) diff --git a/deal.II/cmake/modules/FindLAPACK.cmake b/deal.II/cmake/modules/FindLAPACK.cmake new file mode 100644 index 0000000000..20b996f377 --- /dev/null +++ b/deal.II/cmake/modules/FindLAPACK.cmake @@ -0,0 +1,90 @@ +## --------------------------------------------------------------------- +## $Id$ +## +## Copyright (C) 2013 - 2014 by the deal.II authors +## +## This file is part of the deal.II library. +## +## The deal.II library is free software; you can use it, redistribute +## it, and/or modify it under the terms of the GNU Lesser General +## Public License as published by the Free Software Foundation; either +## version 2.1 of the License, or (at your option) any later version. +## The full text of the license can be found in the file LICENSE at +## the top level of the deal.II distribution. +## +## --------------------------------------------------------------------- + +# +# This module is a wrapper around the FindLAPACK.cmake module provided by +# CMake. +# +# This module exports +# +# LAPACK_FOUND +# LAPACK_LIBRARIES +# LAPACK_LINKER_FLAGS +# BLAS_FOUND +# BLAS_LIBRARIES +# BLAS_LINKER_FLAGS +# + +# +# We have to use a trick with CMAKE_PREFIX_PATH to make LAPACK_DIR and +# BLAS_DIR work... +# +SET(LAPACK_DIR "" CACHE PATH "An optional hint to a LAPACK installation") +SET(BLAS_DIR "" CACHE PATH "An optional hint to a BLAS installation") +SET_IF_EMPTY(BLAS_DIR "$ENV{BLAS_DIR}") +SET_IF_EMPTY(LAPACK_DIR "$ENV{LAPACK_DIR}") + +SET(_cmake_prefix_path_backup "${CMAKE_PREFIX_PATH}") +LIST(REMOVE_ITEM CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules/) + +SET(CMAKE_PREFIX_PATH ${BLAS_DIR} ${LAPACK_DIR} ${_cmake_prefix_path_backup}) +FIND_PACKAGE(BLAS) + +SET(CMAKE_PREFIX_PATH ${LAPACK_DIR} ${_cmake_prefix_path_backup}) +FIND_PACKAGE(LAPACK) + +SET(CMAKE_PREFIX_PATH ${_cmake_prefix_path_backup}) +LIST(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules/) + +# +# Filter out spurious "FALSE" in the library lists: +# +IF(DEFINED BLAS_LIBRARIES) + LIST(REMOVE_ITEM BLAS_LIBRARIES "FALSE") +ENDIF() +IF(DEFINED LAPACK_LIBRARIES) + LIST(REMOVE_ITEM LAPACK_LIBRARIES "FALSE") +ENDIF() + +# +# Well, in case of static archives we have to manually pick up the +# complete link interface. *sigh* +# +# If CMAKE_Fortran_IMPLICIT_LINK_LIBRARIES is not available, do it +# unconditionally for the most common case (gfortran). +# +SET(_fortran_libs ${CMAKE_Fortran_IMPLICIT_LINK_LIBRARIES}) +SET_IF_EMPTY(_fortran_libs gfortran m quadmath c) +FOREACH(_lib ${_fortran_libs}) + FIND_SYSTEM_LIBRARY(${_lib}_LIBRARY NAMES ${_lib}) + LIST(APPEND _additional_libraries ${_lib}_LIBRARY) +ENDFOREACH() + + +SET(_lapack_libraries ${LAPACK_LIBRARIES}) +SET(_lapack_linker_flags ${LAPACK_LINKER_FLAGS}) +DEAL_II_PACKAGE_HANDLE(LAPACK + LIBRARIES + REQUIRED _lapack_libraries + OPTIONAL BLAS_LIBRARIES ${_additional_libraries} + LINKER_FLAGS OPTIONAL _lapack_linker_flags BLAS_LINKER_FLAGS + CLEAR + atlas_LIBRARY atlcblas_LIBRARY atllapack_LIBRARY blas_LIBRARY + eigen_blas_LIBRARY f77blas_LIBRARY gslcblas_LIBRARY lapack_LIBRARY + m_LIBRARY ptf77blas_LIBRARY ptlapack_LIBRARY refblas_LIBRARY + reflapack_LIBRARY BLAS_LIBRARIES ${_additional_libraries} + LAPACK_SYMBOL_CHECK # Cleanup check in configure_1_lapack.cmake + ) diff --git a/deal.II/cmake/modules/FindMETIS.cmake b/deal.II/cmake/modules/FindMETIS.cmake index 01483cf689..a9ce962b26 100644 --- a/deal.II/cmake/modules/FindMETIS.cmake +++ b/deal.II/cmake/modules/FindMETIS.cmake @@ -37,7 +37,7 @@ SET_IF_EMPTY(METIS_DIR "$ENV{METIS_DIR}") # Link in MPI unconditionally (if found). # -FIND_LIBRARY(METIS_LIBRARY +DEAL_II_FIND_LIBRARY(METIS_LIBRARY NAMES metis HINTS ${METIS_DIR} PATH_SUFFIXES @@ -51,7 +51,7 @@ FIND_LIBRARY(METIS_LIBRARY # the metis library... # GET_FILENAME_COMPONENT(_path "${METIS_LIBRARY}" PATH) -FIND_LIBRARY(PARMETIS_LIBRARY +DEAL_II_FIND_LIBRARY(PARMETIS_LIBRARY NAMES parmetis HINTS ${_path} NO_DEFAULT_PATH @@ -62,7 +62,7 @@ FIND_LIBRARY(PARMETIS_LIBRARY NO_CMAKE_FIND_ROOT_PATH ) -FIND_PATH(METIS_INCLUDE_DIR metis.h +DEAL_II_FIND_PATH(METIS_INCLUDE_DIR metis.h HINTS ${METIS_DIR} PATH_SUFFIXES metis include/metis include ) @@ -92,6 +92,9 @@ IF(EXISTS ${METIS_INCLUDE_DIR}/metis.h) SET(METIS_VERSION "${METIS_VERSION_MAJOR}.${METIS_VERSION_MINOR}.${METIS_VERSION_SUBMINOR}" ) + IF("${METIS_VERSION}" STREQUAL "..") + SET(METIS_VERSION) + ENDIF() ENDIF() DEAL_II_PACKAGE_HANDLE(METIS @@ -101,4 +104,5 @@ DEAL_II_PACKAGE_HANDLE(METIS OPTIONAL MPI_C_LIBRARIES INCLUDE_DIRS REQUIRED METIS_INCLUDE_DIR + CLEAR METIS_LIBRARY PARMETIS_LIBRARY METIS_INCLUDE_DIR ) diff --git a/deal.II/cmake/modules/FindMPI.cmake b/deal.II/cmake/modules/FindMPI.cmake new file mode 100644 index 0000000000..111c75a58e --- /dev/null +++ b/deal.II/cmake/modules/FindMPI.cmake @@ -0,0 +1,163 @@ +## --------------------------------------------------------------------- +## $Id$ +## +## Copyright (C) 2012 - 2014 by the deal.II authors +## +## This file is part of the deal.II library. +## +## The deal.II library is free software; you can use it, redistribute +## it, and/or modify it under the terms of the GNU Lesser General +## Public License as published by the Free Software Foundation; either +## version 2.1 of the License, or (at your option) any later version. +## The full text of the license can be found in the file LICENSE at +## the top level of the deal.II distribution. +## +## --------------------------------------------------------------------- + +# +# Find MPI +# +# This module exports: +# MPI_LIBRARIES +# MPI_INCLUDE_DIRS +# MPI_CXX_FLAGS +# MPI_LINKER_FLAGS +# MPI_VERSION +# OMPI_VERSION +# + +# +# Configuration for mpi support: +# +# We look for the C and Fortran libraries as well because they are needed +# by some external libraries for the link interface. +# + +IF(MPI_CXX_FOUND) + SET(MPI_FOUND TRUE) +ENDIF() + +# +# If CMAKE_CXX_COMPILER is already an MPI wrapper, use it to determine +# the mpi implementation. If MPI_CXX_COMPILER is defined use the value +# directly. +# +SET_IF_EMPTY(MPI_CXX_COMPILER ${CMAKE_CXX_COMPILER}) +IF(CMAKE_C_COMPILER_WORKS) + SET_IF_EMPTY(MPI_C_COMPILER ${CMAKE_C_COMPILER}) # for good measure +ELSE() + MESSAGE(STATUS + "No suitable C compiler was found! MPI C interface can not be " + "autodetected" + ) +ENDIF() +IF(CMAKE_Fortran_COMPILER_WORKS) + SET_IF_EMPTY(MPI_Fortran_COMPILER ${CMAKE_Fortran_COMPILER}) # for good measure +ELSE() + MESSAGE(STATUS + "No suitable Fortran compiler was found! MPI Fortran interface can " + "not be autodetected" + ) +ENDIF() + +# +# Call the system FindMPI.cmake module: +# +LIST(REMOVE_ITEM CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules/) +FIND_PACKAGE(MPI) + +IF(NOT MPI_CXX_FOUND AND DEAL_II_WITH_MPI) + # + # CMAKE_CXX_COMPILER is apparently not an mpi wrapper. + # So, let's be a bit more aggressive in finding MPI (and if + # DEAL_II_WITH_MPI is set). + # + MESSAGE(STATUS + "MPI not found but DEAL_II_WITH_MPI is set to TRUE." + " Try again with more aggressive search paths:" + ) + # Clear variables so that FIND_PACKAGE runs again: + SET(MPI_FOUND) + UNSET(MPI_CXX_COMPILER CACHE) + UNSET(MPI_C_COMPILER CACHE) + UNSET(MPI_Fortran_COMPILER CACHE) + FIND_PACKAGE(MPI) +ENDIF() +LIST(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules/) + + +# +# Manually assemble some version information: +# + +DEAL_II_FIND_FILE(MPI_MPI_H + NAMES mpi.h + HINTS ${MPI_CXX_INCLUDE_PATH} ${MPI_C_INCLUDE_PATH} + ) +IF(NOT MPI_MPI_H MATCHES "-NOTFOUND" AND NOT DEFINED MPI_VERSION) + FILE(STRINGS "${MPI_MPI_H}" MPI_VERSION_MAJOR_STRING + REGEX "#define.*MPI_VERSION") + STRING(REGEX REPLACE "^.*MPI_VERSION.*([0-9]+).*" "\\1" + MPI_VERSION_MAJOR "${MPI_VERSION_MAJOR_STRING}" + ) + FILE(STRINGS ${MPI_MPI_H} MPI_VERSION_MINOR_STRING + REGEX "#define.*MPI_SUBVERSION") + STRING(REGEX REPLACE "^.*MPI_SUBVERSION.*([0-9]+).*" "\\1" + MPI_VERSION_MINOR "${MPI_VERSION_MINOR_STRING}" + ) + SET(MPI_VERSION "${MPI_VERSION_MAJOR}.${MPI_VERSION_MINOR}") + IF("${MPI_VERSION}" STREQUAL ".") + SET(MPI_VERSION) + SET(MPI_VERSION_MAJOR) + SET(MPI_VERSION_MINOR) + ENDIF() + + # OMPI specific version number: + FILE(STRINGS ${MPI_MPI_H} OMPI_VERSION_MAJOR_STRING + REGEX "#define.*OMPI_MAJOR_VERSION") + STRING(REGEX REPLACE "^.*OMPI_MAJOR_VERSION.*([0-9]+).*" "\\1" + OMPI_VERSION_MAJOR "${OMPI_VERSION_MAJOR_STRING}" + ) + FILE(STRINGS ${MPI_MPI_H} OMPI_VERSION_MINOR_STRING + REGEX "#define.*OMPI_MINOR_VERSION") + STRING(REGEX REPLACE "^.*OMPI_MINOR_VERSION.*([0-9]+).*" "\\1" + OMPI_VERSION_MINOR "${OMPI_VERSION_MINOR_STRING}" + ) + FILE(STRINGS ${MPI_MPI_H} OMPI_VERSION_RELEASE_STRING + REGEX "#define.*OMPI_RELEASE_VERSION") + STRING(REGEX REPLACE "^.*OMPI_RELEASE_VERSION.*([0-9]+).*" "\\1" + OMPI_VERSION_SUBMINOR "${OMPI_VERSION_RELEASE_STRING}" + ) + SET(OMPI_VERSION + "${OMPI_VERSION_MAJOR}.${OMPI_VERSION_MINOR}.${OMPI_VERSION_SUBMINOR}" + ) + IF("${OMPI_VERSION}" STREQUAL "..") + SET(OMPI_VERSION) + SET(OMPI_VERSION_MAJOR) + SET(OMPI_VERSION_MINOR) + SET(OMPI_VERSION_SUBMINOR) + ENDIF() +ENDIF() + +DEAL_II_PACKAGE_HANDLE(MPI + LIBRARIES + REQUIRED MPI_CXX_LIBRARIES + OPTIONAL MPI_Fortran_LIBRARIES MPI_C_LIBRARIES + INCLUDE_DIRS + REQUIRED MPI_CXX_INCLUDE_PATH + OPTIONAL MPI_C_INCLUDE_PATH + USER_INCLUDE_DIRS + REQUIRED MPI_CXX_INCLUDE_PATH + OPTIONAL MPI_C_INCLUDE_PATH + CXX_FLAGS OPTIONAL MPI_CXX_COMPILE_FLAGS + LINKER_FLAGS OPTIONAL MPI_CXX_LINK_FLAGS + CLEAR + MPI_MPI_H + MPI_HEADER_PATH + MPI_LIB + MPIEXEC + MPI_CXX_COMPILER + MPI_C_COMPILER + MPI_Fortran_COMPILER + ) + diff --git a/deal.II/cmake/modules/FindMUMPS.cmake b/deal.II/cmake/modules/FindMUMPS.cmake index b6d56d2ca1..e69bdac5a1 100644 --- a/deal.II/cmake/modules/FindMUMPS.cmake +++ b/deal.II/cmake/modules/FindMUMPS.cmake @@ -29,27 +29,51 @@ # SET(MUMPS_DIR "" CACHE PATH "An optional hint to a mumps directory") +SET(SCALAPACK_DIR "" CACHE PATH "An optional hint to a SCALAPACK directory") +SET(BLACS_DIR "" CACHE PATH "An optional hint to a BLACS directory") SET_IF_EMPTY(MUMPS_DIR "$ENV{MUMPS_DIR}") +SET_IF_EMPTY(SCALAPACK_DIR "$ENV{SCALAPACK_DIR}") +SET_IF_EMPTY(BLACS_DIR "$ENV{BLACS_DIR}") # -# Search for all known dependencies of MUMPS: -# (We'll rely on the user of FindMUMPS, setting up mpi *cough*) +# Search for scalapack: # -FIND_PACKAGE(SCALAPACK) # which will also include lapack and blas +DEAL_II_FIND_LIBRARY(SCALAPACK_LIBRARY NAMES scalapack + HINTS ${SCALAPACK_DIR} + PATH_SUFFIXES lib${LIB_SUFFIX} lib64 lib + ) + +# +# Well, depending on the version of scalapack and the distribution it might +# be necessary to search for blacs, too. So we do this in a very +# probabilistic way... +# +FOREACH(_lib blacs blacsCinit blacsF77init) + STRING(TOUPPER "${_lib}" _lib_upper) + DEAL_II_FIND_LIBRARY(${_lib_upper}_LIBRARY + NAMES ${_lib} ${_lib}_MPI-LINUX-0 ${_lib}_MPI-DARWIN-0 + HINTS ${BLACS_DIR} ${SCALAPACK_DIR} ${SCALAPACK_DIR}/../blacs/ + PATH_SUFFIXES lib${LIB_SUFFIX} lib64 lib LIB + ) +ENDFOREACH() -FIND_PATH(MUMPS_INCLUDE_DIR dmumps_c.h +# +# Search for mumps: +# + +DEAL_II_FIND_PATH(MUMPS_INCLUDE_DIR dmumps_c.h HINTS ${MUMPS_DIR} PATH_SUFFIXES mumps include/mumps include ) -FIND_LIBRARY(DMUMPS_LIBRARY +DEAL_II_FIND_LIBRARY(DMUMPS_LIBRARY NAMES dmumps HINTS ${MUMPS_DIR} PATH_SUFFIXES lib${LIB_SUFFIX} lib64 lib ) -FIND_LIBRARY(MUMPS_COMMON_LIBRARY +DEAL_II_FIND_LIBRARY(MUMPS_COMMON_LIBRARY NAMES mumps_common HINTS ${MUMPS_DIR} PATH_SUFFIXES lib${LIB_SUFFIX} lib64 lib @@ -58,16 +82,11 @@ FIND_LIBRARY(MUMPS_COMMON_LIBRARY # # If we can find libport.so (or similiar), link it in as well: # -FIND_LIBRARY(PORD_LIBRARY +DEAL_II_FIND_LIBRARY(PORD_LIBRARY NAMES pord HINTS ${MUMPS_DIR} PATH_SUFFIXES lib${LIB_SUFFIX} lib64 lib ) -MARK_AS_ADVANCED(PORD_LIBRARY) -IF(PORD_LIBRARY MATCHES "-NOTFOUND") - SET(PORD_LIBRARY "") - UNSET(PORD_LIBRARY CACHE) -ENDIF() IF(EXISTS ${MUMPS_INCLUDE_DIR}/dmumps_c.h) FILE(STRINGS "${MUMPS_INCLUDE_DIR}/dmumps_c.h" MUMPS_VERSION_STRING @@ -90,10 +109,16 @@ DEAL_II_PACKAGE_HANDLE(MUMPS LIBRARIES REQUIRED DMUMPS_LIBRARY MUMPS_COMMON_LIBRARY OPTIONAL PORD_LIBRARY - REQUIRED SCALAPACK_LIBRARIES + REQUIRED SCALAPACK_LIBRARY LAPACK_LIBRARIES + OPTIONAL BLACS_LIBRARY BLACSCINIT_LIBRARY BLACSF77INIT_LIBRARY MPI_Fortran_LIBRARIES OPTIONAL METIS_LIBRARIES MPI_Fortran_LIBRARIES INCLUDE_DIRS REQUIRED MUMPS_INCLUDE_DIR + USER_INCLUDE_DIRS + REQUIRED MUMPS_INCLUDE_DIR LINKER_FLAGS - OPTIONAL SCALAPACK_LINKER_FLAGS + OPTIONAL LAPACK_LINKER_FLAGS + CLEAR + DMUMPS_LIBRARY MUMPS_COMMON_LIBRARY PORD_LIBRARY SCALAPACK_LIBRARY + BLACS_LIBRARY BLACSCINIT_LIBRARY BLACSF77INIT_LIBRARY MUMPS_INCLUDE_DIR ) diff --git a/deal.II/cmake/modules/FindMUPARSER.cmake b/deal.II/cmake/modules/FindMUPARSER.cmake index d6e42eaf4d..914a1a1d76 100644 --- a/deal.II/cmake/modules/FindMUPARSER.cmake +++ b/deal.II/cmake/modules/FindMUPARSER.cmake @@ -30,13 +30,13 @@ SET(MUPARSER_DIR "" CACHE PATH "An optional hint to a MUPARSER installation") SET_IF_EMPTY(MUPARSER_DIR "$ENV{MUPARSER_DIR}") -FIND_LIBRARY(MUPARSER_LIBRARY +DEAL_II_FIND_LIBRARY(MUPARSER_LIBRARY NAMES muparser muparserd HINTS ${MUPARSER_DIR} PATH_SUFFIXES lib${LIB_SUFFIX} lib64 lib ) -FIND_PATH(MUPARSER_INCLUDE_DIR muParserDef.h +DEAL_II_FIND_PATH(MUPARSER_INCLUDE_DIR muParserDef.h HINTS ${MUPARSER_DIR} PATH_SUFFIXES include ) @@ -62,4 +62,5 @@ ENDIF() DEAL_II_PACKAGE_HANDLE(MUPARSER LIBRARIES REQUIRED MUPARSER_LIBRARY INCLUDE_DIRS REQUIRED MUPARSER_INCLUDE_DIR + CLEAR MUPARSER_LIBRARY MUPARSER_INCLUDE_DIR ) diff --git a/deal.II/cmake/modules/FindNETCDF.cmake b/deal.II/cmake/modules/FindNETCDF.cmake index 9b99e8b163..b124ce7e74 100644 --- a/deal.II/cmake/modules/FindNETCDF.cmake +++ b/deal.II/cmake/modules/FindNETCDF.cmake @@ -26,7 +26,7 @@ SET(NETCDF_DIR "" CACHE PATH "An optional hint to a NETCDF installation") SET_IF_EMPTY(NETCDF_DIR "$ENV{NETCDF_DIR}") -FIND_PATH(NETCDF_INCLUDE_DIR netcdfcpp.h +DEAL_II_FIND_PATH(NETCDF_INCLUDE_DIR netcdfcpp.h HINTS ${NETCDF_DIR} PATH_SUFFIXES netcdf include ) @@ -38,12 +38,12 @@ FIND_PATH(NETCDF_INCLUDE_DIR netcdfcpp.h # - separate C++ and C library search # -FIND_LIBRARY(NETCDF_CPLUSPLUS_LIBRARY NAMES netcdf_c++ netcdf_cpp +DEAL_II_FIND_LIBRARY(NETCDF_CPLUSPLUS_LIBRARY NAMES netcdf_c++ netcdf_cpp HINTS ${NETCDF_DIR} PATH_SUFFIXES lib${LIB_SUFFIX} lib64 lib ) -FIND_LIBRARY(NETCDF_C_LIBRARY NAMES netcdf +DEAL_II_FIND_LIBRARY(NETCDF_C_LIBRARY NAMES netcdf HINTS ${NETCDF_DIR} PATH_SUFFIXES lib${LIB_SUFFIX} lib64 lib ) @@ -51,4 +51,5 @@ FIND_LIBRARY(NETCDF_C_LIBRARY NAMES netcdf DEAL_II_PACKAGE_HANDLE(NETCDF LIBRARIES REQUIRED NETCDF_CPLUSPLUS_LIBRARY NETCDF_C_LIBRARY INCLUDE_DIRS REQUIRED NETCDF_INCLUDE_DIR + CLEAR NETCDF_CPLUSPLUS_LIBRARY NETCDF_C_LIBRARY NETCDF_INCLUDE_DIR ) diff --git a/deal.II/cmake/modules/FindP4EST.cmake b/deal.II/cmake/modules/FindP4EST.cmake index 204fdd0935..640fb91c04 100644 --- a/deal.II/cmake/modules/FindP4EST.cmake +++ b/deal.II/cmake/modules/FindP4EST.cmake @@ -28,8 +28,6 @@ # P4EST_VERSION_PATCH # -INCLUDE(FindPackageHandleStandardArgs) - SET(P4EST_DIR "" CACHE PATH "An optional hint to a p4est installation/directory" ) @@ -41,7 +39,7 @@ SET_IF_EMPTY(SC_DIR "$ENV{SC_DIR}") # given, take what we chose for p4est. # -FIND_PATH(SC_INCLUDE_DIR sc.h +DEAL_II_FIND_PATH(SC_INCLUDE_DIR sc.h HINTS ${SC_DIR}/FAST ${SC_DIR}/DEBUG @@ -53,13 +51,13 @@ FIND_PATH(SC_INCLUDE_DIR sc.h sc include/p4est include src sc/src ) -FIND_LIBRARY(P4EST_LIBRARY_OPTIMIZED +DEAL_II_FIND_LIBRARY(P4EST_LIBRARY_OPTIMIZED NAMES p4est HINTS ${P4EST_DIR}/FAST ${P4EST_DIR}/DEBUG ${P4EST_DIR} PATH_SUFFIXES lib${LIB_SUFFIX} lib64 lib src ) -FIND_LIBRARY(SC_LIBRARY_OPTIMIZED +DEAL_II_FIND_LIBRARY(SC_LIBRARY_OPTIMIZED NAMES sc HINTS ${SC_DIR}/FAST @@ -76,18 +74,17 @@ FIND_LIBRARY(SC_LIBRARY_OPTIMIZED # Support debug variants as well: # -FIND_LIBRARY(P4EST_LIBRARY_DEBUG +DEAL_II_FIND_LIBRARY(P4EST_LIBRARY_DEBUG NAMES p4est HINTS ${P4EST_DIR}/DEBUG PATH_SUFFIXES lib${LIB_SUFFIX} lib64 lib src ) -FIND_LIBRARY(SC_LIBRARY_DEBUG +DEAL_II_FIND_LIBRARY(SC_LIBRARY_DEBUG NAMES sc HINTS ${SC_DIR}/DEBUG ${P4EST_DIR}/DEBUG PATH_SUFFIXES lib${LIB_SUFFIX} lib64 lib src sc/src ) -MARK_AS_ADVANCED(P4EST_LIBRARY_DEBUG SC_LIBRARY_DEBUG) IF( ( "${P4EST_LIBRARY_OPTIMIZED}" STREQUAL "${P4EST_LIBRARY_DEBUG}" AND "${SC_LIBRARY_OPTIMIZED}" STREQUAL "${SC_LIBRARY_DEBUG}" ) @@ -103,7 +100,7 @@ ELSE() ENDIF() -FIND_PATH(P4EST_INCLUDE_DIR p4est_config.h +DEAL_II_FIND_PATH(P4EST_INCLUDE_DIR p4est_config.h HINTS ${P4EST_DIR}/FAST ${P4EST_DIR}/DEBUG ${P4EST_DIR} PATH_SUFFIXES p4est include/p4est include src ) @@ -156,4 +153,9 @@ DEAL_II_PACKAGE_HANDLE(P4EST OPTIONAL LAPACK_LIBRARIES MPI_C_LIBRARIES INCLUDE_DIRS REQUIRED P4EST_INCLUDE_DIR SC_INCLUDE_DIR + USER_INCLUDE_DIRS + REQUIRED P4EST_INCLUDE_DIR SC_INCLUDE_DIR + CLEAR + SC_INCLUDE_DIR P4EST_LIBRARY_OPTIMIZED SC_LIBRARY_OPTIMIZED + P4EST_LIBRARY_DEBUG SC_LIBRARY_DEBUG P4EST_INCLUDE_DIR ) diff --git a/deal.II/cmake/modules/FindPETSC.cmake b/deal.II/cmake/modules/FindPETSC.cmake index 9011d48c17..4cc4aef519 100644 --- a/deal.II/cmake/modules/FindPETSC.cmake +++ b/deal.II/cmake/modules/FindPETSC.cmake @@ -37,7 +37,7 @@ SET(PETSC_ARCH "" CACHE STRING "An optional hint to a PETSc arch") SET_IF_EMPTY(PETSC_DIR "$ENV{PETSC_DIR}") SET_IF_EMPTY(PETSC_ARCH "$ENV{PETSC_ARCH}") -FIND_LIBRARY(PETSC_LIBRARY +DEAL_II_FIND_LIBRARY(PETSC_LIBRARY NAMES petsc HINTS ${PETSC_DIR} ${PETSC_DIR}/${PETSC_ARCH} PATH_SUFFIXES lib${LIB_SUFFIX} lib64 lib @@ -47,7 +47,7 @@ FIND_LIBRARY(PETSC_LIBRARY # Search for the first part of the includes: # -FIND_PATH(PETSC_INCLUDE_DIR_ARCH petscconf.h +DEAL_II_FIND_PATH(PETSC_INCLUDE_DIR_ARCH petscconf.h HINTS ${PETSC_DIR} ${PETSC_DIR}/${PETSC_ARCH} ${PETSC_INCLUDE_DIRS} PATH_SUFFIXES petsc include include/petsc ) @@ -102,7 +102,7 @@ ENDIF() # Either way, we must be able to find petscversion.h: # -FIND_PATH(PETSC_INCLUDE_DIR_COMMON petscversion.h +DEAL_II_FIND_PATH(PETSC_INCLUDE_DIR_COMMON petscversion.h HINTS ${PETSC_DIR} ${PETSC_DIR}/${PETSC_ARCH} ${PETSC_INCLUDE_DIRS} PATH_SUFFIXES petsc include include/petsc ) @@ -140,7 +140,7 @@ ENDIF() # that file: # -FIND_FILE(PETSC_PETSCVARIABLES +DEAL_II_FIND_FILE(PETSC_PETSCVARIABLES NAMES petscvariables HINTS ${PETSC_DIR}/${PETSC_ARCH} ${PETSC_DIR} PATH_SUFFIXES conf @@ -176,13 +176,9 @@ IF(NOT PETSC_PETSCVARIABLES MATCHES "-NOTFOUND") REGEX "^PETSC_WITH_EXTERNAL_LIB =.*") SEPARATE_ARGUMENTS(PETSC_EXTERNAL_LINK_LINE) - IF(NOT "${PETSC_EXTERNAL_LINK_LINE}" STREQUAL "${PETSC_EXTERNAL_LINK_LINE_SAVED}") - SET(_new_petsc_external_link_line TRUE) - ENDIF() - SET(PETSC_EXTERNAL_LINK_LINE_SAVED "${PETSC_EXTERNAL_LINK_LINE}" CACHE INTERNAL "" FORCE) - SET(_hints) SET(_petsc_libraries) + SET(_cleanup_variables) FOREACH(_token ${PETSC_EXTERNAL_LINK_LINE}}) IF(_token MATCHES "^-L") # Build up hints with the help of all tokens passed with -L: @@ -192,9 +188,7 @@ IF(NOT PETSC_PETSCVARIABLES MATCHES "-NOTFOUND") # Search for every library that was specified with -l: STRING(REGEX REPLACE "^-l" "" _token "${_token}") - IF(_new_petsc_external_link_line) - UNSET(PETSC_LIBRARY_${_token} CACHE) - ENDIF() + LIST(APPEND _cleanup_variables PETSC_LIBRARY_${_token}) IF(_token MATCHES "^(c|quadmath|gfortran|m|rt|nsl|dl|pthread)$") FIND_SYSTEM_LIBRARY(PETSC_LIBRARY_${_token} NAMES ${_token}) @@ -202,7 +196,7 @@ IF(NOT PETSC_PETSCVARIABLES MATCHES "-NOTFOUND") LIST(APPEND _petsc_libraries ${PETSC_LIBRARY_${_token}}) ENDIF() ELSEIF(NOT _token MATCHES "(petsc|stdc\\+\\+|gcc_s)") - FIND_LIBRARY(PETSC_LIBRARY_${_token} + DEAL_II_FIND_LIBRARY(PETSC_LIBRARY_${_token} NAMES ${_token} HINTS ${_hints} ) @@ -222,8 +216,16 @@ DEAL_II_PACKAGE_HANDLE(PETSC INCLUDE_DIRS REQUIRED PETSC_INCLUDE_DIR_COMMON PETSC_INCLUDE_DIR_ARCH OPTIONAL _petsc_includes + USER_INCLUDE_DIRS + REQUIRED PETSC_INCLUDE_DIR_COMMON PETSC_INCLUDE_DIR_ARCH + OPTIONAL _petsc_includes + CLEAR + PETSC_LIBRARY PETSC_INCLUDE_DIR_COMMON PETSC_INCLUDE_DIR_ARCH + PETSC_PETSCVARIABLES ${_cleanup_variables} ) IF(PETSC_FOUND) MARK_AS_ADVANCED(PETSC_ARCH) +ELSE() + MARK_AS_ADVANCED(CLEAR PETSC_ARCH) ENDIF() diff --git a/deal.II/cmake/modules/FindSCALAPACK.cmake b/deal.II/cmake/modules/FindSCALAPACK.cmake deleted file mode 100644 index d8a295070d..0000000000 --- a/deal.II/cmake/modules/FindSCALAPACK.cmake +++ /dev/null @@ -1,63 +0,0 @@ -## --------------------------------------------------------------------- -## $Id$ -## -## Copyright (C) 2012 - 2014 by the deal.II authors -## -## This file is part of the deal.II library. -## -## The deal.II library is free software; you can use it, redistribute -## it, and/or modify it under the terms of the GNU Lesser General -## Public License as published by the Free Software Foundation; either -## version 2.1 of the License, or (at your option) any later version. -## The full text of the license can be found in the file LICENSE at -## the top level of the deal.II distribution. -## -## --------------------------------------------------------------------- - -# -# Try to find the SCALAPACK library -# -# Used as a helper module for FindMUMPS.cmake -# -# This module exports -# -# SCALAPACK_LIBRARIES -# SCALAPACK_LINKER_FLAGS -# - -SET(SCALAPACK_DIR "" CACHE PATH "An optional hint to a SCALAPACK directory") -SET(BLACS_DIR "" CACHE PATH "An optional hint to a BLACS directory") -SET_IF_EMPTY(SCALAPACK_DIR "$ENV{SCALAPACK_DIR}") -SET_IF_EMPTY(BLACS_DIR "$ENV{BLACS_DIR}") - -FIND_LIBRARY(SCALAPACK_LIBRARY NAMES scalapack - HINTS ${SCALAPACK_DIR} - PATH_SUFFIXES lib${LIB_SUFFIX} lib64 lib - ) - -# -# Well, depending on the version of scalapack and the distribution it might -# be necessary to search for blacs, too. So we do this in a very -# probabilistic way... -# -FOREACH(_lib blacs blacsCinit blacsF77init) - STRING(TOUPPER "${_lib}" _lib_upper) - FIND_LIBRARY(${_lib_upper}_LIBRARY - NAMES ${_lib} ${_lib}_MPI-LINUX-0 ${_lib}_MPI-DARWIN-0 - HINTS ${BLACS_DIR} ${SCALAPACK_DIR} ${SCALAPACK_DIR}/../blacs/ - PATH_SUFFIXES lib${LIB_SUFFIX} lib64 lib LIB - ) - MARK_AS_ADVANCED(${_lib_upper}_LIBRARY) -ENDFOREACH() - -DEAL_II_PACKAGE_HANDLE(SCALAPACK - LIBRARIES - REQUIRED SCALAPACK_LIBRARY LAPACK_LIBRARIES - OPTIONAL BLACS_LIBRARY BLACSCINIT_LIBRARY BLACSF77INIT_LIBRARY MPI_Fortran_LIBRARIES - LINKER_FLAGS - OPTIONAL LAPACK_LINKER_FLAGS - ) - -IF(SCALAPACK_FOUND) - MARK_AS_ADVANCED(BLACS_DIR) -ENDIF() diff --git a/deal.II/cmake/modules/FindSLEPC.cmake b/deal.II/cmake/modules/FindSLEPC.cmake index 28892f9b9a..c60154c0a8 100644 --- a/deal.II/cmake/modules/FindSLEPC.cmake +++ b/deal.II/cmake/modules/FindSLEPC.cmake @@ -39,13 +39,13 @@ SET_IF_EMPTY(PETSC_ARCH "$ENV{PETSC_ARCH}") # mechanism. # -FIND_LIBRARY(SLEPC_LIBRARY +DEAL_II_FIND_LIBRARY(SLEPC_LIBRARY NAMES slepc HINTS ${SLEPC_DIR} ${SLEPC_DIR}/${PETSC_ARCH} ${PETSC_DIR} PATH_SUFFIXES lib${LIB_SUFFIX} lib64 lib ) -FIND_PATH(SLEPC_INCLUDE_DIR_ARCH slepcconf.h +DEAL_II_FIND_PATH(SLEPC_INCLUDE_DIR_ARCH slepcconf.h HINTS ${SLEPC_DIR} ${SLEPC_DIR}/${PETSC_ARCH} @@ -54,7 +54,7 @@ FIND_PATH(SLEPC_INCLUDE_DIR_ARCH slepcconf.h PATH_SUFFIXES slepc include include/slepc ) -FIND_PATH(SLEPC_INCLUDE_DIR_COMMON slepcversion.h +DEAL_II_FIND_PATH(SLEPC_INCLUDE_DIR_COMMON slepcversion.h HINTS ${SLEPC_DIR} ${SLEPC_DIR}/${PETSC_ARCH} @@ -95,4 +95,7 @@ DEAL_II_PACKAGE_HANDLE(SLEPC REQUIRED SLEPC_LIBRARY PETSC_LIBRARIES INCLUDE_DIRS REQUIRED SLEPC_INCLUDE_DIR_ARCH SLEPC_INCLUDE_DIR_COMMON + USER_INCLUDE_DIRS + REQUIRED SLEPC_INCLUDE_DIR_ARCH SLEPC_INCLUDE_DIR_COMMON + CLEAR SLEPC_LIBRARY SLEPC_INCLUDE_DIR_ARCH SLEPC_INCLUDE_DIR_COMMON ) diff --git a/deal.II/cmake/modules/FindTBB.cmake b/deal.II/cmake/modules/FindTBB.cmake index cf19170f4f..fe2cc824de 100644 --- a/deal.II/cmake/modules/FindTBB.cmake +++ b/deal.II/cmake/modules/FindTBB.cmake @@ -27,13 +27,11 @@ # TBB_VERSION_MINOR # -INCLUDE(FindPackageHandleStandardArgs) - SET(TBB_DIR "" CACHE PATH "An optional hint to a TBB installation") SET_IF_EMPTY(TBB_DIR "$ENV{TBB_DIR}") FILE(GLOB _path ${TBB_DIR}/build/*_release) -FIND_LIBRARY(TBB_LIBRARY +DEAL_II_FIND_LIBRARY(TBB_LIBRARY NAMES tbb HINTS ${_path} @@ -45,7 +43,7 @@ FIND_LIBRARY(TBB_LIBRARY # Also search for the debug library: # FILE(GLOB _path ${TBB_DIR}/build/*_debug) -FIND_LIBRARY(TBB_DEBUG_LIBRARY +DEAL_II_FIND_LIBRARY(TBB_DEBUG_LIBRARY NAMES tbb_debug HINTS ${_path} @@ -59,7 +57,7 @@ ELSE() SET(_libraries TBB_LIBRARY) ENDIF() -FIND_PATH(TBB_INCLUDE_DIR tbb/tbb_stddef.h +DEAL_II_FIND_PATH(TBB_INCLUDE_DIR tbb/tbb_stddef.h HINTS ${TBB_DIR} PATH_SUFFIXES include include/tbb tbb @@ -84,4 +82,5 @@ ENDIF() DEAL_II_PACKAGE_HANDLE(TBB LIBRARIES REQUIRED ${_libraries} INCLUDE_DIRS REQUIRED TBB_INCLUDE_DIR + CLEAR TBB_DEBUG_LIBRARY TBB_LIBRARY TBB_INCLUDE_DIR ) diff --git a/deal.II/cmake/modules/FindTRILINOS.cmake b/deal.II/cmake/modules/FindTRILINOS.cmake index f1c493b05b..6fc8c408d4 100644 --- a/deal.II/cmake/modules/FindTRILINOS.cmake +++ b/deal.II/cmake/modules/FindTRILINOS.cmake @@ -31,8 +31,6 @@ # TRILINOS_HAS_C99_TR1_WORKAROUND # -INCLUDE(FindPackageHandleStandardArgs) - SET(TRILINOS_DIR "" CACHE PATH "An optional hint to a Trilinos installation") SET_IF_EMPTY(TRILINOS_DIR "$ENV{TRILINOS_DIR}") @@ -52,10 +50,6 @@ FIND_PACKAGE(TRILINOS_CONFIG NO_SYSTEM_ENVIRONMENT_PATH ) -IF(NOT "${TRILINOS_CONFIG_DIR}" STREQUAL "${TRILINOS_CONFIG_DIR_SAVED}") - SET(_new_trilinos_config TRUE) -ENDIF() -SET(TRILINOS_CONFIG_DIR_SAVED "${TRILINOS_CONFIG_DIR}" CACHE INTERNAL "" FORCE) IF(DEFINED Trilinos_VERSION) # @@ -79,17 +73,10 @@ ENDIF() # # Look for the one include file that we'll query for further information: # -IF(_new_trilinos_config) - UNSET(EPETRA_CONFIG_H CACHE) -ENDIF() -FIND_FILE(EPETRA_CONFIG_H Epetra_config.h +DEAL_II_FIND_FILE(EPETRA_CONFIG_H Epetra_config.h HINTS ${Trilinos_INCLUDE_DIRS} - NO_DEFAULT_PATH - NO_CMAKE_ENVIRONMENT_PATH - NO_CMAKE_PATH - NO_SYSTEM_ENVIRONMENT_PATH - NO_CMAKE_SYSTEM_PATH - NO_CMAKE_FIND_ROOT_PATH + NO_DEFAULT_PATH NO_CMAKE_ENVIRONMENT_PATH NO_CMAKE_PATH + NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_SYSTEM_PATH NO_CMAKE_FIND_ROOT_PATH ) IF(EXISTS ${EPETRA_CONFIG_H}) @@ -119,6 +106,44 @@ IF(EXISTS ${EPETRA_CONFIG_H}) ENDIF() ENDIF() +# +# Some versions of Sacado_cmath.hpp do things that aren't compatible +# with the -std=c++0x flag of GCC, see deal.II FAQ. +# Test whether that is indeed the case: +# + +DEAL_II_FIND_FILE(SACADO_CMATH_HPP Sacado_cmath.hpp + HINTS ${Trilinos_INCLUDE_DIRS} + NO_DEFAULT_PATH NO_CMAKE_ENVIRONMENT_PATH NO_CMAKE_PATH + NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_SYSTEM_PATH NO_CMAKE_FIND_ROOT_PATH + ) + +IF(EXISTS ${SACADO_CMATH_HPP}) + LIST(APPEND CMAKE_REQUIRED_INCLUDES ${Trilinos_INCLUDE_DIRS}) + PUSH_CMAKE_REQUIRED("${DEAL_II_CXX11_FLAG}") + + CHECK_CXX_SOURCE_COMPILES( + " + #include + int main(){ return 0; } + " + TRILINOS_SUPPORTS_CPP11 + ) + + # + # Try whether exporting HAS_C99_TR1_CMATH helps: + # + PUSH_CMAKE_REQUIRED("-DHAS_C99_TR1_CMATH") + CHECK_CXX_SOURCE_COMPILES( + " + #include + int main(){ return 0; } + " + TRILINOS_HAS_C99_TR1_WORKAROUND + ) + RESET_CMAKE_REQUIRED() +ENDIF() + # # *Boy* Sanitize the include paths given by TrilinosConfig.cmake... # @@ -134,11 +159,8 @@ STRING(REGEX REPLACE # SET(_libraries "") FOREACH(_library ${Trilinos_LIBRARIES}) - IF(_new_trilinos_config) - UNSET(TRILINOS_LIBRARY_${_library} CACHE) - ENDIF() - - FIND_LIBRARY(TRILINOS_LIBRARY_${_library} + LIST(APPEND _libraries TRILINOS_LIBRARY_${_library}) + DEAL_II_FIND_LIBRARY(TRILINOS_LIBRARY_${_library} NAMES ${_library} HINTS ${Trilinos_LIBRARY_DIRS} NO_DEFAULT_PATH @@ -148,54 +170,18 @@ FOREACH(_library ${Trilinos_LIBRARIES}) NO_CMAKE_SYSTEM_PATH NO_CMAKE_FIND_ROOT_PATH ) - - LIST(APPEND _libraries TRILINOS_LIBRARY_${_library}) ENDFOREACH() + DEAL_II_PACKAGE_HANDLE(TRILINOS LIBRARIES REQUIRED ${_libraries} Trilinos_TPL_LIBRARIES OPTIONAL MPI_CXX_LIBRARIES INCLUDE_DIRS REQUIRED Trilinos_INCLUDE_DIRS + USER_INCLUDE_DIRS + REQUIRED Trilinos_INCLUDE_DIRS + CLEAR + TRILINOS_CONFIG_DIR EPETRA_CONFIG_H SACADO_CMATH_HPP ${_libraries} + TRILINOS_SUPPORTS_CPP11 TRILINOS_HAS_C99_TR1_WORKAROUND ) - -IF(TRILINOS_FOUND) - # - # Some versions of Sacado_cmath.hpp do things that aren't compatible - # with the -std=c++0x flag of GCC, see deal.II FAQ. - # Test whether that is indeed the case: - # - IF(_new_trilinos_config) - UNSET(TRILINOS_SUPPORTS_CPP11 CACHE) - UNSET(TRILINOS_HAS_C99_TR1_WORKAROUND CACHE) - ENDIF() - - LIST(APPEND CMAKE_REQUIRED_INCLUDES ${TRILINOS_INCLUDE_DIRS}) - PUSH_CMAKE_REQUIRED("${DEAL_II_CXX11_FLAG}") - - CHECK_CXX_SOURCE_COMPILES( - " - #include - int main(){ return 0; } - " - TRILINOS_SUPPORTS_CPP11 - ) - - # - # Try whether exporting HAS_C99_TR1_CMATH helps: - # - PUSH_CMAKE_REQUIRED("-DHAS_C99_TR1_CMATH") - CHECK_CXX_SOURCE_COMPILES( - " - #include - int main(){ return 0; } - " - TRILINOS_HAS_C99_TR1_WORKAROUND - ) - RESET_CMAKE_REQUIRED() - -ELSE() - - UNSET(TRILINOS_CONFIG_DIR_SAVED CACHE) -ENDIF() diff --git a/deal.II/cmake/modules/FindUMFPACK.cmake b/deal.II/cmake/modules/FindUMFPACK.cmake index 0ab55c36b7..675f95475d 100644 --- a/deal.II/cmake/modules/FindUMFPACK.cmake +++ b/deal.II/cmake/modules/FindUMFPACK.cmake @@ -28,8 +28,6 @@ # UMFPACK_VERSION_SUBMINOR # -INCLUDE(FindPackageHandleStandardArgs) - SET(UMFPACK_DIR "" CACHE PATH "An optional hint to an UMFPACK directory") SET(SUITESPARSE_DIR "" CACHE PATH "An optional hint to a SUITESPARSE directory" @@ -45,7 +43,7 @@ ENDFOREACH() MACRO(FIND_UMFPACK_PATH _comp _file) STRING(TOLOWER ${_comp} _comp_lowercase) STRING(TOUPPER ${_comp} _comp_uppercase) - FIND_PATH(${_comp}_INCLUDE_DIR ${_file} + DEAL_II_FIND_PATH(${_comp}_INCLUDE_DIR ${_file} HINTS ${${_comp_uppercase}_DIR} ${SUITESPARSE_DIR}/${_comp} @@ -59,7 +57,7 @@ ENDMACRO() MACRO(FIND_UMFPACK_LIBRARY _comp _name) STRING(TOUPPER ${_comp} _comp_uppercase) - FIND_LIBRARY(${_comp}_LIBRARY + DEAL_II_FIND_LIBRARY(${_comp}_LIBRARY NAMES ${_name} HINTS ${${_comp_uppercase}_DIR} @@ -146,6 +144,7 @@ ENDIF() # by ldd :-( ): # FIND_SYSTEM_LIBRARY(rt_LIBRARY NAMES rt) +MARK_AS_ADVANCED(rt_LIBRARY) DEAL_II_PACKAGE_HANDLE(UMFPACK LIBRARIES @@ -158,9 +157,14 @@ DEAL_II_PACKAGE_HANDLE(UMFPACK OPTIONAL SuiteSparse_config_INCLUDE_DIR LINKER_FLAGS OPTIONAL LAPACK_LINKER_FLAGS + CLEAR + UMFPACK_LIBRARY CHOLMOD_LIBRARY CCOLAMD_LIBRARY COLAMD_LIBRARY + CAMD_LIBRARY SuiteSparse_config_LIBRARY AMD_LIBRARY UMFPACK_INCLUDE_DIR + AMD_INCLUDE_DIR SuiteSparse_config_INCLUDE_DIR ) IF(UMFPACK_FOUND) MARK_AS_ADVANCED(SUITESPARSE_DIR) +ELSE() + MARK_AS_ADVANCED(CLEAR SUITESPARSE_DIR) ENDIF() -MARK_AS_ADVANCED(SuiteSparse_config_LIBRARY rt_LIBRARY) diff --git a/deal.II/cmake/modules/FindZLIB.cmake b/deal.II/cmake/modules/FindZLIB.cmake new file mode 100644 index 0000000000..a3ecfe357d --- /dev/null +++ b/deal.II/cmake/modules/FindZLIB.cmake @@ -0,0 +1,49 @@ +## --------------------------------------------------------------------- +## $Id$ +## +## Copyright (C) 2014 by the deal.II authors +## +## This file is part of the deal.II library. +## +## The deal.II library is free software; you can use it, redistribute +## it, and/or modify it under the terms of the GNU Lesser General +## Public License as published by the Free Software Foundation; either +## version 2.1 of the License, or (at your option) any later version. +## The full text of the license can be found in the file LICENSE at +## the top level of the deal.II distribution. +## +## --------------------------------------------------------------------- + +# +# Try to find the ZLIB library +# +# This module exports +# +# ZLIB_LIBRARIES +# ZLIB_INCLUDE_DIRS +# ZLIB_VERSION +# + +SET(ZLIB_DIR "" CACHE PATH "An optional hint to a ZLIB installation") +SET_IF_EMPTY(ZLIB_DIR "$ENV{ZLIB_DIR}") + +# +# Houston, we have a problem: CMake ships its own FindZLIB.cmake module. +# Unfortunately we want to call DEAL_II_PACKAGE_HANDLE. Therefore, use the +# original find module and do a dummy call to DEAL_II_PACKAGE_HANDLE: +# + +IF(NOT "${ZLIB_DIR}" STREQUAL "") + SET(ZLIB_ROOT ${ZLIB_DIR}) +ENDIF() +LIST(REMOVE_ITEM CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules/) +FIND_PACKAGE(ZLIB) +LIST(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules/) + +SET(ZLIB_VERSION ${ZLIB_VERSION_STRING}) + +DEAL_II_PACKAGE_HANDLE(ZLIB + LIBRARIES REQUIRED ZLIB_LIBRARY + INCLUDE_DIRS REQUIRED ZLIB_INCLUDE_DIR + CLEAR ZLIB_INCLUDE_DIR ZLIB_LIBRARY + ) diff --git a/deal.II/cmake/setup_deal_ii.cmake b/deal.II/cmake/setup_deal_ii.cmake index 777c066931..6ef18d05cb 100644 --- a/deal.II/cmake/setup_deal_ii.cmake +++ b/deal.II/cmake/setup_deal_ii.cmake @@ -52,6 +52,8 @@ # DEAL_II_PROJECT_CONFIG_RELDIR *) # # DEAL_II_BUILD_TYPES +# DEAL_II_LIST_SUFFIXES +# DEAL_II_STRING_SUFFIXES # # *) Can be overwritten by the command line via -D<...> # @@ -134,6 +136,18 @@ IF(CMAKE_BUILD_TYPE MATCHES "Release") LIST(APPEND DEAL_II_BUILD_TYPES "RELEASE") ENDIF() +SET(DEAL_II_LIST_SUFFIXES + DEFINITIONS DEFINITIONS_RELEASE DEFINITIONS_DEBUG + USER_DEFINITIONS USER_DEFINITIONS_RELEASE USER_DEFINITIONS_DEBUG + INCLUDE_DIRS USER_INCLUDE_DIRS BUNDLED_INCLUDE_DIRS + LIBRARIES LIBRARIES_RELEASE LIBRARIES_DEBUG + ) + +SET(DEAL_II_STRING_SUFFIXES + CXX_FLAGS CXX_FLAGS_RELEASE CXX_FLAGS_DEBUG + LINKER_FLAGS LINKER_FLAGS_RELEASE LINKER_FLAGS_DEBUG + ) + ######################################################################## # # diff --git a/deal.II/cmake/setup_finalize.cmake b/deal.II/cmake/setup_finalize.cmake index 4d228ea4ae..a568672b89 100644 --- a/deal.II/cmake/setup_finalize.cmake +++ b/deal.II/cmake/setup_finalize.cmake @@ -55,14 +55,7 @@ ENDFOREACH() # Save base configuration into variables BASE_* for later use in # setup_write_config.cmake: # -FOREACH(_suffix - CXX_FLAGS CXX_FLAGS_RELEASE CXX_FLAGS_DEBUG - DEFINITIONS DEFINITIONS_RELEASE DEFINITIONS_DEBUG - USER_DEFINITIONS USER_DEFINITIONS_RELEASE USER_DEFINITIONS_DEBUG - LINKER_FLAGS LINKER_FLAGS_RELEASE LINKER_FLAGS_DEBUG - INCLUDE_DIRS USER_INCLUDE_DIRS BUNDLED_INCLUDE_DIRS - LIBRARIES LIBRARIES_RELEASE LIBRARIES_DEBUG - ) +FOREACH(_suffix ${DEAL_II_STRING_SUFFIXES} ${DEAL_II_LIST_SUFFIXES}) SET(BASE_${_suffix} ${DEAL_II_${_suffix}}) ENDFOREACH() @@ -70,22 +63,19 @@ ENDFOREACH() # Register features: # FOREACH(_feature ${DEAL_II_FEATURES}) - FILTER_SYSTEM_LIBRARIES(${_feature}) + FILTER_SYSTEM_LIBRARIES(${_feature}) # TODO, remove here REGISTER_FEATURE(${_feature}) ENDFOREACH() # # Deduplicate entries one more time :-] # -FOREACH(_suffix INCLUDE_DIRS USER_INCLUDE_DIRS BUNDLED_INCLUDE_DIRS) - REMOVE_DUPLICATES(DEAL_II_${_suffix}) -ENDFOREACH() -FOREACH(_suffix - LIBRARIES LIBRARIES_RELEASE LIBRARIES_DEBUG - USER_DEFINITIONS USER_DEFINITIONS_DEBUG USER_DEFINITIONS_RELEASE - DEFINITIONS DEFINITIONS_DEBUG DEFINITIONS_RELEASE - ) - REMOVE_DUPLICATES(DEAL_II_${_suffix} REVERSE) +FOREACH(_suffix ${DEAL_II_LIST_SUFFIXES}) + IF(_suffix MATCHES "INCLUDE_DIRS$") + REMOVE_DUPLICATES(DEAL_II_${_suffix}) + ELSE() + REMOVE_DUPLICATES(DEAL_II_${_suffix} REVERSE) + ENDIF() ENDFOREACH() # diff --git a/deal.II/cmake/setup_write_config.cmake b/deal.II/cmake/setup_write_config.cmake index 1afca5ff20..38c0351535 100644 --- a/deal.II/cmake/setup_write_config.cmake +++ b/deal.II/cmake/setup_write_config.cmake @@ -138,11 +138,6 @@ ENDIF() _both("DEAL_II_ALLOW_AUTODETECTION = ${DEAL_II_ALLOW_AUTODETECTION}):\n") -# -# Cache for quicker access to avoid the O(n^2) complexity of a loop over -# _all_ defined variables. -# - GET_CMAKE_PROPERTY(_variables VARIABLES) FOREACH(_var ${_variables}) IF(_var MATCHES "DEAL_II_WITH") @@ -199,13 +194,8 @@ FOREACH(_var ${_features}) # Print the feature configuration: # FOREACH(_var2 - C_COMPILER CXX_COMPILER Fortran_COMPILER - CXX_FLAGS CXX_FLAGS_RELEASE CXX_FLAGS_DEBUG - DEFINITIONS DEFINITIONS_RELEASE DEFINITIONS_DEBUG - USER_DEFINITIONS USER_DEFINITIONS_RELEASE USER_DEFINITIONS_DEBUG - LINKER_FLAGS LINKER_FLAGS_RELEASE LINKER_FLAGS_DEBUG - INCLUDE_DIRS USER_INCLUDE_DIRS BUNDLED_INCLUDE_DIRS - LIBRARIES LIBRARIES_RELEASE LIBRARIES_DEBUG + C_COMPILER CXX_COMPILER Fortran_COMPILER + ${DEAL_II_STRING_SUFFIXES} ${DEAL_II_LIST_SUFFIXES} ) IF(DEFINED ${_feature}_${_var2}) _detailed("# ${_feature}_${_var2} = ${${_feature}_${_var2}}\n") @@ -244,50 +234,3 @@ ENDIF() _summary(" to print a help message with a list of top level targets\n") _both("#\n###") - - -######################################################################## -# # -# Dump the cache into config.cmake: # -# # -######################################################################## - -SET(_config_cmake "${CMAKE_BINARY_DIR}/config.cmake") -FILE(WRITE ${_config_cmake} -"# -# This is a raw CMake cache dump of this build directory suitable as an -# initial cache file: Use this file to preseed a CMake cache in an empty -# build directory by (note that it is still necessary to declare a source -# directory): -# $ cmake -C [...]/config.cmake ../deal.II -# -# If you want to have a clean configuration file have a look at -# doc/users/config.sample -#\n" - ) - -FUNCTION(_config _var) - # It is absolutely beyond my comprehension why on earth there is - # hardcoded logic built into CMake to throw an error if one uses - # uppercase variants of FindPACKAGE call variables... - IF(NOT _var MATCHES "BOOST_DIR") - UNSET(${_var}) - ENDIF() - # - # We have to get down to the raw entry in the cache, therefore clear the - # current value (and do it in a function to get private scope): - # - FILE(APPEND ${_config_cmake} - "SET(${_var} \"${${_var}}\" CACHE STRING \"\")\n" - ) -ENDFUNCTION() - -GET_CMAKE_PROPERTY(_variables CACHE_VARIABLES) -FOREACH(_var - CMAKE_C_COMPILER - CMAKE_CXX_COMPILER - CMAKE_Fortran_COMPILER - ${_variables} - ) - _config(${_var}) -ENDFOREACH() diff --git a/deal.II/doc/developers/cmake-internals.html b/deal.II/doc/developers/cmake-internals.html index 48146dc0c2..dad7505cfb 100644 --- a/deal.II/doc/developers/cmake-internals.html +++ b/deal.II/doc/developers/cmake-internals.html @@ -331,60 +331,72 @@ RESET_CMAKE_REQUIRED() library (no deal.II specific dependency checking, no compatibility checking).
  • - It should do so by appropriate FIND_LIBRARY and - FIND_PATH calls. The results of this calls should be the - only cached variables. -
  • - FIND_PACKAGE_HANDLE_STANDARD_ARGS should be used for - setting FEATURE_FOUND as this already respects the - QUIET and REQUIRED keywords. + It should do so by appropriate DEAL_II_FIND_LIBRARY, + DEAL_II_FIND_PATH and DEAL_II_FIND_FILE + calls (same syntax as the native CMake functions; just a small + wrapper to provide some useful output). The results of this calls + should be the only cached variables.
  • A WARNING, SEND_ERROR or FATAL_ERROR must be avoided (the only exception is the REQUIRED keyword).
  • - If the feature is successfully found, a subset of the following - uncached variables might be set: -
    +      The following uncached variables are recognized by the feature
    +      configuration mechanism:
    +
     FEATURE_FOUND
     FEATURE_LIBRARIES (with optimized, debug, release keywords)
     FEATURE_LIBRARIES(_DEBUG|_RELEASE)
    -FEATURE_INCLUDE_DIRS
    +FEATURE_INCLUDE_DIRS FEATURE_USER_INCLUDE_DIRS
     FEATURE_LINKER_FLAGS(|_DEBUG|_RELEASE)
     FEATURE_CXX_FLAGS(|_DEBUG|_RELEASE)
     FEATURE_DEFINITIONS(|_DEBUG|_RELEASE)
    -
     FEATURE_VERSION
     FEATURE_VERSION(_MAJOR|_MINOR|_SUBMINOR)
     
    - -There are obviously valid exceptions from this rule, though. + The DEAL_II_PACKAGE_HANDLE macro should be exclusively + used for setting up these variables (except the version variants). An + example invocation is +
    +DEAL_II_PACKAGE_HANDLE(UMFPACK
    +  LIBRARIES
    +    REQUIRED UMFPACK_LIBRARY
    +    OPTIONAL CHOLMOD_LIBRARY CCOLAMD_LIBRARY COLAMD_LIBRARY CAMD_LIBRARY ${_suitesparse_config}
    +    REQUIRED AMD_LIBRARY
    +    OPTIONAL METIS_LIBRARIES LAPACK_LIBRARIES rt_LIBRARY
    +  INCLUDE_DIRS
    +    REQUIRED UMFPACK_INCLUDE_DIR AMD_INCLUDE_DIR
    +    OPTIONAL SuiteSparse_config_INCLUDE_DIR
    +  LINKER_FLAGS
    +    OPTIONAL LAPACK_LINKER_FLAGS
    +  CLEAR
    +    UMFPACK_LIBRARY CHOLMOD_LIBRARY CCOLAMD_LIBRARY COLAMD_LIBRARY
    +    CAMD_LIBRARY SuiteSparse_config_LIBRARY AMD_LIBRARY UMFPACK_INCLUDE_DIR
    +    AMD_INCLUDE_DIR SuiteSparse_config_INCLUDE_DIR
    +  )
    +
    + The macro concatenates all specified variables into the final + FEATURE_SUFFIX variable. Hereby, a feature is + successfully found if all REQUIRED variables are + non-empty an not set to "-NOTFOUND". + OPTIONAL variables are just filtered out in this case. + As a last set of parameters the full list of cached search result + variables must be specified after the CLEAR keyword - + this is used to provide a possibility to undo a feature search.
  • Only "local" variables "_<all lowercase>" or "global" variables prefixed by FEATURE_ may be altered. Do not set DEAL_II_* or CMAKE_* variables directly! - -
  • - The find module must define a macro FEATURE_CLEAR that - unsets all cached variables, so that a subsequent call to the find - module starts a completely fresh features search.
  • A hint with FEATURE_DIR can be set up for convenience. It is best to start the Find module by -
    +SET(FEATURE_DIR "" CACHE PATH "short description")
     SET_IF_EMPTY(FEATURE_DIR "$ENV{FEATURE_DIR}")
     
    - -and use FEATURE_DIR as a hint. If the external -library could be found, hide it via -MARK_AS_ADVANCED, if the external library could not -be found, set a cache value: -
    -SET(FEATURE_DIR "" CACHE PATH "An optional hint to a FEATURE directory")
    -
    - + and use FEATURE_DIR as a hint. + @@ -435,9 +447,14 @@ FEATURE_DEFINITIONS(|_DEBUG|_RELEASE)
     FEATURE_<FEATURE>_DEPENDS              (a variable)
       - a variable which contains an optional list of other features
    -    this feature depends on (and which have to be enabled for this feature
    -    to work.) The features must be given with the full option toggle:
    -    DEAL_II_WITH_[...]
    +    this feature depends on (and which have to be enbled for this feature
    +    to work.)
    +    Features must be given with short name, i.e. without DEAL_II_WITH_
    +
    +FEATURE_<FEATURE>_AFTER                (a variable)
    +  - a variable which contains an optional list of other features
    +    that have to be configured prior to this feature
    +    Features must be given with short name, i.e. without DEAL_II_WITH_
     
     FEATURE_<FEATURE>_FIND_EXTERNAL(var)   (a macro)
       - which should set var to TRUE if all dependencies for the feature are
    @@ -578,7 +595,8 @@ DEAL_II_FORCE_BUNDLED_<FEATURE>        (an option)
           
     
         
  • - For internal use, for setting necessary linker flags for the deal.II library: + For internal and external use, for setting necessary linker flags for + the deal.II library and user programs:
    • DEAL_II_LINKER_FLAGS
    • DEAL_II_LINKER_FLAGS_DEBUG diff --git a/deal.II/doc/news/changes.h b/deal.II/doc/news/changes.h index c442348d1b..180f5f88d7 100644 --- a/deal.II/doc/news/changes.h +++ b/deal.II/doc/news/changes.h @@ -148,6 +148,70 @@ inconvenience this causes.

      Specific improvements

        +
      1. New: AnyData::try_read() is a function that allows users to check +whether an entry exists and get a pointer to it without throwing an +exception in case of failure. +
        +(Guido Kanschat, 2014/05/16) +
      2. + +
      3. New: The GMRES solver of deal.II can now write an estimate of + eigenvalues to the log file, in analogy to the CG solver. This is enabled + by the flag SolverGMRES<>::AdditionalData::compute_eigenvalues. +
        + (Martin Kronbichler, 2014/05/11) +
      4. + +
      5. New: The GridIn::read_vtk() function places fewer restrictions + on the VTK files it wants to read and should, consequently, be able + to read more correctly formatted VTK files than before. +
        + (Giorgos Kourakos, 2014/05/08) +
      6. + +
      7. New: There is now a QSorted quadrature which takes an + arbitrary quadrature at construction time and reorders the quadrature + points according to the weigths, from smaller to bigger. This should + improve stability of higher order polynomial integration. +
        + (Luca Heltai, 2014/05/07) +
      8. + +
      9. New: The class VectorizedArray now provides methods + VectorizedArray::load(ptr) to read from arbitrary pointer addresses and + VectorizedArray::store(ptr) to write to arbitrary pointer addresses, + as opposed to the data layout of VectorizedArray that requires pointers + to be aligned by the size of the array in bytes. This also circumvents + a (rare) compiler optimization bug with gcc-4.6 on SSE code in combination + with function calls, e.g. to std::sin. +
        + (Martin Kronbichler, 2014/05/05) +
      10. + +
      11. Changed: Namespace SparsityTools had a local typedef size_type + that was set equal to types::global_dof_index. This typedef has been removed + and we now use SparsityPattern::size_type wherever applicable as this is the + type we really want to use. (The code worked previously because + types::global_dof_index and SparsityPattern::size_type happen to be the same + as far as the underlying type is concerned; however, they are different + semantically.) +
        + (Wolfgang Bangerth, 2014/05/04) +
      12. + +
      13. Updated: The step-16 tutorial program was updated to the new layout + multigrid objects and thus avoids using deprecated interfaces. +
        + (Martin Kronbichler, 2014/05/03) +
      14. + +
      15. Fixed: FE_DGQArbitraryNodes::has_support_on_face was broken when + polynomials with support points not on the element boundary were used. + This is now fixed. +
        + (Martin Kronbichler, 2014/04/30) +
      16. +
      17. Fixed: parallel::distributed::Triangulation::load now has an additional parameter autopartition to control p4est's behavior of rebalancing triangulations between MPI nodes upon reading. It is diff --git a/deal.II/doc/publications/index.html b/deal.II/doc/publications/index.html index 4cc4ae8f40..f48418761d 100644 --- a/deal.II/doc/publications/index.html +++ b/deal.II/doc/publications/index.html @@ -379,6 +379,16 @@
      18. +
      19. A. Grayver, M. Bürg +
        + Robust and scalable 3-D geo-electromagnetic modelling approach using the finite element method + +
        + Geophysical Journal International 2014, published online + (DOI 10.1093/gji/ggu119), 2014. + +
      20. +
      21. N. Gupta, N. Nataraj
        A posteriori error estimates for an optimal control @@ -409,6 +419,15 @@ SIAM J. Optim., vol. 24, pp. 108-126, 2014.
      22. +
      23. A. Javili, A. T. McBride, P. Steinmann, B. D. Reddy +
        + A unified computational framework for bulk and surface elasticity theory: a curvilinear-coordinate-based finite element methodology + +
        + Computational Mechanics, in press, 2014. + +
      24. +
      25. S. Kim
        @@ -444,6 +463,18 @@ preprint, 2014.
      26. +
      27. +
        M. S. Mallikarjunaiah, J. Walton + On the direct numerical simulation (DNS) of an + anti-plane shear crack in a new class of strain-limiting + elastic bodies + +
        + Proceedings of theUS National Congress on Theoretical and + Applied Mechanics (USNTAM-14) to be held in Michigan State + University-East Lansing, June 15-20, 2014. +
      28. +

      29. A. Mola, L. Heltai, A. DeSimone A fully nonlinear potential model for ship hydrodynamics directly interfaced with CAD data structures diff --git a/deal.II/doc/users/cmake.html b/deal.II/doc/users/cmake.html index 4cc9cf795f..7bc712f4f9 100644 --- a/deal.II/doc/users/cmake.html +++ b/deal.II/doc/users/cmake.html @@ -854,9 +854,9 @@ cmake -DCMAKE_C_COMPILER="mpicc" -DCMAKE_CXX_COMPILER="mpicxx" -DCMAKE_Fortran_C

        - deal.II will configure sensible default CXXFLAGS - depending on platform, compiler and build target. There are two - options to override this behaviour: + deal.II will configure sensible default CXXFLAGS and + LDFLAGS depending on platform, compiler and build + target. There are two options to override this behaviour:

        1. @@ -866,6 +866,10 @@ cmake -DCMAKE_C_COMPILER="mpicc" -DCMAKE_CXX_COMPILER="mpicxx" -DCMAKE_Fortran_C DEAL_II_CXX_FLAGS - used during all builds DEAL_II_CXX_FLAGS_DEBUG - additional flags for the debug library DEAL_II_CXX_FLAGS_RELEASE - additional flags for the release library + +DEAL_II_LINKER_FLAGS - used during all builds +DEAL_II_LINKER_FLAGS_DEBUG - additional flags for the debug library +DEAL_II_LINKER_FLAGS_RELEASE - additional flags for the release library
  • The content of the cached variables will be preserved @@ -974,18 +978,6 @@ $ cmake -C config.sample <...> configuration.

    -

    - The build system automatically exports a config.camke - into the binary directory that can be used to conveniently clone a - build directories cache entries, e.g. assuming that there is a - configured build directory build next to an empty - directory build2: -

    -$ cd build2
    -$ cmake -C ../build/config.cmake ../deal.II
    -
    -

    -

    Compiling only certain parts

    diff --git a/deal.II/doc/users/config.sample b/deal.II/doc/users/config.sample index a64c3dcbb4..b37132c370 100644 --- a/deal.II/doc/users/config.sample +++ b/deal.II/doc/users/config.sample @@ -1,37 +1,9 @@ -## --------------------------------------------------------------------- -## $Id$ -## -## Copyright (C) 2013 by the deal.II Authors -## -## This file is part of the deal.II library. -## -## The deal.II library is free software; you can use it, redistribute -## it, and/or modify it under the terms of the GNU Lesser General -## Public License as published by the Free Software Foundation; either -## version 2.1 of the License, or (at your option) any later version. -## The full text of the license can be found in the file LICENSE at -## the top level of the deal.II distribution. -## -## --------------------------------------------------------------------- - -# -# Example configuration file -# -# This file can be used as a script to preseed the initial cache of a build -# directory. To do so, invoke cmake with -# -# $ cmake -C configuration.cmake [...] -# -# -# Please note that this file is actually intrepeted as a full featured -# CMake script file, so in order to set variables in the cache a statement -# of the form -# -# SET( CACHE "") -# -# has to be used. See doc/readme.html and doc/users/cmake.html for further -# details on how to use the cmake build system of deal.II. -# +## ## +# Example configuration file # +# # +# See doc/readme.html and doc/users/cmake.html for further # +# details on how to use the cmake build system of deal.II. # +## ## ########################################################################### @@ -119,8 +91,8 @@ # "Fortran Compiler." # ) # -# SET(DEAL_II_CXX_FLAGS "" CACHE STRING -# "The user supplied cache variable will be appended _at the end_ of the auto generated DEAL_II_CXX_FLAGS variable" +# SET(CMAKE_CXX_FLAGS "" CACHE STRING +# "The user supplied cache variable will be appended _at the end_ of the auto generated CMAKE_CXX_FLAGS variable" # ) # # SET(DEAL_II_CXX_FLAGS_DEBUG "" CACHE STRING @@ -143,18 +115,6 @@ # "The user supplied cache variable will be appended _at the end_ of the auto generated DEAL_II_LINKER_FLAGS_RELEASE variable" # ) # -# SET(DEAL_II_DEFINITIONS "" CACHE STRING -# "Additional, user supplied compile definitions" -# ) -# -# SET(DEAL_II_DEFINITIONS_DEBUG "" CACHE STRING -# "Additional, user supplied compile definitions" -# ) -# -# SET(DEAL_II_DEFINITIONS_RELEASE "" CACHE STRING -# "Additional, user supplied compile definitions" -# ) -# # SET(BUILD_SHARED_LIBS "ON" CACHE BOOL # "Build a shared library" # ) @@ -175,6 +135,7 @@ # "If set to ON, then use 64-bit data types to represent global degree of freedom indices. The default is to OFF. You only want to set this to ON if you will solve problems with more than 2^31 (approximately 2 billion) unknowns. If set to ON, you also need to ensure that both Trilinos and/or PETSc support 64-bit indices." # ) # +# ########################################################################### @@ -415,6 +376,25 @@ # +# +# muPaser: +# +# SET(DEAL_II_WITH_MUPARSER ON CACHE BOOL +# "Build deal.II with support for muparser" +# +# Automatic detection: +# +# Specify a hint with CMAKE_PREFIX_PATH or by setting +# SET(MUPARSER_DIR "/.../..." CACHE PATH "") +# +# Manual setup: +# +# SET(MUPARSER_FOUND TRUE CACHE BOOL "") +# SET(MUPARSER_LIBRARIES "library;and;semicolon;separated;list;of;link;interface" CACHE STRING "") +# SET(MUPARSER_INCLUDE_DIRS "semicolon;separated;list;of;include;dirs" CACHE STRING "") +# + + # # Netcdf: # @@ -632,11 +612,12 @@ # C++11 support is autodetected. You can explicitly disable C+11 support by # specifying # -# SET(DEAL_II_WITH_CXX11 FALSE CACHE BOOL "") +# SET(DEAL_II_HAVE_CXX11_FLAG FALSE CACHE BOOL "") # # A custom C++11 flag can be set by setting # -# SET(DEAL_II_CXX11_FLAG "-std=c++11" CACHE STRING "") +# SET(DEAL_II_HAVE_CXX11_FLAG TRUE CACHE BOOL "") +# SET(DEAL_II_CXX11_FLAG "-std=c++0x" CACHE STRING "") # @@ -674,7 +655,7 @@ # "Library suffix for the debug library" # ) # -# SET(DEAL_II_RELEASE_SUFFIX "" CACHE STRING +# SET_IF_EMPTY(DEAL_II_RELEASE_SUFFIX "" CACHE STRING # "Library suffix for the release library" # ) # diff --git a/deal.II/examples/step-15/doc/intro.dox b/deal.II/examples/step-15/doc/intro.dox index 2cebf0f9f1..099982af18 100644 --- a/deal.II/examples/step-15/doc/intro.dox +++ b/deal.II/examples/step-15/doc/intro.dox @@ -47,7 +47,7 @@ $\Omega$ is the domain we get by projecting the wire's positions into $x-y$ space. In this example, we choose $\Omega$ as the unit disk. As described above, we solve this equation using Newton's method in which we -compute the $n$th approximate solution from the $n-1$st one, and use +compute the $n$th approximate solution from the $n$th$-1$ one, and use a damping parameter $\alpha^n$ to get better global convergence behavior: @f{align*} F'(u^{n},\delta u^{n})&=- F(u^{n}) diff --git a/deal.II/examples/step-16/step-16.cc b/deal.II/examples/step-16/step-16.cc index 1eb7c93fac..e8a2035f0b 100644 --- a/deal.II/examples/step-16/step-16.cc +++ b/deal.II/examples/step-16/step-16.cc @@ -62,15 +62,15 @@ #include #include -// These, now, are the include necessary for the multilevel methods. The -// first two declare classes that allow us to enumerate degrees of freedom not -// only on the finest mesh level, but also on intermediate levels (that's what -// the MGDoFHandler class does) as well as allow to access this information -// (iterators and accessors over these cells). +// These, now, are the include necessary for the multilevel methods. The first +// one declares how to handle Dirichlet boundary conditions on each of the +// levels of the multigrid method. For the actual description of the degrees +// of freedom, we do not need any new include file because DoFHandler already +// has all necessary methods implemented. We will only need to distribute the +// DoFs for the levels further down. // // The rest of the include files deals with the mechanics of multigrid as a // linear operator (solver or preconditioner). -#include #include #include #include @@ -112,7 +112,7 @@ namespace Step16 Triangulation triangulation; FE_Q fe; - MGDoFHandler mg_dof_handler; + DoFHandler dof_handler; SparsityPattern sparsity_pattern; SparseMatrix system_matrix; @@ -234,7 +234,7 @@ namespace Step16 triangulation (Triangulation:: limit_level_difference_at_vertices), fe (degree), - mg_dof_handler (triangulation), + dof_handler (triangulation), degree(degree) {} @@ -243,29 +243,31 @@ namespace Step16 // @sect4{LaplaceProblem::setup_system} // The following function extends what the corresponding one in step-6 - // did. The top part, apart from the additional output, does the same: + // did, with the exception of also distributing the degrees of freedom on + // each level of the mesh which is needed for the multigrid hierarchy. template void LaplaceProblem::setup_system () { - mg_dof_handler.distribute_dofs (fe); + dof_handler.distribute_dofs (fe); + dof_handler.distribute_mg_dofs (fe); // Here we output not only the degrees of freedom on the finest level, but // also in the multilevel structure deallog << "Number of degrees of freedom: " - << mg_dof_handler.n_dofs(); + << dof_handler.n_dofs(); for (unsigned int l=0; l::type dirichlet_boundary_functions; ZeroFunction homogeneous_dirichlet_bc (1); dirichlet_boundary_functions[0] = &homogeneous_dirichlet_bc; - VectorTools::interpolate_boundary_values (static_cast&>(mg_dof_handler), + VectorTools::interpolate_boundary_values (static_cast&>(dof_handler), dirichlet_boundary_functions, constraints); constraints.close (); @@ -299,7 +301,7 @@ namespace Step16 // about the boundary values as well, so we pass the // dirichlet_boundary here as well. mg_constrained_dofs.clear(); - mg_constrained_dofs.initialize(mg_dof_handler, dirichlet_boundary_functions); + mg_constrained_dofs.initialize(dof_handler, dirichlet_boundary_functions); // Now for the things that concern the multigrid data structures. First, @@ -337,9 +339,9 @@ namespace Step16 for (unsigned int level=0; level coefficient; std::vector coefficient_values (n_q_points); - typename MGDoFHandler::active_cell_iterator - cell = mg_dof_handler.begin_active(), - endc = mg_dof_handler.end(); + typename DoFHandler::active_cell_iterator + cell = dof_handler.begin_active(), + endc = dof_handler.end(); for (; cell!=endc; ++cell) { cell_matrix = 0; @@ -455,44 +453,39 @@ namespace Step16 // obscure if you're not familiar with the algorithm actually implemented // in deal.II to support multilevel algorithms on adaptive meshes; if some // of the things below seem strange, take a look at the @ref mg_paper. - // - // Our first job is to identify those degrees of freedom on each level - // that are located on interfaces between adaptively refined levels, and - // those that lie on the interface but also on the exterior boundary of - // the domain. As in many other parts of the library, we do this by using - // Boolean masks, i.e. vectors of Booleans each element of which indicates - // whether the corresponding degree of freedom index is an interface DoF - // or not. The MGConstraints already computed the information - // for us when we called initialize in setup_system(). - std::vector > interface_dofs - = mg_constrained_dofs.get_refinement_edge_indices (); - std::vector > boundary_interface_dofs - = mg_constrained_dofs.get_refinement_edge_boundary_indices (); - - // The indices just identified will later be used to decide where the - // assembled value has to be added into on each level. On the other hand, - // we also have to impose zero boundary conditions on the external - // boundary of each level. But this the MGConstraints knows. - // So we simply ask for them by calling get_boundary_indices(). - // The third step is to construct constraints on all those - // degrees of freedom: their value should be zero after each application - // of the level operators. To this end, we construct ConstraintMatrix - // objects for each level, and add to each of these constraints for each - // degree of freedom. Due to the way the ConstraintMatrix stores its data, - // the function to add a constraint on a single degree of freedom and - // force it to be zero is called Constraintmatrix::add_line(); doing so - // for several degrees of freedom at once can be done using + + // Our first job is to identify the boundary conditions for the levels. On + // each level, we impose Dirichlet boundary conditions on the exterior + // boundary of the domain as well as on interfaces between adaptively + // refined levels. As in many other parts of the library, we do this by + // using a mask described by an IndexSet. The MGConstraints + // already computed the information for us when we called initialize in + // setup_system(). So we simply ask for them by calling + // get_boundary_indices() and + // get_refinement_edge_indices(level). Moreover, we have to + // identify the subset of the refinement edge indices which are also + // located on the boundary as they require special treatment in the + // algorithm further down. + + // These three masks are used to fill a ConstraintMatrix objects for each + // level that we use during the assembly of the matrix: the value of the + // associated degrees of freedom should be zero after each application of + // the level operators. Due to the way the ConstraintMatrix stores its + // data, the function to add a constraint on a single degree of freedom + // and force it to be zero is called Constraintmatrix::add_line(); doing + // so for several degrees of freedom at once can be done using // Constraintmatrix::add_lines(): std::vector boundary_constraints (triangulation.n_levels()); std::vector boundary_interface_constraints (triangulation.n_levels()); for (unsigned int level=0; levelassemble_system, with two exceptions: (i) we don't need a // right hand side, and more significantly (ii) we don't just loop over // all active cells, but in fact all cells, active or not. Consequently, - // the correct iterator to use is MGDoFHandler::cell_iterator rather than - // MGDoFHandler::active_cell_iterator. Let's go about it: - typename MGDoFHandler::cell_iterator cell = mg_dof_handler.begin(), - endc = mg_dof_handler.end(); + // the correct iterator to use is DoFHandler::cell_iterator rather than + // DoFHandler::active_cell_iterator. Let's go about it: + typename DoFHandler::cell_iterator cell = dof_handler.begin(), + endc = dof_handler.end(); for (; cell!=endc; ++cell) { @@ -526,8 +519,8 @@ namespace Step16 // with a gotcha that is easily forgotten: The indices of global // degrees of freedom we want here are the ones for current level, not // for the global matrix. We therefore need the function - // MGDoFAccessor::get_mg_dof_indices, not - // MGDoFAccessor::get_dof_indices as used in the assembly of the + // DoFAccessor::get_mg_dof_indices, not + // DoFAccessor::get_dof_indices as used in the assembly of the // global system: cell->get_mg_dof_indices (local_dof_indices); @@ -554,7 +547,7 @@ namespace Step16 // we have a symmetric operator, one of these matrices is the // transpose of the other. // - // The way we assemble these matrices is as follows: since the are + // The way we assemble these matrices is as follows: since they are // formed from parts of the local contributions, we first delete all // those parts of the local contributions that we are not interested // in, namely all those elements of the local matrix for which not $i$ @@ -572,8 +565,10 @@ namespace Step16 // necessary. for (unsigned int i=0; ilevel()][local_dof_indices[i]]==true && - interface_dofs[cell->level()][local_dof_indices[j]]==false)) + if ( !(mg_constrained_dofs.get_refinement_edge_indices(cell->level()). + is_element(local_dof_indices[i])==true && + mg_constrained_dofs.get_refinement_edge_indices(cell->level()). + is_element(local_dof_indices[j])==false)) cell_matrix(i,j) = 0; boundary_interface_constraints[cell->level()] @@ -597,8 +592,11 @@ namespace Step16 // the finite element function spaces involved and can often be computed in // a generic way independent of the problem under consideration. In that // case, we can use the MGTransferPrebuilt class that, given the constraints - // on the global level and an MGDoFHandler object computes the matrices - // corresponding to these transfer operators. + // of the final linear system and the MGConstrainedDoFs object that knows + // about the boundary conditions on the each level and the degrees of + // freedom on interfaces between different refinement level can build the + // matrices for those transfer operations from a DoFHandler object with + // level degrees of freedom. // // The second part of the following lines deals with the coarse grid // solver. Since our coarse grid is very coarse indeed, we decide for a @@ -609,15 +607,8 @@ namespace Step16 template void LaplaceProblem::solve () { - - // Create the object that deals with the transfer between different - // refinement levels. We need to pass it the hanging node constraints. MGTransferPrebuilt > mg_transfer(hanging_node_constraints, mg_constrained_dofs); - // Now the prolongation matrix has to be built. This matrix needs to take - // the boundary values on each level into account and needs to know about - // the indices at the refinement edges. The MGConstraints - // knows about that so pass it as an argument. - mg_transfer.build_matrices(mg_dof_handler); + mg_transfer.build_matrices(dof_handler); FullMatrix coarse_matrix; coarse_matrix.copy_from (mg_matrices[0]); @@ -668,13 +659,13 @@ namespace Step16 // the transpose operator for the latter operation, allowing us to // initialize both up and down versions of the operator with the matrices // we already built: - MGMatrix<> mg_matrix(&mg_matrices); - MGMatrix<> mg_interface_up(&mg_interface_matrices); - MGMatrix<> mg_interface_down(&mg_interface_matrices); + mg::Matrix > mg_matrix(mg_matrices); + mg::Matrix > mg_interface_up(mg_interface_matrices); + mg::Matrix > mg_interface_down(mg_interface_matrices); // Now, we are ready to set up the V-cycle operator and the multilevel // preconditioner. - Multigrid > mg(mg_dof_handler, + Multigrid > mg(dof_handler, mg_matrix, coarse_grid_solver, mg_transfer, @@ -683,7 +674,7 @@ namespace Step16 mg.set_edge_matrices(mg_interface_down, mg_interface_up); PreconditionMG, MGTransferPrebuilt > > - preconditioner(mg_dof_handler, mg, mg_transfer); + preconditioner(dof_handler, mg, mg_transfer); // With all this together, we can finally get about solving the linear // system in the usual way: @@ -709,9 +700,7 @@ namespace Step16 // computed. In particular, the first one refines the mesh at the beginning // of each cycle while the second one outputs results at the end of each // such cycle. The functions are almost unchanged from those in step-6, with - // the exception of two minor differences: The KellyErrorEstimator::estimate - // function wants an argument of type DoFHandler, not MGDoFHandler, and so - // we have to cast from derived to base class; and we generate output in VTK + // the exception of one minor difference: we generate output in VTK // format, to use the more modern visualization programs available today // compared to those that were available when step-6 was written. template @@ -719,7 +708,7 @@ namespace Step16 { Vector estimated_error_per_cell (triangulation.n_active_cells()); - KellyErrorEstimator::estimate (static_cast&>(mg_dof_handler), + KellyErrorEstimator::estimate (dof_handler, QGauss(3), typename FunctionMap::type(), solution, @@ -737,7 +726,7 @@ namespace Step16 { DataOut data_out; - data_out.attach_dof_handler (mg_dof_handler); + data_out.attach_dof_handler (dof_handler); data_out.add_data_vector (solution, "solution"); data_out.build_patches (); @@ -784,10 +773,10 @@ namespace Step16 setup_system (); std::cout << " Number of degrees of freedom: " - << mg_dof_handler.n_dofs() + << dof_handler.n_dofs() << " (by level: "; for (unsigned int level=0; levelfalse argument we pass when creating the sparsity -pattern. It tells the sparsity pattern that constrained entries should not -be inserted into the sparsity pattern. This makes sense for the way we're -going to do assembly, which does the elimination of constraints already -locally. Hence, we will never write the constrained entries. This is the -second key to increase this program's performance, since the system matrix -will have less entries — this saves both memory and computing time -when doing matrix-vector multiplications or applying a preconditioner. - -In a similar vein, we have to slightly modify the way we copy local -contributions into global matrices and vectors. In previous tutorial programs, -we have always used a process like this: -@code - typename hp::DoFHandler::active_cell_iterator - cell = dof_handler.begin_active(), - endc = dof_handler.end(); - for (; cell!=endc; ++cell) - { - ... // assemble local contributions them into global object - - cell->get_dof_indices (local_dof_indices); - for (unsigned int i=0; i::active_cell_iterator - cell = dof_handler.begin_active(), - endc = dof_handler.end(); - for (; cell!=endc; ++cell) - { - ... // assemble local contributions them into global object - - cell->get_dof_indices (local_dof_indices); - - hanging_node_constraints - .distribute_local_to_global (cell_matrix, cell_rhs, - local_dof_indices, - system_matrix, system_rhs); - } -@endcode -Essentially, what the -hanging_node_constraints.distribute_local_to_global call does is -to implement the same loops as before, but whenever we hit a constrained degree -of freedom, the function does the right thing and already condenses it away. - -Using this technique of eliminating constrained nodes already when -transferring local contributions into the global objects, we avoid the problem -of having to go back later and change these objects. Timing these operations -shows that this makes the overall algorithms faster. +It turns out that the strategy presented first in step-6 to eliminate the +constraints while computing the element matrices and vectors with +ConstraintMatrix::distribute_local_to_global is the most efficient approach +also for this case. The alternative strategy to first build the matrix without +constraints and then "condensing" away constrained degrees of freedom is +considerably more expensive. It turns out that building the sparsity pattern +by this inefficient algorithm requires at least ${\cal O}(N \log N)$ in the +number of unknowns, whereas an ideal finite element program would of course +only have algorithms that are linear in the number of unknowns. Timing the +sparsity pattern creation as well as the matrix assembly shows that the +algorithm presented in step-6 (and used in the code below) is indeed faster. In our program, we will also treat the boundary conditions as (possibly inhomogeneous) constraints and eliminate the matrix rows and columns to @@ -783,7 +699,7 @@ those as well. All we have to do for this is to call the function that interpolates the Dirichlet boundary conditions already in the setup phase in order to tell the ConstraintMatrix object about them, and then do the transfer from local to global data on matrix and vector simultaneously. This -is exactly what we've shown in the step-22 tutorial program. +is exactly what we've shown in step-6.

    The test case

    diff --git a/deal.II/examples/step-27/step-27.cc b/deal.II/examples/step-27/step-27.cc index 1a4beaca1f..2883bc2841 100644 --- a/deal.II/examples/step-27/step-27.cc +++ b/deal.II/examples/step-27/step-27.cc @@ -192,26 +192,10 @@ namespace Step27 // @sect4{LaplaceProblem::setup_system} // - // This function is again an almost verbatim copy of what we already did in - // step-6. The first change is that we append the Dirichlet boundary - // conditions to the ConstraintMatrix object, which we consequently call - // just constraints instead of - // hanging_node_constraints. The second difference is that we - // don't directly build the sparsity pattern, but first create an - // intermediate object that we later copy into the usual SparsityPattern - // data structure, since this is more efficient for the problem with many - // entries per row (and different number of entries in different rows). In - // another slight deviation, we do not first build the sparsity pattern and - // then condense away constrained degrees of freedom, but pass the - // constraint matrix object directly to the function that builds the - // sparsity pattern. We disable the insertion of constrained entries with - // false as fourth argument in the DoFTools::make_sparsity_pattern - // function. All of these changes are explained in the introduction of this - // program. - // - // The last change, maybe hidden in plain sight, is that the dof_handler - // variable here is an hp object -- nevertheless all the function calls we - // had before still work in exactly the same way as they always did. + // This function is again a verbatim copy of what we already did in + // step-6. Despite function calls with exactly the same names and arguments, + // the algorithms used internally are different in some aspect since the + // dof_handler variable here is an hp object. template void LaplaceProblem::setup_system () { @@ -324,12 +308,6 @@ namespace Step27 local_dof_indices, system_matrix, system_rhs); } - - // Now with the loop over all cells finished, we are done for this - // function. The steps we still had to do at this point in earlier - // tutorial programs, namely condensing hanging node constraints and - // applying Dirichlet boundary conditions, have been taken care of by the - // ConstraintMatrix object constraints on the fly. } diff --git a/deal.II/examples/step-52/CMakeLists.txt b/deal.II/examples/step-52/CMakeLists.txt new file mode 100644 index 0000000000..ec29e873c4 --- /dev/null +++ b/deal.II/examples/step-52/CMakeLists.txt @@ -0,0 +1,31 @@ +## +# CMake script for the step-52 tutorial program: +## + +# Set the name of the project and target: +SET(TARGET "step-52") + +# Declare all source files the target consists of: +SET(TARGET_SRC + ${TARGET}.cc + # You can specify additional files here! + ) + +# Usually, you will not need to modify anything beyond this point... + +CMAKE_MINIMUM_REQUIRED(VERSION 2.8.8) + +FIND_PACKAGE(deal.II 8.0 QUIET + HINTS ${deal.II_DIR} ${DEAL_II_DIR} ../ ../../ $ENV{DEAL_II_DIR} + ) +IF(NOT ${deal.II_FOUND}) + MESSAGE(FATAL_ERROR "\n" + "*** Could not locate deal.II. ***\n\n" + "You may want to either pass a flag -DDEAL_II_DIR=/path/to/deal.II to cmake\n" + "or set an environment variable \"DEAL_II_DIR\" that contains this path." + ) +ENDIF() + +DEAL_II_INITIALIZE_CACHED_VARIABLES() +PROJECT(${TARGET}) +DEAL_II_INVOKE_AUTOPILOT() diff --git a/deal.II/examples/step-52/doc/builds-on b/deal.II/examples/step-52/doc/builds-on new file mode 100644 index 0000000000..48a0f73876 --- /dev/null +++ b/deal.II/examples/step-52/doc/builds-on @@ -0,0 +1 @@ +step-4 diff --git a/deal.II/examples/step-52/doc/intro.dox b/deal.II/examples/step-52/doc/intro.dox new file mode 100644 index 0000000000..4ae88a593d --- /dev/null +++ b/deal.II/examples/step-52/doc/intro.dox @@ -0,0 +1,102 @@ +
    + +This program was contributed by Bruno Turcksin and Damien Lebrun-Grandie. + + +

    Introducion

    + +This program shows how to use Runge-Kutta methods to solve a time-dependent +problem. + +

    Problem statement

    + +In this example, we solve the energy-integrated time-dependent diffusion +approximation of the neutron transport equation (see step-28 for the +time-independent multigroup diffusion). We assume that the medium is not +fissible and therefore, the neutron flux satisfies the following equation: +@f{eqnarray*} +\frac{1}{v}\frac{\partial \phi(x,t)}{\partial t} = \nabla D(x) \nabla \phi(x,t) +- \Sigma_a(x) \phi(x,t) + S(x,t) +@f} +augmented by appropriate boundary conditions. Here, $v$ is the velocity of +neutrons, $D$ is the diffusion coefficient, $\Sigma_a$ is the absorption +cross section, and $S$ is a source. Because we are only interested in the +time dependence, we assume that $D$ and $\Sigma_a$ are constant. In this +example, we are only interested in the error in time and thus, we are looking +for a solution of the form: +@f{eqnarray*} +\phi(x,t) = A\sin(\omega t)(bx-x^2). +@f} +By using quadratic finite elements, we will not have any spatial error. We +impose the following boundary conditions: homogeneous Dirichlet fo $x=0$ and +$x=b$ and homogeneous Neumann conditions for $y=0$ and $y=b$. The source is +given by: +@f{eqnarray*} +S=A\left(\frac{1}{v}\omega \cos(\omega t)(bx -x^2) + \sin(\omega t) +\left(\Sigma_a (bx-x^2)+2D\right) \right). +@f} +Because the solution is a sine, we know that +\f$\phi\left(x,\frac{\pi}{\omega}\right) = 0$. Therefore, we can easily +compute the error at this time since it is simply the norm of the solution +found. + +

    Runge-Kutta

    + +The Runke-Kutta methods implemented in deal.II assume that the equation to be +solved can be written as: +@f{eqnarray*} +\frac{dy}{dt} = f(t,y). +@f} +When using finite elements, the previous equation becomes: +@f{eqnarray*} +M\frac{dy}{dt} = f(t,y), +@f} +where $M$ is the mass matrix. Therefore, we have: +@f{eqnarray*} +\frac{dy}{dt} = M^{-1}f(t,y). +@f} +Runke-Kutta methods can be written as: +@f{eqnarray*} +y_{n+1} = y_n + \sum_{i=1}^s b_i k_i +@f} +where +@f{eqnarray*} +k_i = h M^{-1} f(t_n+c_ih,y_n+\sum_{j=1}^sa_{ij}k_j) +@f} +with $a_{ij}$, $b_i$, and $c_i$ are known coefficient and $h$ is the time step +used. The methods currently implemented in deal.II can be divided in three +categories: +
      +
    1. explicit Runge-Kutta +
    2. embedded (or adaptive) Runge-Kutta +
    3. implicit Runge-Kutta +
    + +

    Explicit Runge-Kutta

    +These methods that include for forward Euler, third order Runge-Kutta, and +fourth order Runge-Kutta, require a function to evaluate $M^{-1}f(t,y). These +methods become unstable when the time step chosen is too large. + +

    Embedded Runge-Kutta

    +These methods include Heun-Euler, Bogacki-Shampine, Dormand-Prince (ode45 in +Matlab), Fehlberg, and Cash-Karp. These methods use a low order method to +estimate the error and decide if the time step needs to be refined or it can be +coarsen. Only embedded explicit methods have been implemented so far. + +

    Implicit Runge-Kutta

    +These methods include backward Euler, implicit midpoint, Crank-Nicolson, and the +two stages SDIRK. These methods require to evaluate $M^{-1}f(t,y)$ and +$\left(I-\Delta t M^{-1} \frac{\partial f}{\partial Y}\right) = \left(M - \Delta +t \frac{\partial f}{\partial y}\right)^{-1} M$. These methods are always stable. + +

    Remarks

    +To simplify the problem, we solve the domain in two dimensional and the mesh is +uniform (there is no need to adapt the mesh since we use quadratic finite +elements and the exact solution is quadratic). Going from a two dimensional +domain to a three dimensional domain is not very challenging. However if the +mesh must be adapted, we cannot forget to: +
      +
    1. project the solution to the new mesh when the mesh is changed. The mesh +used should be the same at the beginning and at the end of the time step. +
    2. update the mass matrix and its inverse. +
    diff --git a/deal.II/examples/step-52/doc/kind b/deal.II/examples/step-52/doc/kind new file mode 100644 index 0000000000..86a44aa1ef --- /dev/null +++ b/deal.II/examples/step-52/doc/kind @@ -0,0 +1 @@ +time dependent diff --git a/deal.II/examples/step-52/doc/results.dox b/deal.II/examples/step-52/doc/results.dox new file mode 100644 index 0000000000..4a70bbe4bc --- /dev/null +++ b/deal.II/examples/step-52/doc/results.dox @@ -0,0 +1,30 @@ +

    Results

    + +The output of this program consist of the console output and solutions given in +vtu format. + +The console output is: +@code +Forward Euler error: 1.00883 +Third order Runge-Kutta error: 0.000227982 +Fourth order Runge-Kutta error: 1.90541e-06 +Backward Euler error: 1.03428 +Implicit Midpoint error: 0.00862702 +Crank-Nicolson error: 0.00862675 +SDIRK error: 0.0042349 +Heun-Euler error: 0.0073012 +Number of steps done: 284 +Bogacki-Shampine error: 0.000207511 +Number of steps done: 200 +Dopri error: 4.01775e-09 +Number of steps done: 200 +Fehlberg error: 9.89504e-09 +Number of steps done: 200 +Cash-Karp error: 2.5579e-10 +Number of steps done: 200 +@endcode + +Like expected the high-order methods give a more accurate solutions. We see that +the Heun-Euler method adapted the number of time steps in order to satisfy the +tolerance. The others embedded methods did not need to change the number of time +steps. diff --git a/deal.II/examples/step-52/doc/tooltip b/deal.II/examples/step-52/doc/tooltip new file mode 100644 index 0000000000..d35ea621a8 --- /dev/null +++ b/deal.II/examples/step-52/doc/tooltip @@ -0,0 +1 @@ +Time-dependent diffusion equation. Neutron transport diff --git a/deal.II/examples/step-52/step-52.cc b/deal.II/examples/step-52/step-52.cc new file mode 100644 index 0000000000..1031e49cdd --- /dev/null +++ b/deal.II/examples/step-52/step-52.cc @@ -0,0 +1,629 @@ +/* --------------------------------------------------------------------- + * $Id: step-52.cc 30526 2013-08-29 20:06:27Z felix.gruber $ + * + * Copyright (C) 2014 by the deal.II authors + * + * This file is part of the deal.II library. + * + * The deal.II library is free software; you can use it, redistribute + * it, and/or modify it under the terms of the GNU Lesser General + * Public License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * The full text of the license can be found in the file LICENSE at + * the top level of the deal.II distribution. + * + * --------------------------------------------------------------------- + + * + * Authors: Damien Lebrun-Grandie, Bruno Turcksin, 2014 + */ + +// @sect3{Include files} + +// The first task as usal is to include the functionality of these well-known +// deal.II library files and some C++ header files. +#include +#include + +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +#include +#include + +#include +#include + +#include +#include + +#include +#include +#include +#include + +// This is the only include file that is new: It includes all the Runge-Kutta +// methods. +#include + + +// The next step is like in all previous tutorial programs: We put everything +// into a namespace of its own and then import the deal.II classes and functions +// into it. +namespace Step52 +{ + using namespace dealii; + + // @sect3{Diffusion} + + // Now, here comes the declaration of the main class. + class Diffusion + { + public: + Diffusion(); + + void run(); + + private: + // Create the sparsity_pattern and initialize system_matrix. + void setup_system(); + + // Assemble the part of the matrix of the system that does not depend on + // the time. + void assemble_system(); + + // Compute the intensity of the source at the given point. + double get_source(double time,const Point<2> &point) const; + + // Evaluate the diffusion equation \f$M^{-1}(f(t,y))\f$ + Vector evaluate_diffusion(const double time, const Vector &y) const; + + // Evaluate \f$\left(I-\tau M^{-1} \frac{\partial f(t,y)}{\partial y}\right)^{-1} = + // \left(M-\tau \frac{\partial f}{\partial y}\right)^{-1} M \f$ + Vector id_minus_tau_J_inverse(const double time, const double tau, + const Vector &y); + + // Output the results as vtu + void output_results(unsigned int time_step,TimeStepping::runge_kutta_method method) const; + + // Driver for the explicit methods + void explicit_method(TimeStepping::runge_kutta_method method, + const unsigned int n_time_steps, + const double initial_time, + const double final_time); + + // Driver for the implicit methods + void implicit_method(TimeStepping::runge_kutta_method method, + const unsigned int n_time_steps, + const double initial_time, + const double final_time); + + // Driver for the embedded explicit methods. Returns the number of steps + // executed. + unsigned int embedded_explicit_method(TimeStepping::runge_kutta_method method, + const unsigned int n_time_steps, + const double initial_time, + const double final_time); + + + unsigned int fe_degree; + + double diffusion_coefficient; + double absorption_xs; + + Triangulation<2> triangulation; + + FE_Q<2> fe; + + DoFHandler<2> dof_handler; + + ConstraintMatrix constraint_matrix; + + SparsityPattern sparsity_pattern; + + SparseMatrix system_matrix; + SparseMatrix mass_matrix; + SparseMatrix mass_minus_tau_Jacobian; + + SparseDirectUMFPACK inverse_mass_matrix; + + Vector solution; + }; + + + + // We choose quadratic finite elements so that there are no spatial error. + Diffusion::Diffusion() + : + fe_degree(2), + diffusion_coefficient(1./30.), + absorption_xs(1.), + fe(fe_degree), + dof_handler(triangulation) + {} + + + + void Diffusion::setup_system() + { + dof_handler.distribute_dofs(fe); + + // Create the constraint matrix. + VectorTools::interpolate_boundary_values(dof_handler,1,ZeroFunction<2>(),constraint_matrix); + constraint_matrix.close(); + + // Create the sparsity_pattern. + CompressedSparsityPattern c_sparsity(dof_handler.n_dofs()); + DoFTools::make_sparsity_pattern(dof_handler,c_sparsity,constraint_matrix); + sparsity_pattern.copy_from(c_sparsity); + + system_matrix.reinit(sparsity_pattern); + mass_matrix.reinit(sparsity_pattern); + mass_minus_tau_Jacobian.reinit(sparsity_pattern); + solution.reinit(dof_handler.n_dofs()); + } + + + + void Diffusion::assemble_system() + { + system_matrix = 0.; + mass_matrix = 0.; + + const QGauss<2> quadrature_formula(fe_degree+1); + + FEValues<2> fe_values(fe, quadrature_formula, + update_values | update_gradients | update_JxW_values); + + + const unsigned int dofs_per_cell = fe.dofs_per_cell; + const unsigned int n_q_points = quadrature_formula.size(); + + FullMatrix cell_matrix (dofs_per_cell, dofs_per_cell); + FullMatrix cell_mass_matrix (dofs_per_cell, dofs_per_cell); + + std::vector local_dof_indices (dofs_per_cell); + + typename DoFHandler<2>::active_cell_iterator + cell = dof_handler.begin_active(), + endc = dof_handler.end(); + + // Compute \f$-\int D \nabla b \cdot \nabla b - \int \Sigma_a b b\f$ and \f$\int b b\f$ + for (; cell!=endc; ++cell) + { + cell_matrix = 0.; + cell_mass_matrix = 0.; + + fe_values.reinit (cell); + + for (unsigned int q_point=0; q_pointget_dof_indices(local_dof_indices); + + constraint_matrix.distribute_local_to_global(cell_matrix,local_dof_indices,system_matrix); + constraint_matrix.distribute_local_to_global(cell_mass_matrix,local_dof_indices,mass_matrix); + } + + // Compute the inverse of the mass matrix. + inverse_mass_matrix.initialize(mass_matrix); + } + + + + double Diffusion::get_source(double time,const Point<2> &point) const + { + const double pi = 3.14159265358979323846; + const double intensity = 10.; + const double frequency = pi/10.; + const double b = 5.; + const double x = point(0); + double source = 0.; + + source = intensity*(frequency*std::cos(frequency*time)*(b*x-x*x) + std::sin(frequency*time) * + (absorption_xs*(b*x-x*x)+2.*diffusion_coefficient)); + + return source; + } + + + + Vector Diffusion::evaluate_diffusion(const double time, const Vector &y) const + { + Vector tmp(dof_handler.n_dofs()); + tmp = 0.; + // Compute system_matrix*y + system_matrix.vmult(tmp,y); + + + // Compute the source term + const QGauss<2> quadrature_formula(fe_degree+1); + + FEValues<2> fe_values(fe, quadrature_formula, + update_values | update_quadrature_points | update_JxW_values); + + + const unsigned int dofs_per_cell = fe.dofs_per_cell; + const unsigned int n_q_points = quadrature_formula.size(); + + Vector cell_source(dofs_per_cell); + + std::vector local_dof_indices (dofs_per_cell); + + typename DoFHandler<2>::active_cell_iterator + cell = dof_handler.begin_active(), + endc = dof_handler.end(); + + for (; cell!=endc; ++cell) + { + cell_source = 0.; + + fe_values.reinit (cell); + + for (unsigned int q_point=0; q_pointget_dof_indices(local_dof_indices); + + // Add the source term to the tmp vector. + constraint_matrix.distribute_local_to_global(cell_source,local_dof_indices,tmp); + } + + + Vector value(dof_handler.n_dofs()); + inverse_mass_matrix.vmult(value,tmp); + + return value; + } + + + + Vector Diffusion::id_minus_tau_J_inverse(const double time, const double tau, + const Vector &y) + { + Vector tmp(dof_handler.n_dofs()); + Vector result(y); + SparseDirectUMFPACK inverse_mass_minus_tau_Jacobian; + + mass_minus_tau_Jacobian.copy_from(mass_matrix); + mass_minus_tau_Jacobian.add(-tau,system_matrix); + inverse_mass_minus_tau_Jacobian.initialize(mass_minus_tau_Jacobian); + mass_matrix.vmult(tmp,y); + inverse_mass_minus_tau_Jacobian.vmult(result,tmp); + + return result; + } + + + + void Diffusion::output_results(unsigned int time_step,TimeStepping::runge_kutta_method method) const + { + std::string method_name; + + switch (method) + { + case TimeStepping::FORWARD_EULER : + { + method_name = "forward_euler"; + break; + } + case TimeStepping::RK_THIRD_ORDER : + { + method_name = "rk3"; + break; + } + case TimeStepping::RK_CLASSIC_FOURTH_ORDER : + { + method_name = "rk4"; + break; + } + case TimeStepping::BACKWARD_EULER : + { + method_name = "backward_euler"; + break; + } + case TimeStepping::IMPLICIT_MIDPOINT : + { + method_name = "implicit_midpoint"; + break; + } + case TimeStepping::SDIRK_TWO_STAGES : + { + method_name = "sdirk"; + break; + } + case TimeStepping::HEUN_EULER : + { + method_name = "heun_euler"; + break; + } + case TimeStepping::BOGACKI_SHAMPINE : + { + method_name = "bocacki_shampine"; + break; + } + case TimeStepping::DOPRI : + { + method_name = "dopri"; + break; + } + case TimeStepping::FEHLBERG : + { + method_name = "fehlberg"; + break; + } + case TimeStepping::CASH_KARP : + { + method_name = "cash_karp"; + break; + } + default : + { + break; + } + } + + DataOut<2> data_out; + + data_out.attach_dof_handler(dof_handler); + data_out.add_data_vector(solution, "flux"); + + data_out.build_patches(); + + const std::string filename = "solution-" + method_name + "-" + + Utilities::int_to_string (time_step, 3) + + ".vtu"; + std::ofstream output(filename.c_str()); + data_out.write_vtu(output); + } + + + + void Diffusion::explicit_method(TimeStepping::runge_kutta_method method, + const unsigned int n_time_steps, + const double initial_time, + const double final_time) + { + const double time_step = (final_time-initial_time)/static_cast (n_time_steps); + double time = initial_time; + solution = 0.; + + TimeStepping::ExplicitRungeKutta > explicit_runge_kutta(method); + output_results(0,method); + for (unsigned int i=0; i (n_time_steps); + double time = initial_time; + solution = 0.; + + TimeStepping::ImplicitRungeKutta > implicit_runge_kutta(method); + output_results(0,method); + for (unsigned int i=0; i (n_time_steps); + double time = initial_time; + // Factor multiplying the current time step when the error is below the + // threshold. + const double coarsen_param = 1.2; + // Factor multiplying the current time step when the error is above the + // threshold. + const double refine_param = 0.8; + // Smallest time step acceptable. + const double min_delta = 1e-8; + // Largest time step acceptable. + const double max_delta = 10*time_step; + // Threshold above which the time step is refined. + const double refine_tol = 1e-1; + // Threshold below which the time step is coarsen. + const double coarsen_tol = 1e-5; + solution = 0.; + + TimeStepping::EmbeddedExplicitRungeKutta > embedded_explicit_runge_kutta(method, + coarsen_param,refine_param,min_delta,max_delta,refine_tol,coarsen_tol); + output_results(0,method); + unsigned int n_steps=0; + while (timefinal_time) + time_step = final_time-time; + + // Because we use a member function, we need to bind this to the + // function. + time = embedded_explicit_runge_kutta.evolve_one_time_step( + std_cxx1x::bind(&Diffusion::evaluate_diffusion,this,std_cxx1x::_1,std_cxx1x::_2), + time,time_step,solution); + + // We output the results every 10 time steps. + if ((n_steps+1)%10==0) + output_results(n_steps+1,method); + + // Update the time step + time_step = embedded_explicit_runge_kutta.get_status().delta_t_guess; + ++n_steps; + } + + return n_steps; + } + + + + void Diffusion::run() + { + // Create the grid (a square [0,5]x[0,5]) and refine the mesh four times. + // The final gird has 16 times 16 cells, for a total of 256. + GridGenerator::hyper_cube(triangulation, 0., 5.); + triangulation.refine_global(4); + + // Set the boundary indicator for x=0 and x=5 to 1 + typename Triangulation<2>::active_cell_iterator + cell = triangulation.begin_active(), + endc = triangulation.end(); + + for (; cell!=endc; ++cell) + for (unsigned int f=0; f::faces_per_cell; ++f) + if (cell->face(f)->at_boundary()) + { + if ((cell->face(f)->center()[0]==0.) || (cell->face(f)->center()[0]==5.)) + cell->face(f)->set_boundary_indicator(1); + else + cell->face(f)->set_boundary_indicator(0); + } + + setup_system(); + + assemble_system(); + + unsigned int n_steps = 0; + const unsigned int n_time_steps = 200; + const double initial_time = 0.; + const double final_time = 10.; + + // Use forward Euler + explicit_method(TimeStepping::FORWARD_EULER,n_time_steps,initial_time,final_time); + std::cout<<"Forward Euler error: "<main function is similar to previous examples as +// well, and need not be commented on. +int main () +{ + try + { + Step52::Diffusion diffusion; + diffusion.run(); + } + catch (std::exception &exc) + { + std::cerr << std::endl << std::endl + << "----------------------------------------------------" + << std::endl; + std::cerr << "Exception on processing: " << std::endl + << exc.what() << std::endl + << "Aborting!" << std::endl + << "----------------------------------------------------" + << std::endl; + return 1; + } + catch (...) + { + std::cerr << std::endl << std::endl + << "----------------------------------------------------" + << std::endl; + std::cerr << "Unknown exception!" << std::endl + << "Aborting!" << std::endl + << "----------------------------------------------------" + << std::endl; + return 1; + }; + + return 0; +} diff --git a/deal.II/examples/step-6/step-6.cc b/deal.II/examples/step-6/step-6.cc index 5dcd8ecee8..07901f9bcb 100644 --- a/deal.II/examples/step-6/step-6.cc +++ b/deal.II/examples/step-6/step-6.cc @@ -449,11 +449,13 @@ void Step6::assemble_system () system_matrix, system_rhs); } - // Now we are done assembling the linear system. The constrained nodes are - // still in the linear system (there is a one on the diagonal of the matrix - // and all other entries for this line are set to zero) but the computed - // values are invalid. We compute the correct values for these nodes at the - // end of the solve function. + // Now we are done assembling the linear system. The constraint matrix took + // care of applying the boundary conditions and also eliminated hanging node + // constraints. The constrained nodes are still in the linear system (there + // is a one on the diagonal of the matrix and all other entries for this + // line are set to zero) but the computed values are invalid. We compute the + // correct values for these nodes at the end of the solve + // function. } diff --git a/deal.II/include/deal.II/algorithms/any_data.h b/deal.II/include/deal.II/algorithms/any_data.h index d5a92111d9..8845a5071e 100644 --- a/deal.II/include/deal.II/algorithms/any_data.h +++ b/deal.II/include/deal.II/algorithms/any_data.h @@ -20,6 +20,7 @@ #include #include #include +#include #include #include @@ -38,6 +39,9 @@ class AnyData : public Subscriptor { public: + /// Default constructor for empty object + AnyData(); + /// Number of stored data objects. unsigned int size() const; @@ -52,20 +56,53 @@ class AnyData : /** * @brief Access to stored data object by name. + * + * Find the object with given name, try to convert it to + * type and return it. This function throws an exception + * if either the name does not exist or if the conversion + * fails. If such an exception is not desired, use try_read() + * instead. */ template type entry (const std::string& name); - /// Read-only access to stored data object by name. + /** + * @brief Read-only access to stored data object by name. + * + * Find the object with given name, try to convert it to + * type and return it. This function throws an exception + * if either the name does not exist or if the conversion + * fails. If such an exception is not desired, use try_read() + * instead. + */ template const type entry (const std::string& name) const; - /// Dedicated read only access by name. + /** + * @brief Dedicated read only access by name. + * + * For a constant object, this function equals entry(). For a + * non-const object, it forces read only access to the data. In + * particular, it throws an exception if the object is not found + * or cannot be converted to type. If such an exception is not + * desired, use try_read() instead. + */ template const type read (const std::string& name) const; + /** + * @brief Dedicated read only access by name without exceptions. + * + * This function tries to find the name in the list and return a + * pointer to the associated object. If either the name is not + * found or the object cannot be converted to the return type, a + * null pointer is returned. + */ + template + const type * try_read (const std::string& name) const; + /** - * @brief Access to stored data object by index. + * Access to stored data object by index. */ template type entry (const unsigned int i); @@ -81,12 +118,21 @@ class AnyData : /// Name of object at index. const std::string &name(const unsigned int i) const; - /// Find index of a named object + /** + * @brief Find index of a named object + * + * Try to find the objecty and return its index in the list. Throw + * an exception if the object has not been found. + */ unsigned int find(const std::string &name) const; /// Find out if object is of a certain type template bool is_type(const unsigned int i) const; + + /// Conversion from old NamedData + template + AnyData(const NamedData&); /// The requested type and the stored type are different DeclException2(ExcTypeMismatch, @@ -103,6 +149,20 @@ class AnyData : }; +inline +AnyData::AnyData() +{} + + +template +inline +AnyData::AnyData(const NamedData& other) +{ + for (unsigned int i=0;i +inline +const type* +AnyData::try_read(const std::string& n) const +{ + // Try to find name + std::vector::const_iterator it = + std::find(names.begin(), names.end(), n); + // Return null pointer if not found + if (it == names.end()) + return 0; + + // Compute index and return casted pointer + unsigned int i=it-names.begin(); + const type* p = boost::any_cast(&data[i]); + return p; +} + + template inline void diff --git a/deal.II/include/deal.II/algorithms/theta_timestepping.h b/deal.II/include/deal.II/algorithms/theta_timestepping.h index 43ade372df..e6bb52410a 100644 --- a/deal.II/include/deal.II/algorithms/theta_timestepping.h +++ b/deal.II/include/deal.II/algorithms/theta_timestepping.h @@ -65,11 +65,11 @@ namespace Algorithms * error term. In order to avoid a loss of convergence order, the * adaptive theta scheme can be used, where #theta=½+c dt. * - * Assume that we want to solve the equation u' + Au = 0 with a + * Assume that we want to solve the equation u' + F(u) = 0 with a * step size k. A step of the theta scheme can be written as * * @f[ - * (M + \theta k A) u_{n+1} = (M - (1-\theta)k A) u_n. + * M u_{n+1} + \theta k F(u_{n+1}) = M u_n - (1-\theta)k F(u_n). * @f] * * Here, M is the mass matrix. We see, that the right hand side @@ -80,15 +80,20 @@ namespace Algorithms * Operator objects, one for the explicit, one for the implicit * part. Each of these will use its own TimestepData to account for * the modified step sizes (and different times if the problem is not - * autonomous). + * autonomous). Note that once the explicit part has been computed, + * the left hand side actually constitutes a linear or nonlinear + * system which has to be solved. * - *

    Usage of vectors in NamedData

    + *

    Usage AnyData

    * - * ThetaTimestepping uses NamedData for communicating vectors. With + * ThetaTimestepping uses AnyData for communicating vectors and time + * step information. With * outer or inner Operator objects. It does not use itself the input * vectors provided, but forwards them to the explicit and implicit * operators. * + *

    Vector data

    + * * The explicit Operator #op_explicit receives in its input in first * place the vector "Previous iterate", which is the solution * value after the previous timestep. It is followed by all vectors @@ -103,6 +108,17 @@ namespace Algorithms * #op_implicit is directly written into the output argument given to * ThetaTimestepping. * + *

    Scalar data

    + * + * Since the introduction of AnyData, ThetaTimestepping is able to + * communicate the current time step information through AnyData as + * well. Therefore, the AnyData objects handed as input to + * #op_explicit and #op_implicit contain two entries of type + * const double reference named "Time" and "Timestep". Note + * that "Time" refers to the time at the beginning of the current + * step for #op_explicit and at the end for #op_implicit, + * respectively. + * *

    Usage of ThetaTimestepping

    * * The use ThetaTimestepping is more complicated than for instance diff --git a/deal.II/include/deal.II/algorithms/theta_timestepping.templates.h b/deal.II/include/deal.II/algorithms/theta_timestepping.templates.h index 6194088cfe..348ab379cb 100644 --- a/deal.II/include/deal.II/algorithms/theta_timestepping.templates.h +++ b/deal.II/include/deal.II/algorithms/theta_timestepping.templates.h @@ -91,6 +91,8 @@ namespace Algorithms // timestep AnyData src1; src1.add(&solution, "Previous iterate"); + src1.add(d_explicit.time, "Time"); + src1.add(d_explicit.step, "Timestep"); src1.merge(in); AnyData src2; @@ -100,6 +102,8 @@ namespace Algorithms out1.add(aux, "Solution"); // The data provided to the inner solver src2.add(aux, "Previous time"); + src2.add(d_implicit.time, "Time"); + src2.add(d_explicit.step, "Timestep"); src2.merge(in); if (output != 0) diff --git a/deal.II/include/deal.II/base/config.h.in b/deal.II/include/deal.II/base/config.h.in index 1d99e497ba..8f82a02ee3 100644 --- a/deal.II/include/deal.II/base/config.h.in +++ b/deal.II/include/deal.II/base/config.h.in @@ -282,46 +282,44 @@ #ifdef DEAL_II_WITH_LAPACK /** Compatibility definition (with naming from deal.II < 8.0): */ # define HAVE_LIBLAPACK - -/* Defined if the corresponding BLAS or LAPACK function is available */ -#cmakedefine HAVE_DAXPY_ -#cmakedefine HAVE_DGEEVX_ -#cmakedefine HAVE_DGEEV_ -#cmakedefine HAVE_DGELSD_ -#cmakedefine HAVE_DGEMM_ -#cmakedefine HAVE_DGEMV_ -#cmakedefine HAVE_DGEQRF_ -#cmakedefine HAVE_DGESDD_ -#cmakedefine HAVE_DGESVD_ -#cmakedefine HAVE_DGETRF_ -#cmakedefine HAVE_DGETRI_ -#cmakedefine HAVE_DGETRS_ -#cmakedefine HAVE_DORGQR_ -#cmakedefine HAVE_DORMQR_ -#cmakedefine HAVE_DSTEV_ -#cmakedefine HAVE_DSYEVX_ -#cmakedefine HAVE_DSYGV_ -#cmakedefine HAVE_DSYGVX_ -#cmakedefine HAVE_DTRTRS_ -#cmakedefine HAVE_SAXPY_ -#cmakedefine HAVE_SGEEVX_ -#cmakedefine HAVE_SGEEV_ -#cmakedefine HAVE_SGELSD_ -#cmakedefine HAVE_SGEMM_ -#cmakedefine HAVE_SGEMV_ -#cmakedefine HAVE_SGEQRF_ -#cmakedefine HAVE_SGESDD_ -#cmakedefine HAVE_SGESVD_ -#cmakedefine HAVE_SGETRF_ -#cmakedefine HAVE_SGETRI_ -#cmakedefine HAVE_SGETRS_ -#cmakedefine HAVE_SORGQR_ -#cmakedefine HAVE_SORMQR_ -#cmakedefine HAVE_SSTEV_ -#cmakedefine HAVE_SSYEVX_ -#cmakedefine HAVE_SSYGV_ -#cmakedefine HAVE_SSYGVX_ -#cmakedefine HAVE_STRTRS_ +# define HAVE_DAXPY_ +# define HAVE_DGEEVX_ +# define HAVE_DGEEV_ +# define HAVE_DGELSD_ +# define HAVE_DGEMM_ +# define HAVE_DGEMV_ +# define HAVE_DGEQRF_ +# define HAVE_DGESDD_ +# define HAVE_DGESVD_ +# define HAVE_DGETRF_ +# define HAVE_DGETRI_ +# define HAVE_DGETRS_ +# define HAVE_DORGQR_ +# define HAVE_DORMQR_ +# define HAVE_DSTEV_ +# define HAVE_DSYEVX_ +# define HAVE_DSYGV_ +# define HAVE_DSYGVX_ +# define HAVE_DTRTRS_ +# define HAVE_SAXPY_ +# define HAVE_SGEEVX_ +# define HAVE_SGEEV_ +# define HAVE_SGELSD_ +# define HAVE_SGEMM_ +# define HAVE_SGEMV_ +# define HAVE_SGEQRF_ +# define HAVE_SGESDD_ +# define HAVE_SGESVD_ +# define HAVE_SGETRF_ +# define HAVE_SGETRI_ +# define HAVE_SGETRS_ +# define HAVE_SORGQR_ +# define HAVE_SORMQR_ +# define HAVE_SSTEV_ +# define HAVE_SSYEVX_ +# define HAVE_SSYGV_ +# define HAVE_SSYGVX_ +# define HAVE_STRTRS_ #endif diff --git a/deal.II/include/deal.II/base/mpi.h b/deal.II/include/deal.II/base/mpi.h index 5a734f16c7..6c1dff4bc9 100644 --- a/deal.II/include/deal.II/base/mpi.h +++ b/deal.II/include/deal.II/base/mpi.h @@ -1,7 +1,7 @@ // --------------------------------------------------------------------- // $Id$ // -// Copyright (C) 2011 - 2013 by the deal.II authors +// Copyright (C) 2011 - 2014 by the deal.II authors // // This file is part of the deal.II library. // @@ -274,15 +274,20 @@ namespace Utilities * Initialize MPI (and optionally PETSc) and set the number of threads * used by deal.II (and TBB) to the given parameter. If set to * numbers::invalid_unsigned_int, the number of threads is determined by - * TBB. When in doubt, set this value to 1. + * TBB. When in doubt, set this value to 1 since MPI jobs are typically + * run in a way where one has one MPI process per available processor + * core and there will be little CPU resources left to support multithreaded + * processes. * - * This will call MultithreadInfo::set_thread_limit() with @p - * max_num_threads, so the environment variable DEAL_II_NUM_THREADS will - * be respected. + * This function calls MultithreadInfo::set_thread_limit() + * unconditionally with @p max_num_threads . That function in turn also + * evaluates the environment variable DEAL_II_NUM_THREADS and the number + * of threads to be used will be the minimum of the argument passed here + * and the environment (if both are set). */ MPI_InitFinalize (int &argc, char ** &argv, - unsigned int max_num_threads); + const unsigned int max_num_threads); /** * Destructor. Calls MPI_Finalize() in case this class owns the * MPI process. @@ -304,7 +309,7 @@ namespace Utilities */ void do_init(int &argc, char ** &argv, - unsigned int max_num_threads); + const unsigned int max_num_threads); }; namespace internal diff --git a/deal.II/include/deal.II/base/named_data.h b/deal.II/include/deal.II/base/named_data.h index 20b549080c..59e2a96b88 100644 --- a/deal.II/include/deal.II/base/named_data.h +++ b/deal.II/include/deal.II/base/named_data.h @@ -26,6 +26,7 @@ DEAL_II_NAMESPACE_OPEN +class AnyData; /** * @deprecated The use of this class is deprecated and AnyData should @@ -207,6 +208,13 @@ public: template void initialize(const NamedData &data); + /** + * Create the index vector + * pointing into the AnyData + * object. + */ + void initialize(const AnyData &data); + /** * The number of names in this * object. This function may be diff --git a/deal.II/include/deal.II/base/quadrature_lib.h b/deal.II/include/deal.II/base/quadrature_lib.h index a448a80c9e..5bfe461aa0 100644 --- a/deal.II/include/deal.II/base/quadrature_lib.h +++ b/deal.II/include/deal.II/base/quadrature_lib.h @@ -435,6 +435,29 @@ private: +/** + * Sorted Quadrature. Given an arbitrary quadrature formula, this + * class generates a quadrature formula where the quadrature points + * are ordered according the weights, from those with smaller + * corresponding weight, to those with higher corresponding weights. + * This might be necessary, for example, when integrating high order + * polynomials, since in these cases you might sum very big numbers + * with very small numbers, and summation is not stable if the numbers + * to sum are not close to each other. + */ +template +class QSorted : public Quadrature +{ +public: + /** The constructor takes an arbitrary quadrature formula. */ + QSorted (const Quadrature); + + /** A rule to reorder pairs of points and weights.*/ + bool operator()(const std::pair > &a, + const std::pair > &b); +}; + + /*@}*/ /* -------------- declaration of explicit specializations ------------- */ diff --git a/deal.II/include/deal.II/base/vectorization.h b/deal.II/include/deal.II/base/vectorization.h index a8e14d9dac..ca843ed5dd 100644 --- a/deal.II/include/deal.II/base/vectorization.h +++ b/deal.II/include/deal.II/base/vectorization.h @@ -172,6 +172,27 @@ public: return *this; } + /** + * Loads @p n_array_elements from memory into the calling class, starting at + * the given address. The memory need not be aligned by 64 bytes, as opposed + * to casting a double address to VectorizedArray*. + */ + void load (const double* ptr) + { + data = _mm512_loadu_pd (ptr); + } + + /** + * Writes the content of the calling class into memory in form of @p + * n_array_elements to the given address. The memory need not be aligned by + * 64 bytes, as opposed to casting a double address to + * VectorizedArray*. + */ + void store (double* ptr) const + { + _mm512_storeu_pd (ptr, data); + } + /** * Actual data field. Since this class represents a POD data type, it * remains public. @@ -343,6 +364,27 @@ public: return *this; } + /** + * Loads @p n_array_elements from memory into the calling class, starting at + * the given address. The memory need not be aligned by 64 bytes, as opposed + * to casting a float address to VectorizedArray*. + */ + void load (const float* ptr) + { + data = _mm512_loadu_ps (ptr); + } + + /** + * Writes the content of the calling class into memory in form of @p + * n_array_elements to the given address. The memory need not be aligned by + * 64 bytes, as opposed to casting a float address to + * VectorizedArray*. + */ + void store (float* ptr) const + { + _mm512_storeu_ps (ptr, data); + } + /** * Actual data field. Since this class represents a POD data type, it * remains public. @@ -526,6 +568,27 @@ public: return *this; } + /** + * Loads @p n_array_elements from memory into the calling class, starting at + * the given address. The memory need not be aligned by 32 bytes, as opposed + * to casting a double address to VectorizedArray*. + */ + void load (const double* ptr) + { + data = _mm256_loadu_pd (ptr); + } + + /** + * Writes the content of the calling class into memory in form of @p + * n_array_elements to the given address. The memory need not be aligned by + * 32 bytes, as opposed to casting a double address to + * VectorizedArray*. + */ + void store (double* ptr) const + { + _mm256_storeu_pd (ptr, data); + } + /** * Actual data field. Since this class * represents a POD data type, it remains @@ -704,6 +767,27 @@ public: return *this; } + /** + * Loads @p n_array_elements from memory into the calling class, starting at + * the given address. The memory need not be aligned by 32 bytes, as opposed + * to casting a float address to VectorizedArray*. + */ + void load (const float* ptr) + { + data = _mm256_loadu_ps (ptr); + } + + /** + * Writes the content of the calling class into memory in form of @p + * n_array_elements to the given address. The memory need not be aligned by + * 32 bytes, as opposed to casting a float address to + * VectorizedArray*. + */ + void store (float* ptr) const + { + _mm256_storeu_ps (ptr, data); + } + /** * Actual data field. Since this class * represents a POD data type, it remains @@ -890,6 +974,27 @@ public: return *this; } + /** + * Loads @p n_array_elements from memory into the calling class, starting at + * the given address. The memory need not be aligned by 16 bytes, as opposed + * to casting a double address to VectorizedArray*. + */ + void load (const double* ptr) + { + data = _mm_loadu_pd (ptr); + } + + /** + * Writes the content of the calling class into memory in form of @p + * n_array_elements to the given address. The memory need not be aligned by + * 16 bytes, as opposed to casting a double address to + * VectorizedArray*. + */ + void store (double* ptr) const + { + _mm_storeu_pd (ptr, data); + } + /** * Actual data field. Since this class * represents a POD data type, it remains @@ -1069,6 +1174,27 @@ public: return *this; } + /** + * Loads @p n_array_elements from memory into the calling class, starting at + * the given address. The memory need not be aligned by 16 bytes, as opposed + * to casting a float address to VectorizedArray*. + */ + void load (const float* ptr) + { + data = _mm_loadu_ps (ptr); + } + + /** + * Writes the content of the calling class into memory in form of @p + * n_array_elements to the given address. The memory need not be aligned by + * 16 bytes, as opposed to casting a float address to + * VectorizedArray*. + */ + void store (float* ptr) const + { + _mm_storeu_ps (ptr, data); + } + /** * Actual data field. Since this class * represents a POD data type, it remains @@ -1288,6 +1414,28 @@ public: return *this; } + /** + * Loads @p n_array_elements from memory into the calling class, starting at + * the given address. The memory need not be aligned by the amount of bytes + * in the vectorized array, as opposed to casting a double address to + * VectorizedArray*. + */ + void load (const Number* ptr) + { + data = *ptr; + } + + /** + * Writes the content of the calling class into memory in form of @p + * n_array_elements to the given address. The memory need not be aligned by + * the amount of bytes in the vectorized array, as opposed to casting a + * double address to VectorizedArray*. + */ + void store (Number* ptr) const + { + *ptr = data; + } + /** * Actual data field. Since this class * represents a POD data type, it is declared @@ -1761,52 +1909,65 @@ namespace std ::dealii::VectorizedArray sin (const ::dealii::VectorizedArray &x) { - ::dealii::VectorizedArray sin_val; + // put values in an array and later read in that array with an unaligned + // read. This should safe some instructions as compared to directly + // setting the individual elements and also circumvents a compiler + // optimization bug in gcc-4.6 (see also deal.II developers list from + // April 2014, topic "matrix_free/step-48 Test"). + Number values[::dealii::VectorizedArray::n_array_elements]; for (unsigned int i=0; i::n_array_elements; ++i) - sin_val[i] = std::sin(x[i]); - return sin_val; + values[i] = std::sin(x[i]); + ::dealii::VectorizedArray out; + out.load(&values[0]); + return out; } /** - * Computes the tangent of a vectorized data field. The result is returned as - * vectorized array in the form {tan(x[0]), tan(x[1]), ..., - * tan(x[n_array_elements-1])}. + * Computes the cosine of a vectorized data field. The result is returned as + * vectorized array in the form {cos(x[0]), cos(x[1]), ..., + * cos(x[n_array_elements-1])}. * * @relates VectorizedArray */ template inline ::dealii::VectorizedArray - tan (const ::dealii::VectorizedArray &x) + cos (const ::dealii::VectorizedArray &x) { - ::dealii::VectorizedArray tan_val; + Number values[::dealii::VectorizedArray::n_array_elements]; for (unsigned int i=0; i::n_array_elements; ++i) - tan_val[i] = std::tan(x[i]); - return tan_val; + values[i] = std::cos(x[i]); + ::dealii::VectorizedArray out; + out.load(&values[0]); + return out; } + /** - * Computes the cosine of a vectorized data field. The result is returned as - * vectorized array in the form {cos(x[0]), cos(x[1]), ..., - * cos(x[n_array_elements-1])}. + * Computes the tangent of a vectorized data field. The result is returned as + * vectorized array in the form {tan(x[0]), tan(x[1]), ..., + * tan(x[n_array_elements-1])}. * * @relates VectorizedArray */ template inline ::dealii::VectorizedArray - cos (const ::dealii::VectorizedArray &x) + tan (const ::dealii::VectorizedArray &x) { - ::dealii::VectorizedArray cos_val; + Number values[::dealii::VectorizedArray::n_array_elements]; for (unsigned int i=0; i::n_array_elements; ++i) - cos_val[i] = std::cos(x[i]); - return cos_val; + values[i] = std::tan(x[i]); + ::dealii::VectorizedArray out; + out.load(&values[0]); + return out; } + /** * Computes the exponential of a vectorized data field. The result is returned * as vectorized array in the form {exp(x[0]), exp(x[1]), ..., @@ -1819,13 +1980,16 @@ namespace std ::dealii::VectorizedArray exp (const ::dealii::VectorizedArray &x) { - ::dealii::VectorizedArray exp_val; + Number values[::dealii::VectorizedArray::n_array_elements]; for (unsigned int i=0; i::n_array_elements; ++i) - exp_val[i] = std::exp(x[i]); - return exp_val; + values[i] = std::exp(x[i]); + ::dealii::VectorizedArray out; + out.load(&values[0]); + return out; } + /** * Computes the natural logarithm of a vectorized data field. The result is * returned as vectorized array in the form {log(x[0]), log(x[1]), ..., @@ -1838,10 +2002,12 @@ namespace std ::dealii::VectorizedArray log (const ::dealii::VectorizedArray &x) { - ::dealii::VectorizedArray log_val; + Number values[::dealii::VectorizedArray::n_array_elements]; for (unsigned int i=0; i::n_array_elements; ++i) - log_val[i] = std::log(x[i]); - return log_val; + values[i] = std::log(x[i]); + ::dealii::VectorizedArray out; + out.load(&values[0]); + return out; } diff --git a/deal.II/include/deal.II/distributed/tria.h b/deal.II/include/deal.II/distributed/tria.h index 794846d248..e48384738c 100644 --- a/deal.II/include/deal.II/distributed/tria.h +++ b/deal.II/include/deal.II/distributed/tria.h @@ -331,7 +331,7 @@ namespace parallel /** * A typedef that is used to to identify - * see @ref GlossActive "active cell iterators". The + * @ref GlossActive "active cell iterators". The * concept of iterators is discussed at length in the * @ref Iterators "iterators documentation module". * diff --git a/deal.II/include/deal.II/dofs/dof_handler.h b/deal.II/include/deal.II/dofs/dof_handler.h index 5feae64959..7901770fea 100644 --- a/deal.II/include/deal.II/dofs/dof_handler.h +++ b/deal.II/include/deal.II/dofs/dof_handler.h @@ -197,8 +197,57 @@ public: typedef typename ActiveSelector::hex_iterator hex_iterator; typedef typename ActiveSelector::active_hex_iterator active_hex_iterator; + /** + * A typedef that is used to to identify + * @ref GlossActive "active cell iterators". The + * concept of iterators is discussed at length in the + * @ref Iterators "iterators documentation module". + * + * The current typedef identifies active cells in a DoFHandler object. + * While the actual data type of the typedef is hidden behind a few layers + * of (unfortunately necessary) indirections, it is in essence + * TriaActiveIterator. The TriaActiveIterator + * class works like a pointer to active objects that when you + * dereference it yields an object of type DoFCellAccessor. + * DoFCellAccessor is a class that identifies properties that + * are specific to cells in a DoFHandler, but it is derived + * (and consequently inherits) from both DoFAccessor, TriaCellAccessor + * and TriaAccessor that describe + * what you can ask of more general objects (lines, faces, as + * well as cells) in a triangulation and DoFHandler objects. + * + * @ingroup Iterators + */ typedef typename ActiveSelector::active_cell_iterator active_cell_iterator; + /** + * A typedef that is used to to identify cell iterators. The + * concept of iterators is discussed at length in the + * @ref Iterators "iterators documentation module". + * + * The current typedef identifies cells in a DoFHandler object. Some + * of these cells may in fact be active (see @ref GlossActive "active cell iterators") + * in which case they can in fact be asked for the degrees of freedom + * that live on them. On the other hand, if the cell is not active, + * any such query will result in an error. Note that this is what distinguishes + * this typedef from the level_cell_iterator typedef. + * + * While the actual data type of the typedef is hidden behind a few layers + * of (unfortunately necessary) indirections, it is in essence + * TriaIterator. The TriaIterator + * class works like a pointer to objects that when you + * dereference it yields an object of type DoFCellAccessor. + * DoFCellAccessor is a class that identifies properties that + * are specific to cells in a DoFHandler, but it is derived + * (and consequently inherits) from both DoFAccessor, TriaCellAccessor + * and TriaAccessor that describe + * what you can ask of more general objects (lines, faces, as + * well as cells) in a triangulation and DoFHandler objects. + * + * @ingroup Iterators + */ + typedef typename ActiveSelector::cell_iterator cell_iterator; + typedef typename ActiveSelector::face_iterator face_iterator; typedef typename ActiveSelector::active_face_iterator active_face_iterator; @@ -208,7 +257,6 @@ public: typedef typename LevelSelector::cell_iterator level_cell_iterator; typedef typename LevelSelector::face_iterator level_face_iterator; - typedef typename ActiveSelector::cell_iterator cell_iterator; /** * Alias the @p FunctionMap type diff --git a/deal.II/include/deal.II/fe/fe.h b/deal.II/include/deal.II/fe/fe.h index 1be926e630..530ac15439 100644 --- a/deal.II/include/deal.II/fe/fe.h +++ b/deal.II/include/deal.II/fe/fe.h @@ -1,7 +1,7 @@ // --------------------------------------------------------------------- // $Id$ // -// Copyright (C) 1998 - 2013 by the deal.II authors +// Copyright (C) 1998 - 2014 by the deal.II authors // // This file is part of the deal.II library. // @@ -533,13 +533,13 @@ public: const Point &p, const unsigned int component) const; /** - * Check for non-zero values on a face in order to optimize out matrix - * elements. - * * This function returns @p true, if the shape function @p shape_index has - * non-zero values on the face @p face_index. + * non-zero function values somewhere on the face @p face_index. The + * function is typically used to determine whether some matrix elements + * resulting from face integrals can be assumed to be zero and may therefore + * be omitted from integration. * - * A default implementation is provided in this basis class which always + * A default implementation is provided in this basa class which always * returns @p true. This is the safe way to go. */ virtual bool has_support_on_face (const unsigned int shape_index, diff --git a/deal.II/include/deal.II/fe/fe_abf.h b/deal.II/include/deal.II/fe/fe_abf.h index 1a50681b30..c95843b45c 100644 --- a/deal.II/include/deal.II/fe/fe_abf.h +++ b/deal.II/include/deal.II/fe/fe_abf.h @@ -1,7 +1,7 @@ // --------------------------------------------------------------------- // $Id$ // -// Copyright (C) 2003 - 2013 by the deal.II authors +// Copyright (C) 2003 - 2014 by the deal.II authors // // This file is part of the deal.II library. // @@ -122,13 +122,11 @@ public: virtual std::string get_name () const; /** - * Check whether a shape function - * may be non-zero on a face. + * This function returns @p true, if the shape function @p shape_index has + * non-zero function values somewhere on the face @p face_index. * - * Right now, this is only - * implemented for RT0 in - * 1D. Otherwise, returns always - * @p true. + * Right now, this is only implemented for RT0 in 1D. Otherwise, returns + * always @p true. */ virtual bool has_support_on_face (const unsigned int shape_index, const unsigned int face_index) const; diff --git a/deal.II/include/deal.II/fe/fe_dg_vector.h b/deal.II/include/deal.II/fe/fe_dg_vector.h index 0616694148..069f2594cf 100644 --- a/deal.II/include/deal.II/fe/fe_dg_vector.h +++ b/deal.II/include/deal.II/fe/fe_dg_vector.h @@ -1,7 +1,7 @@ // --------------------------------------------------------------------- // $Id$ // -// Copyright (C) 2010 - 2013 by the deal.II authors +// Copyright (C) 2010 - 2014 by the deal.II authors // // This file is part of the deal.II library. // @@ -81,11 +81,10 @@ public: /** - * Check whether a shape function - * may be non-zero on a face. + * This function returns @p true, if the shape function @p shape_index has + * non-zero function values somewhere on the face @p face_index. * - * Returns always - * @p true. + * For this element, we always return @p true. */ virtual bool has_support_on_face (const unsigned int shape_index, const unsigned int face_index) const; diff --git a/deal.II/include/deal.II/fe/fe_dg_vector.templates.h b/deal.II/include/deal.II/fe/fe_dg_vector.templates.h index 8639be4cdb..b404e45703 100644 --- a/deal.II/include/deal.II/fe/fe_dg_vector.templates.h +++ b/deal.II/include/deal.II/fe/fe_dg_vector.templates.h @@ -1,7 +1,7 @@ // --------------------------------------------------------------------- // $Id$ // -// Copyright (C) 2006 - 2013 by the deal.II authors +// Copyright (C) 2006 - 2014 by the deal.II authors // // This file is part of the deal.II library. // @@ -80,9 +80,8 @@ FE_DGVector::get_dpo_vector (const unsigned int deg) template bool -FE_DGVector::has_support_on_face ( - const unsigned int, - const unsigned int) const +FE_DGVector::has_support_on_face (const unsigned int, + const unsigned int) const { return true; } diff --git a/deal.II/include/deal.II/fe/fe_dgp.h b/deal.II/include/deal.II/fe/fe_dgp.h index 9fd6a5f04a..686ce5ffbe 100644 --- a/deal.II/include/deal.II/fe/fe_dgp.h +++ b/deal.II/include/deal.II/fe/fe_dgp.h @@ -1,7 +1,7 @@ // --------------------------------------------------------------------- // $Id$ // -// Copyright (C) 2002 - 2013 by the deal.II authors +// Copyright (C) 2002 - 2014 by the deal.II authors // // This file is part of the deal.II library. // @@ -271,17 +271,8 @@ public: FullMatrix &matrix) const; /** - * Check for non-zero values on a face. - * - * This function returns - * @p true, if the shape - * function @p shape_index has - * non-zero values on the face - * @p face_index. - * - * Implementation of the - * interface in - * FiniteElement + * This function returns @p true, if the shape function @p shape_index has + * non-zero function values somewhere on the face @p face_index. */ virtual bool has_support_on_face (const unsigned int shape_index, const unsigned int face_index) const; diff --git a/deal.II/include/deal.II/fe/fe_dgp_monomial.h b/deal.II/include/deal.II/fe/fe_dgp_monomial.h index f6a585c334..74b580c991 100644 --- a/deal.II/include/deal.II/fe/fe_dgp_monomial.h +++ b/deal.II/include/deal.II/fe/fe_dgp_monomial.h @@ -1,7 +1,7 @@ // --------------------------------------------------------------------- // $Id$ // -// Copyright (C) 2004 - 2013 by the deal.II authors +// Copyright (C) 2004 - 2014 by the deal.II authors // // This file is part of the deal.II library. // @@ -271,17 +271,8 @@ public: FullMatrix &matrix) const; /** - * Check for non-zero values on a face. - * - * This function returns - * @p true, if the shape - * function @p shape_index has - * non-zero values on the face - * @p face_index. - * - * Implementation of the - * interface in - * FiniteElement + * This function returns @p true, if the shape function @p shape_index has + * non-zero function values somewhere on the face @p face_index. */ virtual bool has_support_on_face (const unsigned int shape_index, const unsigned int face_index) const; diff --git a/deal.II/include/deal.II/fe/fe_dgp_nonparametric.h b/deal.II/include/deal.II/fe/fe_dgp_nonparametric.h index 46c5e740e5..0579a743d6 100644 --- a/deal.II/include/deal.II/fe/fe_dgp_nonparametric.h +++ b/deal.II/include/deal.II/fe/fe_dgp_nonparametric.h @@ -1,7 +1,7 @@ // --------------------------------------------------------------------- // $Id$ // -// Copyright (C) 2002 - 2013 by the deal.II authors +// Copyright (C) 2002 - 2014 by the deal.II authors // // This file is part of the deal.II library. // @@ -324,17 +324,8 @@ public: */ /** - * Check for non-zero values on a face. - * - * This function returns - * @p true, if the shape - * function @p shape_index has - * non-zero values on the face - * @p face_index. - * - * Implementation of the - * interface in - * FiniteElement + * This function returns @p true, if the shape function @p shape_index has + * non-zero function values somewhere on the face @p face_index. */ virtual bool has_support_on_face (const unsigned int shape_index, const unsigned int face_index) const; diff --git a/deal.II/include/deal.II/fe/fe_dgq.h b/deal.II/include/deal.II/fe/fe_dgq.h index ec0c7f9e18..f7039dfaaf 100644 --- a/deal.II/include/deal.II/fe/fe_dgq.h +++ b/deal.II/include/deal.II/fe/fe_dgq.h @@ -1,7 +1,7 @@ // --------------------------------------------------------------------- // $Id$ // -// Copyright (C) 2001 - 2013 by the deal.II authors +// Copyright (C) 2001 - 2014 by the deal.II authors // // This file is part of the deal.II library. // @@ -312,17 +312,8 @@ public: */ /** - * Check for non-zero values on a face. - * - * This function returns - * @p true, if the shape - * function @p shape_index has - * non-zero values on the face - * @p face_index. - * - * Implementation of the - * interface in - * FiniteElement + * This function returns @p true, if the shape function @p shape_index has + * non-zero function values somewhere on the face @p face_index. */ virtual bool has_support_on_face (const unsigned int shape_index, const unsigned int face_index) const; diff --git a/deal.II/include/deal.II/fe/fe_face.h b/deal.II/include/deal.II/fe/fe_face.h index 2ee366f50f..b94889963d 100644 --- a/deal.II/include/deal.II/fe/fe_face.h +++ b/deal.II/include/deal.II/fe/fe_face.h @@ -1,7 +1,7 @@ // --------------------------------------------------------------------- // $Id$ // -// Copyright (C) 2009 - 2013 by the deal.II authors +// Copyright (C) 2009 - 2014 by the deal.II authors // // This file is part of the deal.II library. // @@ -96,12 +96,8 @@ public: FullMatrix &matrix) const; /** - * Check for non-zero values on a face. - * * This function returns @p true, if the shape function @p shape_index has - * non-zero values on the face @p face_index. - * - * Implementation of the interface in FiniteElement + * non-zero function values somewhere on the face @p face_index. */ virtual bool has_support_on_face (const unsigned int shape_index, const unsigned int face_index) const; @@ -199,12 +195,8 @@ public: FullMatrix &matrix) const; /** - * Check for non-zero values on a face. - * * This function returns @p true, if the shape function @p shape_index has - * non-zero values on the face @p face_index. - * - * Implementation of the interface in FiniteElement + * non-zero function values somewhere on the face @p face_index. */ virtual bool has_support_on_face (const unsigned int shape_index, const unsigned int face_index) const; @@ -407,12 +399,8 @@ public: FullMatrix &matrix) const; /** - * Check for non-zero values on a face. - * * This function returns @p true, if the shape function @p shape_index has - * non-zero values on the face @p face_index. - * - * Implementation of the interface in FiniteElement + * non-zero function values somewhere on the face @p face_index. */ virtual bool has_support_on_face (const unsigned int shape_index, const unsigned int face_index) const; diff --git a/deal.II/include/deal.II/fe/fe_nedelec.h b/deal.II/include/deal.II/fe/fe_nedelec.h index f09e5010bd..35c4f73d07 100644 --- a/deal.II/include/deal.II/fe/fe_nedelec.h +++ b/deal.II/include/deal.II/fe/fe_nedelec.h @@ -1,7 +1,7 @@ // --------------------------------------------------------------------- // $Id$ // -// Copyright (C) 2002 - 2013 by the deal.II authors +// Copyright (C) 2002 - 2014 by the deal.II authors // // This file is part of the deal.II library. // @@ -178,8 +178,8 @@ public: /** - * Check whether a shape function - * may be non-zero on a face. + * This function returns @p true, if the shape function @p shape_index has + * non-zero function values somewhere on the face @p face_index. */ virtual bool has_support_on_face (const unsigned int shape_index, const unsigned int face_index) const; diff --git a/deal.II/include/deal.II/fe/fe_q_base.h b/deal.II/include/deal.II/fe/fe_q_base.h index 6bfb8a2ace..1a0b225838 100644 --- a/deal.II/include/deal.II/fe/fe_q_base.h +++ b/deal.II/include/deal.II/fe/fe_q_base.h @@ -1,7 +1,7 @@ // --------------------------------------------------------------------- // $Id$ // -// Copyright (C) 2000 - 2013 by the deal.II authors +// Copyright (C) 2000 - 2014 by the deal.II authors // // This file is part of the deal.II library. // @@ -87,12 +87,8 @@ public: FullMatrix &matrix) const; /** - * Check for non-zero values on a face. - * * This function returns @p true, if the shape function @p shape_index has - * non-zero values on the face @p face_index. - * - * Implementation of the interface in FiniteElement + * non-zero function values somewhere on the face @p face_index. */ virtual bool has_support_on_face (const unsigned int shape_index, const unsigned int face_index) const; diff --git a/deal.II/include/deal.II/fe/fe_q_dg0.h b/deal.II/include/deal.II/fe/fe_q_dg0.h index 90b28f579a..358503de0e 100644 --- a/deal.II/include/deal.II/fe/fe_q_dg0.h +++ b/deal.II/include/deal.II/fe/fe_q_dg0.h @@ -1,7 +1,7 @@ // --------------------------------------------------------------------- // $Id$ // -// Copyright (C) 2012 - 2013 by the deal.II authors +// Copyright (C) 2012 - 2014 by the deal.II authors // // This file is part of the deal.II library. // @@ -302,12 +302,8 @@ public: /** - * Check for non-zero values on a face. - * * This function returns @p true, if the shape function @p shape_index has - * non-zero values on the face @p face_index. - * - * Implementation of the interface in FiniteElement + * non-zero function values somewhere on the face @p face_index. */ virtual bool has_support_on_face (const unsigned int shape_index, const unsigned int face_index) const; diff --git a/deal.II/include/deal.II/fe/fe_q_hierarchical.h b/deal.II/include/deal.II/fe/fe_q_hierarchical.h index 64d3b644cf..d715e32832 100644 --- a/deal.II/include/deal.II/fe/fe_q_hierarchical.h +++ b/deal.II/include/deal.II/fe/fe_q_hierarchical.h @@ -1,7 +1,7 @@ // --------------------------------------------------------------------- // $Id$ // -// Copyright (C) 2002 - 2013 by the deal.II authors +// Copyright (C) 2002 - 2014 by the deal.II authors // // This file is part of the deal.II library. // @@ -254,17 +254,8 @@ public: virtual std::string get_name () const; /** - * Check for non-zero values on a face. - * - * This function returns - * @p true, if the shape - * function @p shape_index has - * non-zero values on the face - * @p face_index. - * - * Implementation of the - * interface in - * FiniteElement + * This function returns @p true, if the shape function @p shape_index has + * non-zero function values somewhere on the face @p face_index. */ virtual bool has_support_on_face (const unsigned int shape_index, const unsigned int face_index) const; diff --git a/deal.II/include/deal.II/fe/fe_raviart_thomas.h b/deal.II/include/deal.II/fe/fe_raviart_thomas.h index 01182aef01..0966faef7b 100644 --- a/deal.II/include/deal.II/fe/fe_raviart_thomas.h +++ b/deal.II/include/deal.II/fe/fe_raviart_thomas.h @@ -1,7 +1,7 @@ // --------------------------------------------------------------------- // $Id$ // -// Copyright (C) 2003 - 2013 by the deal.II authors +// Copyright (C) 2003 - 2014 by the deal.II authors // // This file is part of the deal.II library. // @@ -127,13 +127,11 @@ public: /** - * Check whether a shape function - * may be non-zero on a face. + * This function returns @p true, if the shape function @p shape_index has + * non-zero function values somewhere on the face @p face_index. * - * Right now, this is only - * implemented for RT0 in - * 1D. Otherwise, returns always - * @p true. + * Right now, this is only implemented for RT0 in 1D. Otherwise, returns + * always @p true. */ virtual bool has_support_on_face (const unsigned int shape_index, const unsigned int face_index) const; @@ -412,9 +410,10 @@ private: */ static std::vector get_ria_vector (const unsigned int degree); + /** - * Check whether a shape function - * may be non-zero on a face. + * This function returns @p true, if the shape function @p shape_index has + * non-zero function values somewhere on the face @p face_index. * * Right now, this is only * implemented for RT0 in diff --git a/deal.II/include/deal.II/fe/fe_system.h b/deal.II/include/deal.II/fe/fe_system.h index 3744e734cc..362e113fa2 100644 --- a/deal.II/include/deal.II/fe/fe_system.h +++ b/deal.II/include/deal.II/fe/fe_system.h @@ -1,7 +1,7 @@ // --------------------------------------------------------------------- // $Id$ // -// Copyright (C) 1999 - 2013 by the deal.II authors +// Copyright (C) 1999 - 2014 by the deal.II authors // // This file is part of the deal.II library. // @@ -347,12 +347,8 @@ public: base_element (const unsigned int index) const; /** - * Check for non-zero values on a face. - * * This function returns @p true, if the shape function @p shape_index has - * non-zero values on the face @p face_index. - * - * Implementation of the interface in FiniteElement + * non-zero function values somewhere on the face @p face_index. */ virtual bool has_support_on_face (const unsigned int shape_index, const unsigned int face_index) const; diff --git a/deal.II/include/deal.II/fe/fe_trace.h b/deal.II/include/deal.II/fe/fe_trace.h index 86f2be75be..cd9daa02ba 100644 --- a/deal.II/include/deal.II/fe/fe_trace.h +++ b/deal.II/include/deal.II/fe/fe_trace.h @@ -1,7 +1,7 @@ // --------------------------------------------------------------------- // $Id$ // -// Copyright (C) 2000 - 2013 by the deal.II authors +// Copyright (C) 2000 - 2014 by the deal.II authors // // This file is part of the deal.II library. // @@ -75,17 +75,8 @@ public: virtual std::string get_name () const; /** - * Check for non-zero values on a face. - * - * This function returns - * @p true, if the shape - * function @p shape_index has - * non-zero values on the face - * @p face_index. - * - * Implementation of the - * interface in - * FiniteElement + * This function returns @p true, if the shape function @p shape_index has + * non-zero function values somewhere on the face @p face_index. */ virtual bool has_support_on_face (const unsigned int shape_index, const unsigned int face_index) const; diff --git a/deal.II/include/deal.II/grid/tria.h b/deal.II/include/deal.II/grid/tria.h index ca22f7352e..2fdf1cd100 100644 --- a/deal.II/include/deal.II/grid/tria.h +++ b/deal.II/include/deal.II/grid/tria.h @@ -1469,7 +1469,7 @@ public: /** * A typedef that is used to to identify - * see @ref GlossActive "active cell iterators". The + * @ref GlossActive "active cell iterators". The * concept of iterators is discussed at length in the * @ref Iterators "iterators documentation module". * diff --git a/deal.II/include/deal.II/hp/dof_handler.h b/deal.II/include/deal.II/hp/dof_handler.h index 8b0c2b1ace..b0513deadb 100644 --- a/deal.II/include/deal.II/hp/dof_handler.h +++ b/deal.II/include/deal.II/hp/dof_handler.h @@ -1,7 +1,7 @@ // --------------------------------------------------------------------- // $Id$ // -// Copyright (C) 2005 - 2013 by the deal.II authors +// Copyright (C) 2005 - 2014 by the deal.II authors // // This file is part of the deal.II library. // @@ -95,19 +95,67 @@ namespace hp typedef typename ActiveSelector::hex_iterator hex_iterator; typedef typename ActiveSelector::active_hex_iterator active_hex_iterator; + /** + * A typedef that is used to to identify + * @ref GlossActive "active cell iterators". The + * concept of iterators is discussed at length in the + * @ref Iterators "iterators documentation module". + * + * The current typedef identifies active cells in a hp::DoFHandler object. + * While the actual data type of the typedef is hidden behind a few layers + * of (unfortunately necessary) indirections, it is in essence + * TriaActiveIterator. The TriaActiveIterator + * class works like a pointer to active objects that when you + * dereference it yields an object of type DoFCellAccessor. + * DoFCellAccessor is a class that identifies properties that + * are specific to cells in a DoFHandler, but it is derived + * (and consequently inherits) from both DoFAccessor, TriaCellAccessor + * and TriaAccessor that describe + * what you can ask of more general objects (lines, faces, as + * well as cells) in a triangulation and hp::DoFHandler objects. + * + * @ingroup Iterators + */ typedef typename ActiveSelector::active_cell_iterator active_cell_iterator; + typedef typename LevelSelector::cell_iterator level_cell_iterator; + + /** + * A typedef that is used to to identify cell iterators. The + * concept of iterators is discussed at length in the + * @ref Iterators "iterators documentation module". + * + * The current typedef identifies cells in a DoFHandler object. Some + * of these cells may in fact be active (see @ref GlossActive "active cell iterators") + * in which case they can in fact be asked for the degrees of freedom + * that live on them. On the other hand, if the cell is not active, + * any such query will result in an error. Note that this is what distinguishes + * this typedef from the level_cell_iterator typedef. + * + * While the actual data type of the typedef is hidden behind a few layers + * of (unfortunately necessary) indirections, it is in essence + * TriaIterator. The TriaIterator + * class works like a pointer to objects that when you + * dereference it yields an object of type DoFCellAccessor. + * DoFCellAccessor is a class that identifies properties that + * are specific to cells in a DoFHandler, but it is derived + * (and consequently inherits) from both DoFAccessor, TriaCellAccessor + * and TriaAccessor that describe + * what you can ask of more general objects (lines, faces, as + * well as cells) in a triangulation and DoFHandler objects. + * + * @ingroup Iterators + */ + typedef typename ActiveSelector::cell_iterator cell_iterator; + typedef typename ActiveSelector::face_iterator face_iterator; typedef typename ActiveSelector::active_face_iterator active_face_iterator; typedef typename LevelSelector::CellAccessor level_cell_accessor; typedef typename LevelSelector::FaceAccessor level_face_accessor; - typedef typename LevelSelector::cell_iterator level_cell_iterator; typedef typename LevelSelector::face_iterator level_face_iterator; - typedef level_cell_iterator cell_iterator; - /** * Alias the @p FunctionMap type * declared elsewhere. @@ -862,7 +910,7 @@ namespace hp */ std::vector vertex_dofs_offsets; - std::vector mg_vertex_dofs; + std::vector mg_vertex_dofs; // we should really remove this field! /** * Array to store the diff --git a/deal.II/include/deal.II/lac/solver_gmres.h b/deal.II/include/deal.II/lac/solver_gmres.h index 448244f6eb..1d09bd1618 100644 --- a/deal.II/include/deal.II/lac/solver_gmres.h +++ b/deal.II/include/deal.II/lac/solver_gmres.h @@ -26,6 +26,7 @@ #include #include #include +#include #include #include @@ -170,7 +171,8 @@ public: AdditionalData (const unsigned int max_n_tmp_vectors = 30, const bool right_preconditioning = false, const bool use_default_residual = true, - const bool force_re_orthogonalization = false); + const bool force_re_orthogonalization = false, + const bool compute_eigenvalues = false); /** * Maximum number of temporary vectors. This parameter controls the size @@ -200,6 +202,17 @@ public: * if necessary. */ bool force_re_orthogonalization; + + /** + * Compute all eigenvalues of the Hessenberg matrix generated while + * solving, i.e., the projected system matrix. This gives an approximation + * of the eigenvalues of the (preconditioned) system matrix. Since the + * Hessenberg matrix is thrown away at restart, the eigenvalues are + * printed for every 30 iterations. + * + * @note Requires LAPACK support. + */ + bool compute_eigenvalues; }; /** @@ -428,6 +441,14 @@ namespace internal } return *data[i-offset]; } + + // A comparator for better printing eigenvalues + inline + bool complex_less_pred(const std::complex &x, + const std::complex &y) + { + return x.real() < y.real() || (x.real() == y.real() && x.imag() < y.imag()); + } } } @@ -439,12 +460,14 @@ SolverGMRES::AdditionalData:: AdditionalData (const unsigned int max_n_tmp_vectors, const bool right_preconditioning, const bool use_default_residual, - const bool force_re_orthogonalization) + const bool force_re_orthogonalization, + const bool compute_eigenvalues) : max_n_tmp_vectors(max_n_tmp_vectors), right_preconditioning(right_preconditioning), use_default_residual(use_default_residual), - force_re_orthogonalization(force_re_orthogonalization) + force_re_orthogonalization(force_re_orthogonalization), + compute_eigenvalues (compute_eigenvalues) {} @@ -581,6 +604,12 @@ SolverGMRES::solve (const MATRIX &A, // restart unsigned int accumulated_iterations = 0; + // for eigenvalue computation, need to collect the Hessenberg matrix (before + // applying Givens rotations) + FullMatrix H_orig; + if (additional_data.compute_eigenvalues) + H_orig.reinit(n_tmp_vectors, n_tmp_vectors-1); + // matrix used for the orthogonalization process later H.reinit(n_tmp_vectors, n_tmp_vectors-1); @@ -727,6 +756,12 @@ SolverGMRES::solve (const MATRIX &A, if (numbers::is_finite(1./s)) vv *= 1./s; + // for eigenvalues, get the resulting coefficients from the + // orthogonalization process + if (additional_data.compute_eigenvalues) + for (unsigned int i=0; i::solve (const MATRIX &A, for (unsigned int j=0; j mat(dim,dim); + for (unsigned int i=0; i > eigenvalues(dim); + for (unsigned int i=0; i #include +#include #include @@ -30,9 +31,6 @@ DEAL_II_NAMESPACE_OPEN -class SparsityPattern; - - /*! @addtogroup Sparsity *@{ @@ -46,11 +44,6 @@ class SparsityPattern; */ namespace SparsityTools { - /** - * Declare type for container size. - */ - typedef types::global_dof_index size_type; - /** * Use the METIS partitioner to generate a partitioning of the degrees of * freedom represented by this sparsity pattern. In effect, we view this @@ -138,8 +131,8 @@ namespace SparsityTools */ void reorder_Cuthill_McKee (const SparsityPattern &sparsity, - std::vector &new_indices, - const std::vector &starting_indices = std::vector()); + std::vector &new_indices, + const std::vector &starting_indices = std::vector()); #ifdef DEAL_II_WITH_MPI @@ -167,7 +160,7 @@ namespace SparsityTools */ template void distribute_sparsity_pattern(CSP_t &csp, - const std::vector &rows_per_cpu, + const std::vector &rows_per_cpu, const MPI_Comm &mpi_comm, const IndexSet &myrange); diff --git a/deal.II/source/base/CMakeLists.txt b/deal.II/source/base/CMakeLists.txt index 6745cb7eaf..2041c63052 100644 --- a/deal.II/source/base/CMakeLists.txt +++ b/deal.II/source/base/CMakeLists.txt @@ -38,6 +38,7 @@ SET(_src memory_consumption.cc mpi.cc multithread_info.cc + named_selection.cc parallel.cc parameter_handler.cc parsed_function.cc diff --git a/deal.II/source/base/mpi.cc b/deal.II/source/base/mpi.cc index df1d360393..ca73d301d7 100644 --- a/deal.II/source/base/mpi.cc +++ b/deal.II/source/base/mpi.cc @@ -1,7 +1,7 @@ // --------------------------------------------------------------------- // $Id$ // -// Copyright (C) 2005 - 2013 by the deal.II authors +// Copyright (C) 2005 - 2014 by the deal.II authors // // This file is part of the deal.II library. // @@ -315,7 +315,7 @@ namespace Utilities MPI_InitFinalize::MPI_InitFinalize (int &argc, char ** &argv, - unsigned int max_num_threads) + const unsigned int max_num_threads) : owns_mpi (true) { @@ -337,7 +337,7 @@ namespace Utilities void MPI_InitFinalize::do_init(int &argc, char ** &argv, - unsigned int max_num_threads) + const unsigned int max_num_threads) { static bool constructor_has_already_run = false; Assert (constructor_has_already_run == false, @@ -389,7 +389,8 @@ namespace Utilities constructor_has_already_run = true; - //set maximum number of threads: + // set maximum number of threads (also respecting the environment + // variable that the called function evaluates) multithread_info.set_thread_limit(max_num_threads); } diff --git a/deal.II/source/base/named_selection.cc b/deal.II/source/base/named_selection.cc new file mode 100644 index 0000000000..59f45decaf --- /dev/null +++ b/deal.II/source/base/named_selection.cc @@ -0,0 +1,31 @@ +// --------------------------------------------------------------------- +// $Id: logstream.cc 31932 2013-12-08 02:15:54Z heister $ +// +// Copyright (C) 1998 - 2013 by the deal.II authors +// +// This file is part of the deal.II library. +// +// The deal.II library is free software; you can use it, redistribute +// it, and/or modify it under the terms of the GNU Lesser General +// Public License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// The full text of the license can be found in the file LICENSE at +// the top level of the deal.II distribution. +// +// --------------------------------------------------------------------- + +#include +#include + +DEAL_II_NAMESPACE_OPEN + +void +NamedSelection::initialize(const AnyData &data) +{ + indices.resize(names.size()); + for (unsigned int i=0; i::QGaussOneOverR(const unsigned int n, } +template +QSorted::QSorted(Quadrature quad) : + Quadrature(quad.size()) +{ + std::vector< std::pair > > wp; + for (unsigned int i=0; i >(quad.weight(i), + quad.point(i))); + sort(wp.begin(), wp.end(), *this); + for(unsigned int i=0; iweights[i] = wp[i].first; + this->quadrature_points[i] = wp[i].second; + } +} + + +template +bool QSorted::operator()(const std::pair > &a, + const std::pair > &b) +{ + return (a.first < b.first); +} + + // construct the quadrature formulae in higher dimensions by // tensor product of lower dimensions @@ -1009,4 +1034,8 @@ template class QSimpson<3>; template class QMilne<3>; template class QWeddle<3>; +template class QSorted<1>; +template class QSorted<2>; +template class QSorted<3>; + DEAL_II_NAMESPACE_CLOSE diff --git a/deal.II/source/fe/fe_dgq.cc b/deal.II/source/fe/fe_dgq.cc index 8fe34b6c60..0ca4d1c021 100644 --- a/deal.II/source/fe/fe_dgq.cc +++ b/deal.II/source/fe/fe_dgq.cc @@ -696,10 +696,17 @@ FE_DGQ::has_support_on_face (const unsigned int shape_index, unsigned int n = this->degree+1; - // for DGQ(0) elements, the single - // shape functions is constant and + // for DGQ(0) elements or arbitrary node DGQ with support points not located + // at the element boundary, the single shape functions is constant and // therefore lives on the boundary - if (this->degree == 0) + bool support_points_on_boundary = true; + for (unsigned int d=0; dunit_support_points[0][d]) > 1e-13) + support_points_on_boundary = false; + for (unsigned int d=0; dunit_support_points.back()[d]-1.) > 1e-13) + support_points_on_boundary = false; + if (support_points_on_boundary == false) return true; unsigned int n2 = n*n; diff --git a/deal.II/source/grid/grid_in.cc b/deal.II/source/grid/grid_in.cc index 52ae8a5187..024a708b2e 100644 --- a/deal.II/source/grid/grid_in.cc +++ b/deal.II/source/grid/grid_in.cc @@ -57,20 +57,27 @@ void GridIn::read_vtk(std::istream &in) { Assert((dim == 2)||(dim == 3), ExcNotImplemented()); std::string line; - std::string text[4]; - text[0] = "# vtk DataFile Version 3.0"; - text[1] = "vtk output"; - text[2] = "ASCII"; - text[3] = "DATASET UNSTRUCTURED_GRID"; - for (unsigned int i = 0; i < 4; i++) //Checking for the match between initial strings/text in the file. + // verify that the first, third and fourth lines match + // expectations. the second line of the file may essentially be + // anything the author of the file chose to identify what's in + // there, so we just ensure that we can read it + { + std::string text[4]; + text[0] = "# vtk DataFile Version 3.0"; + text[1] = "****"; + text[2] = "ASCII"; + text[3] = "DATASET UNSTRUCTURED_GRID"; + + for (unsigned int i = 0; i < 4; ++i) { getline(in,line); - - AssertThrow (line.compare(text[i]) == 0, - ExcMessage(std::string("While reading VTK file, failed to find <") + - text[i] + ">")); + if (i != 1) + AssertThrow (line.compare(text[i]) == 0, + ExcMessage(std::string("While reading VTK file, failed to find a header line with text <") + + text[i] + ">")); } + } ///////////////////Declaring storage and mappings////////////////// @@ -150,6 +157,7 @@ void GridIn::read_vtk(std::istream &in) for (unsigned int j = 0; j < type; j++) //loop to feed data in >> cells.back().vertices[j]; + cells.back().material_id = 0; for (unsigned int j = 0; j < type; j++) //loop to feed the data of the vertices to the cell @@ -269,14 +277,14 @@ void GridIn::read_vtk(std::istream &in) for (unsigned int i = 0; i < 2; i++) { - getline(in,linenew); - - if (linenew.compare(textnew[i]) == 0) - {} - else - AssertThrow (false, - ExcMessage (std::string("While reading VTK file, failed to find <") + - textnew[i] + "> section")); + getline(in, linenew); + if (i == 0) + if (linenew.size() > textnew[0].size()) + linenew.resize(textnew[0].size()); + + AssertThrow (linenew.compare(textnew[i]) == 0, + ExcMessage (std::string("While reading VTK file, failed to find <") + + textnew[i] + "> section")); } for (unsigned int i = 0; i < no_cells; i++) //assigning IDs to cells. @@ -305,10 +313,6 @@ void GridIn::read_vtk(std::istream &in) } } } - else - AssertThrow (false, - ExcMessage ("While reading VTK file, failed to find CELL_DATA section")); - Assert(subcelldata.check_consistency(dim), ExcInternalError()); diff --git a/deal.II/source/lac/sparsity_tools.cc b/deal.II/source/lac/sparsity_tools.cc index 10bac030c3..673f2783a4 100644 --- a/deal.II/source/lac/sparsity_tools.cc +++ b/deal.II/source/lac/sparsity_tools.cc @@ -1,7 +1,7 @@ // --------------------------------------------------------------------- // $Id$ // -// Copyright (C) 2008 - 2013 by the deal.II authors +// Copyright (C) 2008 - 2014 by the deal.II authors // // This file is part of the deal.II library. // @@ -94,7 +94,7 @@ namespace SparsityTools int_rowstart.reserve(sparsity_pattern.n_rows()+1); std::vector int_colnums; int_colnums.reserve(sparsity_pattern.n_nonzero_elements()); - for (size_type row=0; row &new_indices) + const std::vector &new_indices) { { - size_type starting_point = numbers::invalid_size_type; - size_type min_coordination = sparsity.n_rows(); - for (size_type row=0; row(j-sparsity.begin(row)) < + if (static_cast(j-sparsity.begin(row)) < min_coordination) { min_coordination = j-sparsity.begin(row); @@ -183,7 +183,7 @@ namespace SparsityTools // starting point, e.g. the first unnumbered one if (starting_point == numbers::invalid_size_type) { - for (size_type i=0; i &new_indices, - const std::vector &starting_indices) + reorder_Cuthill_McKee (const SparsityPattern &sparsity, + std::vector &new_indices, + const std::vector &starting_indices) { Assert (sparsity.n_rows() == sparsity.n_cols(), ExcDimensionMismatch (sparsity.n_rows(), sparsity.n_cols())); @@ -211,26 +211,26 @@ namespace SparsityTools ExcDimensionMismatch (sparsity.n_rows(), new_indices.size())); Assert (starting_indices.size() <= sparsity.n_rows(), ExcMessage ("You can't specify more starting indices than there are rows")); - for (size_type i=0; i last_round_dofs (starting_indices); + std::vector last_round_dofs (starting_indices); // initialize the new_indices array with invalid values std::fill (new_indices.begin(), new_indices.end(), numbers::invalid_size_type); // delete disallowed elements - for (size_type i=0; i=sparsity.n_rows())) last_round_dofs[i] = numbers::invalid_size_type; std::remove_if (last_round_dofs.begin(), last_round_dofs.end(), - std::bind2nd(std::equal_to(), + std::bind2nd(std::equal_to(), numbers::invalid_size_type)); // now if no valid points remain: find dof with lowest coordination number @@ -240,10 +240,10 @@ namespace SparsityTools new_indices)); // store next free dof index - size_type next_free_number = 0; + SparsityPattern::size_type next_free_number = 0; // enumerate the first round dofs - for (size_type i=0; i!=last_round_dofs.size(); ++i) + for (SparsityPattern::size_type i=0; i!=last_round_dofs.size(); ++i) new_indices[last_round_dofs[i]] = next_free_number++; // now do as many steps as needed to @@ -252,12 +252,12 @@ namespace SparsityTools { // store the indices of the dofs to be // renumbered in the next round - std::vector next_round_dofs; + std::vector next_round_dofs; // find all neighbors of the // dofs numbered in the last // round - for (size_type i=0; iis_valid_entry() == false) @@ -269,7 +269,7 @@ namespace SparsityTools std::sort (next_round_dofs.begin(), next_round_dofs.end()); // delete multiple entries - std::vector::iterator end_sorted; + std::vector::iterator end_sorted; end_sorted = std::unique (next_round_dofs.begin(), next_round_dofs.end()); next_round_dofs.erase (end_sorted, next_round_dofs.end()); @@ -332,14 +332,14 @@ namespace SparsityTools // store for each coordination // number the dofs with these // coordination number - std::multimap dofs_by_coordination; + std::multimap dofs_by_coordination; // find coordination number for // each of these dofs - for (std::vector::iterator s=next_round_dofs.begin(); + for (std::vector::iterator s=next_round_dofs.begin(); s!=next_round_dofs.end(); ++s) { - size_type coordination = 0; + SparsityPattern::size_type coordination = 0; for (SparsityPattern::iterator j=sparsity.begin(*s); jis_valid_entry() == false) @@ -349,14 +349,14 @@ namespace SparsityTools // insert this dof at its // coordination number - const std::pair new_entry (coordination, *s); + const std::pair new_entry (coordination, *s); dofs_by_coordination.insert (new_entry); } // assign new DoF numbers to // the elements of the present // front: - std::multimap::iterator i; + std::multimap::iterator i; for (i = dofs_by_coordination.begin(); i!=dofs_by_coordination.end(); ++i) new_indices[i->second] = next_free_number++; @@ -382,27 +382,27 @@ namespace SparsityTools #ifdef DEAL_II_WITH_MPI template void distribute_sparsity_pattern(CSP_t &csp, - const std::vector &rows_per_cpu, + const std::vector &rows_per_cpu, const MPI_Comm &mpi_comm, const IndexSet &myrange) { - size_type myid = Utilities::MPI::this_mpi_process(mpi_comm); - std::vector start_index(rows_per_cpu.size()+1); + const unsigned int myid = Utilities::MPI::this_mpi_process(mpi_comm); + std::vector start_index(rows_per_cpu.size()+1); start_index[0]=0; - for (size_type i=0; i > map_vec_t; + typedef std::map > map_vec_t; map_vec_t send_data; { unsigned int dest_cpu=0; - size_type n_local_rel_rows = myrange.n_elements(); - for (size_type row_idx=0; row_idx=start_index[dest_cpu+1]) @@ -415,21 +415,21 @@ namespace SparsityTools continue; } - size_type rlen = csp.row_length(row); + typename CSP_t::size_type rlen = csp.row_length(row); //skip empty lines if (!rlen) continue; //save entries - std::vector &dst = send_data[dest_cpu]; + std::vector &dst = send_data[dest_cpu]; dst.push_back(rlen); // number of entries dst.push_back(row); // row index - for (size_type c=0; c send_to; send_to.reserve(send_data.size()); - for (map_vec_t::iterator it=send_data.begin(); it!=send_data.end(); ++it) + for (typename map_vec_t::iterator it=send_data.begin(); it!=send_data.end(); ++it) send_to.push_back(it->first); num_receive = @@ -454,7 +454,7 @@ namespace SparsityTools // send data { unsigned int idx=0; - for (map_vec_t::iterator it=send_data.begin(); it!=send_data.end(); ++it, ++idx) + for (typename map_vec_t::iterator it=send_data.begin(); it!=send_data.end(); ++it, ++idx) MPI_Isend(&(it->second[0]), it->second.size(), DEAL_II_DOF_INDEX_MPI_TYPE, @@ -465,11 +465,11 @@ namespace SparsityTools } //TODO: In the following, we read individual bytes and then reinterpret them -// as size_type objects. this is error prone. use properly typed reads that +// as typename CSP_t::size_type objects. this is error prone. use properly typed reads that // match the write above { //receive - std::vector recv_buf; + std::vector recv_buf; for (unsigned int index=0; index::const_iterator ptr = recv_buf.begin(); - std::vector::const_iterator end = recv_buf.end(); + typename std::vector::const_iterator ptr = recv_buf.begin(); + typename std::vector::const_iterator end = recv_buf.end(); while (ptr+1 > map_vec_t; + typedef std::map > map_vec_t; map_vec_t send_data; { unsigned int dest_cpu=0; - size_type n_local_rel_rows = myrange.n_elements(); - for (size_type row_idx=0; row_idx &dst = send_data[dest_cpu]; + std::vector &dst = send_data[dest_cpu]; dst.push_back(rlen); // number of entries dst.push_back(row); // row index - for (size_type c=0; c send_to; send_to.reserve(send_data.size()); - for (map_vec_t::iterator it=send_data.begin(); it!=send_data.end(); ++it) + for (typename map_vec_t::iterator it=send_data.begin(); it!=send_data.end(); ++it) send_to.push_back(it->first); num_receive = @@ -578,7 +578,7 @@ namespace SparsityTools // send data { unsigned int idx=0; - for (map_vec_t::iterator it=send_data.begin(); it!=send_data.end(); ++it, ++idx) + for (typename map_vec_t::iterator it=send_data.begin(); it!=send_data.end(); ++it, ++idx) MPI_Isend(&(it->second[0]), it->second.size(), DEAL_II_DOF_INDEX_MPI_TYPE, @@ -589,11 +589,11 @@ namespace SparsityTools } //TODO: In the following, we read individual bytes and then reinterpret them -// as size_type objects. this is error prone. use properly typed reads that +// as typename CSP_t::size_type objects. this is error prone. use properly typed reads that // match the write above { //receive - std::vector recv_buf; + std::vector recv_buf; for (unsigned int index=0; index::const_iterator ptr = recv_buf.begin(); - std::vector::const_iterator end = recv_buf.end(); + typename std::vector::const_iterator ptr = recv_buf.begin(); + typename std::vector::const_iterator end = recv_buf.end(); while (ptr+1 (SparsityType & csp, \ - const std::vector & rows_per_cpu,\ + const std::vector & rows_per_cpu,\ const MPI_Comm & mpi_comm,\ const IndexSet & myrange) diff --git a/tests/algorithms/any_data_01.cc b/tests/algorithms/any_data_01.cc index 6f8a3de80c..eb284c9f5c 100644 --- a/tests/algorithms/any_data_01.cc +++ b/tests/algorithms/any_data_01.cc @@ -62,7 +62,11 @@ void extract(const AnyData& data) << d << std::endl << *p2 << std::endl << *p3 << std::endl; - // try + + deallog << *data.try_read(" d 17.") << std::endl + << data.try_read(" d 17.") << std::endl + << data.try_read("does not exist") << std::endl; +// try // { // double* p3a = data.entry("cd* 17."); // deallog << p3a; diff --git a/tests/algorithms/any_data_01.output b/tests/algorithms/any_data_01.output index 0a9f80057e..9e180107c2 100644 --- a/tests/algorithms/any_data_01.output +++ b/tests/algorithms/any_data_01.output @@ -12,3 +12,6 @@ DEAL::7 DEAL::17.0000 DEAL::18.0000 DEAL::18.0000 +DEAL::17.0000 +DEAL::0 +DEAL::0 diff --git a/tests/base/quadrature_sorted_test.cc b/tests/base/quadrature_sorted_test.cc new file mode 100644 index 0000000000..6393b765e1 --- /dev/null +++ b/tests/base/quadrature_sorted_test.cc @@ -0,0 +1,246 @@ +// --------------------------------------------------------------------- +// $Id: quadrature_test.cc 31349 2013-10-20 19:07:06Z maier $ +// +// Copyright (C) 1998 - 2013 by the deal.II authors +// +// This file is part of the deal.II library. +// +// The deal.II library is free software; you can use it, redistribute +// it, and/or modify it under the terms of the GNU Lesser General +// Public License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// The full text of the license can be found in the file LICENSE at +// the top level of the deal.II distribution. +// +// --------------------------------------------------------------------- + + + +// sort quadratures according to weights, and verify that they +// integrate accurately polynomial of increasing order. +// Verify that weights are actually sorted + + +#include "../tests.h" +#include +#include + +#include +#include +#include +#include + +template +void +fill_vector (std::vector *> &quadratures) +{ + quadratures.push_back (new QSorted(QMidpoint())); + quadratures.push_back (new QSorted(QTrapez())); + quadratures.push_back (new QSorted(QSimpson())); + quadratures.push_back (new QSorted(QMilne())); + quadratures.push_back (new QSorted(QWeddle())); + for (unsigned int i=0; i<9; ++i) + { + quadratures.push_back (new QSorted(QGauss(i))); + } + QMilne<1> q1d; + quadratures.push_back (new QSorted(Quadrature(q1d))); + for (unsigned int i=2; i<8; ++i) + { + quadratures.push_back (new QSorted(QGaussLobatto(i))); + } +} + +template +void +check_cells (std::vector*> &quadratures) +{ + Quadrature quadrature; + for (unsigned int n=0; n > &points=quadrature.get_points(); + const std::vector &weights=quadrature.get_weights(); + + deallog << "Quadrature no." << n; + + unsigned int i=0; + double quadrature_int=0; + double exact_int=0; + double err = 0; + + do + { + ++i; + + quadrature_int=0; + // Check the polynomial x^i*y^i + + for (unsigned int x=0; x(points[x](2)), i*1.0); + case 2: + f *= std::pow(static_cast(points[x](1)), i*1.0); + case 1: + f *= std::pow(static_cast(points[x](0)), i*1.0); + } + quadrature_int+=f*weights[x]; + } + + // the exact integral is 1/(i+1) + exact_int=1./std::pow(static_cast(i+1),dim); + err = std::fabs(quadrature_int-exact_int); + } + while (err<1e-14); + // Uncomment here for testing +// deallog << " (Int " << quadrature_int << ',' << exact_int << ")"; + deallog << " is exact for polynomials of degree " << i-1 << std::endl; + } +} + + +template +void +check_faces (const std::vector*>& quadratures, const bool sub) +{ + if (sub) + deallog.push("subfaces"); + else + deallog.push("faces"); + + for (unsigned int n=0; n quadrature (sub == false? + QProjector::project_to_all_faces(*quadratures[n]) : + QProjector::project_to_all_subfaces(*quadratures[n])); + const std::vector > &points=quadrature.get_points(); + const std::vector &weights=quadrature.get_weights(); + + deallog << "Quadrature no." << n; + + unsigned int i=0; + long double quadrature_int=0; + double exact_int=0; + double err = 0; + + do + { + ++i; + + quadrature_int=0; + // Check the polynomial + // x^i*y^i*z^i + + for (unsigned int x=0; x (std::string(SOURCE_DIR "/grid_in_vtk_3d_02.vtk"), GridIn<3>::vtk); +} + + +int main () +{ + deallog << std::setprecision (2); + logfile << std::setprecision (2); + deallog.attach(logfile); + deallog.depth_console(0); + deallog.threshold_double(1.e-10); + + filename_resolution(); +} + diff --git a/tests/deal.II/grid_in_vtk_3d_02.output b/tests/deal.II/grid_in_vtk_3d_02.output new file mode 100644 index 0000000000..d4bc397853 --- /dev/null +++ b/tests/deal.II/grid_in_vtk_3d_02.output @@ -0,0 +1,98 @@ + +DEAL:: 20 4 +0.0 0.0 10. 0 0 +10. 0.0 10. 0 0 +10. 10. 10. 0 0 +0.0 10. 10. 0 0 +0.0 0.0 10. 0 0 + +0.0 0.0 0.0 0 0 +10. 0.0 0.0 0 0 +10. 10. 0.0 0 0 +0.0 10. 0.0 0 0 +0.0 0.0 0.0 0 0 + +0.0 0.0 10. 0 0 +0.0 0.0 0.0 0 0 + +10. 0.0 10. 0 0 +10. 0.0 0.0 0 0 + +10. 10. 10. 0 0 +10. 10. 0.0 0 0 + +0.0 10. 10. 0 0 +0.0 10. 0.0 0 0 + +10. 0.0 10. 0 0 +20. 0.0 10. 0 0 +20. 10. 10. 0 0 +10. 10. 10. 0 0 +10. 0.0 10. 0 0 + +10. 0.0 0.0 0 0 +20. 0.0 0.0 0 0 +20. 10. 0.0 0 0 +10. 10. 0.0 0 0 +10. 0.0 0.0 0 0 + +10. 0.0 10. 0 0 +10. 0.0 0.0 0 0 + +20. 0.0 10. 0 0 +20. 0.0 0.0 0 0 + +20. 10. 10. 0 0 +20. 10. 0.0 0 0 + +10. 10. 10. 0 0 +10. 10. 0.0 0 0 + +10. 10. 10. 0 0 +20. 10. 10. 0 0 +20. 20. 10. 0 0 +10. 20. 10. 0 0 +10. 10. 10. 0 0 + +10. 10. 0.0 0 0 +20. 10. 0.0 0 0 +20. 20. 0.0 0 0 +10. 20. 0.0 0 0 +10. 10. 0.0 0 0 + +10. 10. 10. 0 0 +10. 10. 0.0 0 0 + +20. 10. 10. 0 0 +20. 10. 0.0 0 0 + +20. 20. 10. 0 0 +20. 20. 0.0 0 0 + +10. 20. 10. 0 0 +10. 20. 0.0 0 0 + +20. 10. 10. 0 0 +30. 10. 10. 0 0 +30. 20. 10. 0 0 +20. 20. 10. 0 0 +20. 10. 10. 0 0 + +20. 10. 0.0 0 0 +30. 10. 0.0 0 0 +30. 20. 0.0 0 0 +20. 20. 0.0 0 0 +20. 10. 0.0 0 0 + +20. 10. 10. 0 0 +20. 10. 0.0 0 0 + +30. 10. 10. 0 0 +30. 10. 0.0 0 0 + +30. 20. 10. 0 0 +30. 20. 0.0 0 0 + +20. 20. 10. 0 0 +20. 20. 0.0 0 0 + diff --git a/tests/deal.II/grid_in_vtk_3d_02.vtk b/tests/deal.II/grid_in_vtk_3d_02.vtk new file mode 100644 index 0000000000..8c027c34ea --- /dev/null +++ b/tests/deal.II/grid_in_vtk_3d_02.vtk @@ -0,0 +1,35 @@ +# vtk DataFile Version 3.0 +write mesh on file +ASCII +DATASET UNSTRUCTURED_GRID +POINTS 20 double +0.000000 0.000000 10.000000 +10.000000 0.000000 10.000000 +10.000000 10.000000 10.000000 +0.000000 10.000000 10.000000 +20.000000 0.000000 10.000000 +20.000000 10.000000 10.000000 +30.000000 10.000000 10.000000 +10.000000 20.000000 10.000000 +20.000000 20.000000 10.000000 +30.000000 20.000000 10.000000 +0.000000 0.000000 0.000000 +10.000000 0.000000 0.000000 +10.000000 10.000000 0.000000 +0.000000 10.000000 0.000000 +20.000000 0.000000 0.000000 +20.000000 10.000000 0.000000 +30.000000 10.000000 0.000000 +10.000000 20.000000 0.000000 +20.000000 20.000000 0.000000 +30.000000 20.000000 0.000000 +CELLS 4 36 +8 10 11 12 13 0 1 2 3 +8 11 14 15 12 1 4 5 2 +8 12 15 18 17 2 5 8 7 +8 15 16 19 18 5 6 9 8 +CELL_TYPES 4 +12 +12 +12 +12 diff --git a/tests/deal.II/grid_in_vtk_3d_03.cc b/tests/deal.II/grid_in_vtk_3d_03.cc new file mode 100644 index 0000000000..4b8e053d4a --- /dev/null +++ b/tests/deal.II/grid_in_vtk_3d_03.cc @@ -0,0 +1,71 @@ +// --------------------------------------------------------------------- +// $Id$ +// +// Copyright (C) 2002 - 2014 by the deal.II authors +// +// This file is part of the deal.II library. +// +// The deal.II library is free software; you can use it, redistribute +// it, and/or modify it under the terms of the GNU Lesser General +// Public License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// The full text of the license can be found in the file LICENSE at +// the top level of the deal.II distribution. +// +// --------------------------------------------------------------------- + + +// read a 3d file in the VTK format + +#include "../tests.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +std::ofstream logfile("output"); + + +template +void check_file (const std::string name, + typename GridIn::Format format) +{ + Triangulation tria; + GridIn gi; + gi.attach_triangulation (tria); + gi.read(name, format); + deallog << '\t' << tria.n_vertices() + << '\t' << tria.n_cells() + << std::endl; + + GridOut grid_out; + grid_out.write_gnuplot (tria, deallog.get_file_stream()); +} + +void filename_resolution() +{ + check_file<3> (std::string(SOURCE_DIR "/grid_in_vtk_3d_03.vtk"), GridIn<3>::vtk); +} + + +int main () +{ + deallog << std::setprecision (2); + logfile << std::setprecision (2); + deallog.attach(logfile); + deallog.depth_console(0); + deallog.threshold_double(1.e-10); + + filename_resolution(); +} + diff --git a/tests/deal.II/grid_in_vtk_3d_03.output b/tests/deal.II/grid_in_vtk_3d_03.output new file mode 100644 index 0000000000..2293dc9500 --- /dev/null +++ b/tests/deal.II/grid_in_vtk_3d_03.output @@ -0,0 +1,98 @@ + +DEAL:: 20 4 +0.0 0.0 10. 0 1 +10. 0.0 10. 0 1 +10. 10. 10. 0 1 +0.0 10. 10. 0 1 +0.0 0.0 10. 0 1 + +0.0 0.0 0.0 0 1 +10. 0.0 0.0 0 1 +10. 10. 0.0 0 1 +0.0 10. 0.0 0 1 +0.0 0.0 0.0 0 1 + +0.0 0.0 10. 0 1 +0.0 0.0 0.0 0 1 + +10. 0.0 10. 0 1 +10. 0.0 0.0 0 1 + +10. 10. 10. 0 1 +10. 10. 0.0 0 1 + +0.0 10. 10. 0 1 +0.0 10. 0.0 0 1 + +10. 0.0 10. 0 0 +20. 0.0 10. 0 0 +20. 10. 10. 0 0 +10. 10. 10. 0 0 +10. 0.0 10. 0 0 + +10. 0.0 0.0 0 0 +20. 0.0 0.0 0 0 +20. 10. 0.0 0 0 +10. 10. 0.0 0 0 +10. 0.0 0.0 0 0 + +10. 0.0 10. 0 0 +10. 0.0 0.0 0 0 + +20. 0.0 10. 0 0 +20. 0.0 0.0 0 0 + +20. 10. 10. 0 0 +20. 10. 0.0 0 0 + +10. 10. 10. 0 0 +10. 10. 0.0 0 0 + +10. 10. 10. 0 0 +20. 10. 10. 0 0 +20. 20. 10. 0 0 +10. 20. 10. 0 0 +10. 10. 10. 0 0 + +10. 10. 0.0 0 0 +20. 10. 0.0 0 0 +20. 20. 0.0 0 0 +10. 20. 0.0 0 0 +10. 10. 0.0 0 0 + +10. 10. 10. 0 0 +10. 10. 0.0 0 0 + +20. 10. 10. 0 0 +20. 10. 0.0 0 0 + +20. 20. 10. 0 0 +20. 20. 0.0 0 0 + +10. 20. 10. 0 0 +10. 20. 0.0 0 0 + +20. 10. 10. 0 0 +30. 10. 10. 0 0 +30. 20. 10. 0 0 +20. 20. 10. 0 0 +20. 10. 10. 0 0 + +20. 10. 0.0 0 0 +30. 10. 0.0 0 0 +30. 20. 0.0 0 0 +20. 20. 0.0 0 0 +20. 10. 0.0 0 0 + +20. 10. 10. 0 0 +20. 10. 0.0 0 0 + +30. 10. 10. 0 0 +30. 10. 0.0 0 0 + +30. 20. 10. 0 0 +30. 20. 0.0 0 0 + +20. 20. 10. 0 0 +20. 20. 0.0 0 0 + diff --git a/tests/deal.II/grid_in_vtk_3d_03.vtk b/tests/deal.II/grid_in_vtk_3d_03.vtk new file mode 100644 index 0000000000..eda6a1af1e --- /dev/null +++ b/tests/deal.II/grid_in_vtk_3d_03.vtk @@ -0,0 +1,42 @@ +# vtk DataFile Version 3.0 +write mesh on file +ASCII +DATASET UNSTRUCTURED_GRID +POINTS 20 double +0.000000 0.000000 10.000000 +10.000000 0.000000 10.000000 +10.000000 10.000000 10.000000 +0.000000 10.000000 10.000000 +20.000000 0.000000 10.000000 +20.000000 10.000000 10.000000 +30.000000 10.000000 10.000000 +10.000000 20.000000 10.000000 +20.000000 20.000000 10.000000 +30.000000 20.000000 10.000000 +0.000000 0.000000 0.000000 +10.000000 0.000000 0.000000 +10.000000 10.000000 0.000000 +0.000000 10.000000 0.000000 +20.000000 0.000000 0.000000 +20.000000 10.000000 0.000000 +30.000000 10.000000 0.000000 +10.000000 20.000000 0.000000 +20.000000 20.000000 0.000000 +30.000000 20.000000 0.000000 +CELLS 4 36 +8 10 11 12 13 0 1 2 3 +8 11 14 15 12 1 4 5 2 +8 12 15 18 17 2 5 8 7 +8 15 16 19 18 5 6 9 8 +CELL_TYPES 4 +12 +12 +12 +12 +CELL_DATA 4 +SCALARS MaterialID double 1 +LOOKUP_TABLE default +1.000000 +2.000000 +3.000000 +4.000000 diff --git a/tests/fe/fe_data_test.cc b/tests/fe/fe_data_test.cc index a9e16506a1..d554c5cb35 100644 --- a/tests/fe/fe_data_test.cc +++ b/tests/fe/fe_data_test.cc @@ -21,6 +21,7 @@ #include #include +#include #include #include @@ -112,6 +113,10 @@ void test_fe_datas() deallog << (*fe_datas.rbegin())->get_name() << std::endl; fe_datas.push_back(new FE_DGQ (4)); deallog << (*fe_datas.rbegin())->get_name() << std::endl; + fe_datas.push_back(new FE_DGQArbitraryNodes (QGaussLobatto<1>(5))); + deallog << (*fe_datas.rbegin())->get_name() << std::endl; + fe_datas.push_back(new FE_DGQArbitraryNodes (QGauss<1>(3))); + deallog << (*fe_datas.rbegin())->get_name() << std::endl; fe_datas.push_back(new FE_DGP (1)); deallog << (*fe_datas.rbegin())->get_name() << std::endl; fe_datas.push_back(new FE_DGP (2)); diff --git a/tests/fe/fe_data_test.output b/tests/fe/fe_data_test.output index f99beab9f4..b3cdb29e7c 100644 --- a/tests/fe/fe_data_test.output +++ b/tests/fe/fe_data_test.output @@ -8,6 +8,8 @@ DEAL::FE_Q_Hierarchical<1>(4) DEAL::FE_DGQ<1>(1) DEAL::FE_DGQ<1>(2) DEAL::FE_DGQ<1>(4) +DEAL::FE_DGQArbitraryNodes<1>(QGaussLobatto(5)) +DEAL::FE_DGQArbitraryNodes<1>(QUnknownNodes(2)) DEAL::FE_DGP<1>(1) DEAL::FE_DGP<1>(2) DEAL::FESystem<1>[FE_Q<1>(2)^2] @@ -270,7 +272,61 @@ DEAL::face_to_cell_index: DEAL::support on face 0: 0 DEAL::support on face 1: 4 DEAL:: -DEAL::fe_data[9]:FE_DGP<1>(1) +DEAL::fe_data[9]:FE_DGQArbitraryNodes<1>(QGaussLobatto(5)) +DEAL::dofs_per_vertex=0 +DEAL::dofs_per_line=5 +DEAL::dofs_per_quad=0 +DEAL::dofs_per_hex=0 +DEAL::first_line_index=0 +DEAL::first_quad_index=5 +DEAL::first_hex_index=5 +DEAL::first_face_line_index=0 +DEAL::first_face_quad_index=0 +DEAL::dofs_per_face=0 +DEAL::dofs_per_cell=5 +DEAL::primitive=yes +DEAL::components=1 +DEAL::blocks=1:[5]->5 +DEAL::degree=4 +DEAL::conformity= L2 +DEAL::unit_support_points=5 +DEAL::unit_face_support_points=0 +DEAL::generalized_support_points=5 +DEAL::generalized_face_support_points=0 +DEAL::face_to_equivalent_cell_index: +DEAL::face_to_cell_index: +DEAL::face_to_cell_index: +DEAL::support on face 0: 0 +DEAL::support on face 1: 4 +DEAL:: +DEAL::fe_data[10]:FE_DGQArbitraryNodes<1>(QUnknownNodes(2)) +DEAL::dofs_per_vertex=0 +DEAL::dofs_per_line=3 +DEAL::dofs_per_quad=0 +DEAL::dofs_per_hex=0 +DEAL::first_line_index=0 +DEAL::first_quad_index=3 +DEAL::first_hex_index=3 +DEAL::first_face_line_index=0 +DEAL::first_face_quad_index=0 +DEAL::dofs_per_face=0 +DEAL::dofs_per_cell=3 +DEAL::primitive=yes +DEAL::components=1 +DEAL::blocks=1:[3]->3 +DEAL::degree=2 +DEAL::conformity= L2 +DEAL::unit_support_points=3 +DEAL::unit_face_support_points=0 +DEAL::generalized_support_points=3 +DEAL::generalized_face_support_points=0 +DEAL::face_to_equivalent_cell_index: +DEAL::face_to_cell_index: +DEAL::face_to_cell_index: +DEAL::support on face 0: 0 1 2 +DEAL::support on face 1: 0 1 2 +DEAL:: +DEAL::fe_data[11]:FE_DGP<1>(1) DEAL::dofs_per_vertex=0 DEAL::dofs_per_line=2 DEAL::dofs_per_quad=0 @@ -297,7 +353,7 @@ DEAL::face_to_cell_index: DEAL::support on face 0: 0 1 DEAL::support on face 1: 0 1 DEAL:: -DEAL::fe_data[10]:FE_DGP<1>(2) +DEAL::fe_data[12]:FE_DGP<1>(2) DEAL::dofs_per_vertex=0 DEAL::dofs_per_line=3 DEAL::dofs_per_quad=0 @@ -324,7 +380,7 @@ DEAL::face_to_cell_index: DEAL::support on face 0: 0 1 2 DEAL::support on face 1: 0 1 2 DEAL:: -DEAL::fe_data[11]:FESystem<1>[FE_Q<1>(2)^2] +DEAL::fe_data[13]:FESystem<1>[FE_Q<1>(2)^2] DEAL::dofs_per_vertex=2 DEAL::dofs_per_line=2 DEAL::dofs_per_quad=0 @@ -351,7 +407,7 @@ DEAL::face_to_cell_index: 2 3 DEAL::support on face 0: 0 1 DEAL::support on face 1: 2 3 DEAL:: -DEAL::fe_data[12]:FESystem<1>[FE_Q<1>(1)^2-FE_Q<1>(2)] +DEAL::fe_data[14]:FESystem<1>[FE_Q<1>(1)^2-FE_Q<1>(2)] DEAL::dofs_per_vertex=3 DEAL::dofs_per_line=1 DEAL::dofs_per_quad=0 @@ -378,7 +434,7 @@ DEAL::face_to_cell_index: 3 4 5 DEAL::support on face 0: 0 1 2 DEAL::support on face 1: 3 4 5 DEAL:: -DEAL::fe_data[13]:FE_FaceQ<1>(0) +DEAL::fe_data[15]:FE_FaceQ<1>(0) DEAL::dofs_per_vertex=1 DEAL::dofs_per_line=0 DEAL::dofs_per_quad=0 @@ -405,7 +461,7 @@ DEAL::face_to_cell_index: 1 DEAL::support on face 0: 0 DEAL::support on face 1: 1 DEAL:: -DEAL::fe_data[14]:FE_FaceQ<1>(1) +DEAL::fe_data[16]:FE_FaceQ<1>(1) DEAL::dofs_per_vertex=1 DEAL::dofs_per_line=0 DEAL::dofs_per_quad=0 @@ -432,7 +488,7 @@ DEAL::face_to_cell_index: 1 DEAL::support on face 0: 0 DEAL::support on face 1: 1 DEAL:: -DEAL::fe_data[15]:FE_FaceQ<1>(3) +DEAL::fe_data[17]:FE_FaceQ<1>(3) DEAL::dofs_per_vertex=1 DEAL::dofs_per_line=0 DEAL::dofs_per_quad=0 @@ -459,7 +515,7 @@ DEAL::face_to_cell_index: 1 DEAL::support on face 0: 0 DEAL::support on face 1: 1 DEAL:: -DEAL::fe_data[16]:FE_FaceP<1>(0) +DEAL::fe_data[18]:FE_FaceP<1>(0) DEAL::dofs_per_vertex=1 DEAL::dofs_per_line=0 DEAL::dofs_per_quad=0 @@ -486,7 +542,7 @@ DEAL::face_to_cell_index: 1 DEAL::support on face 0: 0 DEAL::support on face 1: 1 DEAL:: -DEAL::fe_data[17]:FE_FaceP<1>(1) +DEAL::fe_data[19]:FE_FaceP<1>(1) DEAL::dofs_per_vertex=1 DEAL::dofs_per_line=0 DEAL::dofs_per_quad=0 @@ -513,7 +569,7 @@ DEAL::face_to_cell_index: 1 DEAL::support on face 0: 0 DEAL::support on face 1: 1 DEAL:: -DEAL::fe_data[18]:FE_FaceP<1>(3) +DEAL::fe_data[20]:FE_FaceP<1>(3) DEAL::dofs_per_vertex=1 DEAL::dofs_per_line=0 DEAL::dofs_per_quad=0 @@ -540,7 +596,7 @@ DEAL::face_to_cell_index: 1 DEAL::support on face 0: 0 DEAL::support on face 1: 1 DEAL:: -DEAL::fe_data[19]:FESystem<1>[FE_Q<1>(3)^2] +DEAL::fe_data[21]:FESystem<1>[FE_Q<1>(3)^2] DEAL::dofs_per_vertex=2 DEAL::dofs_per_line=4 DEAL::dofs_per_quad=0 @@ -567,7 +623,7 @@ DEAL::face_to_cell_index: 2 3 DEAL::support on face 0: 0 1 DEAL::support on face 1: 2 3 DEAL:: -DEAL::fe_data[20]:FESystem<1>[FE_Q<1>(1)^2-FE_Q<1>(3)] +DEAL::fe_data[22]:FESystem<1>[FE_Q<1>(1)^2-FE_Q<1>(3)] DEAL::dofs_per_vertex=3 DEAL::dofs_per_line=2 DEAL::dofs_per_quad=0 @@ -594,7 +650,7 @@ DEAL::face_to_cell_index: 3 4 5 DEAL::support on face 0: 0 1 2 DEAL::support on face 1: 3 4 5 DEAL:: -DEAL::fe_data[21]:FESystem<1>[FE_Q<1>(4)^2] +DEAL::fe_data[23]:FESystem<1>[FE_Q<1>(4)^2] DEAL::dofs_per_vertex=2 DEAL::dofs_per_line=6 DEAL::dofs_per_quad=0 @@ -621,7 +677,7 @@ DEAL::face_to_cell_index: 2 3 DEAL::support on face 0: 0 1 DEAL::support on face 1: 2 3 DEAL:: -DEAL::fe_data[22]:FESystem<1>[FESystem<1>[FE_Q<1>(1)^2]^2] +DEAL::fe_data[24]:FESystem<1>[FESystem<1>[FE_Q<1>(1)^2]^2] DEAL::dofs_per_vertex=4 DEAL::dofs_per_line=0 DEAL::dofs_per_quad=0 @@ -648,7 +704,7 @@ DEAL::face_to_cell_index: 4 5 6 7 DEAL::support on face 0: 0 1 2 3 DEAL::support on face 1: 4 5 6 7 DEAL:: -DEAL::fe_data[23]:FESystem<1>[FESystem<1>[FE_Q<1>(1)^2]-FESystem<1>[FE_DGQ<1>(1)^2]] +DEAL::fe_data[25]:FESystem<1>[FESystem<1>[FE_Q<1>(1)^2]-FESystem<1>[FE_DGQ<1>(1)^2]] DEAL::dofs_per_vertex=2 DEAL::dofs_per_line=4 DEAL::dofs_per_quad=0 @@ -675,7 +731,7 @@ DEAL::face_to_cell_index: 2 3 DEAL::support on face 0: 0 1 4 6 DEAL::support on face 1: 2 3 5 7 DEAL:: -DEAL::fe_data[24]:FESystem<1>[FESystem<1>[FE_Q<1>(1)-FE_Q<1>(2)]-FESystem<1>[FE_Q<1>(2)^2]-FESystem<1>[FE_DGQ<1>(2)^2]] +DEAL::fe_data[26]:FESystem<1>[FESystem<1>[FE_Q<1>(1)-FE_Q<1>(2)]-FESystem<1>[FE_Q<1>(2)^2]-FESystem<1>[FE_DGQ<1>(2)^2]] DEAL::dofs_per_vertex=4 DEAL::dofs_per_line=9 DEAL::dofs_per_quad=0 @@ -702,7 +758,7 @@ DEAL::face_to_cell_index: 4 5 6 7 DEAL::support on face 0: 0 1 2 3 11 14 DEAL::support on face 1: 4 5 6 7 13 16 DEAL:: -DEAL::fe_data[25]:FESystem<1>[FESystem<1>[FESystem<1>[FE_Q<1>(1)^2]^2]^2-FESystem<1>[FESystem<1>[FE_Q<1>(1)^2]-FESystem<1>[FE_DGQ<1>(1)^2]]-FESystem<1>[FESystem<1>[FE_Q<1>(1)-FE_Q<1>(2)]-FESystem<1>[FE_Q<1>(2)^2]-FESystem<1>[FE_DGQ<1>(2)^2]]^2] +DEAL::fe_data[27]:FESystem<1>[FESystem<1>[FESystem<1>[FE_Q<1>(1)^2]^2]^2-FESystem<1>[FESystem<1>[FE_Q<1>(1)^2]-FESystem<1>[FE_DGQ<1>(1)^2]]-FESystem<1>[FESystem<1>[FE_Q<1>(1)-FE_Q<1>(2)]-FESystem<1>[FE_Q<1>(2)^2]-FESystem<1>[FE_DGQ<1>(2)^2]]^2] DEAL::dofs_per_vertex=18 DEAL::dofs_per_line=22 DEAL::dofs_per_quad=0 @@ -738,6 +794,8 @@ DEAL::FE_Q_Hierarchical<2>(4) DEAL::FE_DGQ<2>(1) DEAL::FE_DGQ<2>(2) DEAL::FE_DGQ<2>(4) +DEAL::FE_DGQArbitraryNodes<2>(QGaussLobatto(5)) +DEAL::FE_DGQArbitraryNodes<2>(QUnknownNodes(2)) DEAL::FE_DGP<2>(1) DEAL::FE_DGP<2>(2) DEAL::FESystem<2>[FE_Q<2>(2)^2] @@ -1053,7 +1111,69 @@ DEAL::support on face 1: 4 9 14 19 24 DEAL::support on face 2: 0 1 2 3 4 DEAL::support on face 3: 20 21 22 23 24 DEAL:: -DEAL::fe_data[9]:FE_DGP<2>(1) +DEAL::fe_data[9]:FE_DGQArbitraryNodes<2>(QGaussLobatto(5)) +DEAL::dofs_per_vertex=0 +DEAL::dofs_per_line=0 +DEAL::dofs_per_quad=25 +DEAL::dofs_per_hex=0 +DEAL::first_line_index=0 +DEAL::first_quad_index=0 +DEAL::first_hex_index=25 +DEAL::first_face_line_index=0 +DEAL::first_face_quad_index=0 +DEAL::dofs_per_face=0 +DEAL::dofs_per_cell=25 +DEAL::primitive=yes +DEAL::components=1 +DEAL::blocks=1:[25]->25 +DEAL::degree=4 +DEAL::conformity= L2 +DEAL::unit_support_points=25 +DEAL::unit_face_support_points=0 +DEAL::generalized_support_points=25 +DEAL::generalized_face_support_points=0 +DEAL::face_to_equivalent_cell_index: +DEAL::face_to_cell_index: +DEAL::face_to_cell_index: +DEAL::face_to_cell_index: +DEAL::face_to_cell_index: +DEAL::support on face 0: 0 5 10 15 20 +DEAL::support on face 1: 4 9 14 19 24 +DEAL::support on face 2: 0 1 2 3 4 +DEAL::support on face 3: 20 21 22 23 24 +DEAL:: +DEAL::fe_data[10]:FE_DGQArbitraryNodes<2>(QUnknownNodes(2)) +DEAL::dofs_per_vertex=0 +DEAL::dofs_per_line=0 +DEAL::dofs_per_quad=9 +DEAL::dofs_per_hex=0 +DEAL::first_line_index=0 +DEAL::first_quad_index=0 +DEAL::first_hex_index=9 +DEAL::first_face_line_index=0 +DEAL::first_face_quad_index=0 +DEAL::dofs_per_face=0 +DEAL::dofs_per_cell=9 +DEAL::primitive=yes +DEAL::components=1 +DEAL::blocks=1:[9]->9 +DEAL::degree=2 +DEAL::conformity= L2 +DEAL::unit_support_points=9 +DEAL::unit_face_support_points=0 +DEAL::generalized_support_points=9 +DEAL::generalized_face_support_points=0 +DEAL::face_to_equivalent_cell_index: +DEAL::face_to_cell_index: +DEAL::face_to_cell_index: +DEAL::face_to_cell_index: +DEAL::face_to_cell_index: +DEAL::support on face 0: 0 1 2 3 4 5 6 7 8 +DEAL::support on face 1: 0 1 2 3 4 5 6 7 8 +DEAL::support on face 2: 0 1 2 3 4 5 6 7 8 +DEAL::support on face 3: 0 1 2 3 4 5 6 7 8 +DEAL:: +DEAL::fe_data[11]:FE_DGP<2>(1) DEAL::dofs_per_vertex=0 DEAL::dofs_per_line=0 DEAL::dofs_per_quad=3 @@ -1084,7 +1204,7 @@ DEAL::support on face 1: 0 1 2 DEAL::support on face 2: 0 1 2 DEAL::support on face 3: 0 1 2 DEAL:: -DEAL::fe_data[10]:FE_DGP<2>(2) +DEAL::fe_data[12]:FE_DGP<2>(2) DEAL::dofs_per_vertex=0 DEAL::dofs_per_line=0 DEAL::dofs_per_quad=6 @@ -1115,7 +1235,7 @@ DEAL::support on face 1: 0 1 2 3 4 5 DEAL::support on face 2: 0 1 2 3 4 5 DEAL::support on face 3: 0 1 2 3 4 5 DEAL:: -DEAL::fe_data[11]:FESystem<2>[FE_Q<2>(2)^2] +DEAL::fe_data[13]:FESystem<2>[FE_Q<2>(2)^2] DEAL::dofs_per_vertex=2 DEAL::dofs_per_line=2 DEAL::dofs_per_quad=2 @@ -1146,7 +1266,7 @@ DEAL::support on face 1: 2 3 6 7 10 11 DEAL::support on face 2: 0 1 2 3 12 13 DEAL::support on face 3: 4 5 6 7 14 15 DEAL:: -DEAL::fe_data[12]:FESystem<2>[FE_Q<2>(1)^2-FE_Q<2>(2)] +DEAL::fe_data[14]:FESystem<2>[FE_Q<2>(1)^2-FE_Q<2>(2)] DEAL::dofs_per_vertex=3 DEAL::dofs_per_line=1 DEAL::dofs_per_quad=1 @@ -1177,7 +1297,7 @@ DEAL::support on face 1: 3 4 5 9 10 11 13 DEAL::support on face 2: 0 1 2 3 4 5 14 DEAL::support on face 3: 6 7 8 9 10 11 15 DEAL:: -DEAL::fe_data[13]:FE_FaceQ<2>(0) +DEAL::fe_data[15]:FE_FaceQ<2>(0) DEAL::dofs_per_vertex=0 DEAL::dofs_per_line=1 DEAL::dofs_per_quad=0 @@ -1208,7 +1328,7 @@ DEAL::support on face 1: 1 DEAL::support on face 2: 2 DEAL::support on face 3: 3 DEAL:: -DEAL::fe_data[14]:FE_FaceQ<2>(1) +DEAL::fe_data[16]:FE_FaceQ<2>(1) DEAL::dofs_per_vertex=0 DEAL::dofs_per_line=2 DEAL::dofs_per_quad=0 @@ -1239,7 +1359,7 @@ DEAL::support on face 1: 2 3 DEAL::support on face 2: 4 5 DEAL::support on face 3: 6 7 DEAL:: -DEAL::fe_data[15]:FE_FaceQ<2>(3) +DEAL::fe_data[17]:FE_FaceQ<2>(3) DEAL::dofs_per_vertex=0 DEAL::dofs_per_line=4 DEAL::dofs_per_quad=0 @@ -1270,7 +1390,7 @@ DEAL::support on face 1: 4 5 6 7 DEAL::support on face 2: 8 9 10 11 DEAL::support on face 3: 12 13 14 15 DEAL:: -DEAL::fe_data[16]:FE_FaceP<2>(0) +DEAL::fe_data[18]:FE_FaceP<2>(0) DEAL::dofs_per_vertex=0 DEAL::dofs_per_line=1 DEAL::dofs_per_quad=0 @@ -1301,7 +1421,7 @@ DEAL::support on face 1: 1 DEAL::support on face 2: 2 DEAL::support on face 3: 3 DEAL:: -DEAL::fe_data[17]:FE_FaceP<2>(1) +DEAL::fe_data[19]:FE_FaceP<2>(1) DEAL::dofs_per_vertex=0 DEAL::dofs_per_line=2 DEAL::dofs_per_quad=0 @@ -1332,7 +1452,7 @@ DEAL::support on face 1: 2 3 DEAL::support on face 2: 4 5 DEAL::support on face 3: 6 7 DEAL:: -DEAL::fe_data[18]:FE_FaceP<2>(3) +DEAL::fe_data[20]:FE_FaceP<2>(3) DEAL::dofs_per_vertex=0 DEAL::dofs_per_line=4 DEAL::dofs_per_quad=0 @@ -1363,7 +1483,7 @@ DEAL::support on face 1: 4 5 6 7 DEAL::support on face 2: 8 9 10 11 DEAL::support on face 3: 12 13 14 15 DEAL:: -DEAL::fe_data[19]:FE_DGRaviartThomas<2,2>(0) +DEAL::fe_data[21]:FE_DGRaviartThomas<2,2>(0) DEAL::dofs_per_vertex=0 DEAL::dofs_per_line=0 DEAL::dofs_per_quad=4 @@ -1394,7 +1514,7 @@ DEAL::support on face 1: 0 1 2 3 DEAL::support on face 2: 0 1 2 3 DEAL::support on face 3: 0 1 2 3 DEAL:: -DEAL::fe_data[20]:FE_DGRaviartThomas<2,2>(1) +DEAL::fe_data[22]:FE_DGRaviartThomas<2,2>(1) DEAL::dofs_per_vertex=0 DEAL::dofs_per_line=0 DEAL::dofs_per_quad=12 @@ -1425,7 +1545,7 @@ DEAL::support on face 1: 0 1 2 3 4 5 6 7 8 9 10 11 DEAL::support on face 2: 0 1 2 3 4 5 6 7 8 9 10 11 DEAL::support on face 3: 0 1 2 3 4 5 6 7 8 9 10 11 DEAL:: -DEAL::fe_data[21]:FE_DGNedelec<2,2>(0) +DEAL::fe_data[23]:FE_DGNedelec<2,2>(0) DEAL::dofs_per_vertex=0 DEAL::dofs_per_line=0 DEAL::dofs_per_quad=4 @@ -1456,7 +1576,7 @@ DEAL::support on face 1: 0 1 2 3 DEAL::support on face 2: 0 1 2 3 DEAL::support on face 3: 0 1 2 3 DEAL:: -DEAL::fe_data[22]:FE_DGNedelec<2,2>(1) +DEAL::fe_data[24]:FE_DGNedelec<2,2>(1) DEAL::dofs_per_vertex=0 DEAL::dofs_per_line=0 DEAL::dofs_per_quad=12 @@ -1487,7 +1607,7 @@ DEAL::support on face 1: 0 1 2 3 4 5 6 7 8 9 10 11 DEAL::support on face 2: 0 1 2 3 4 5 6 7 8 9 10 11 DEAL::support on face 3: 0 1 2 3 4 5 6 7 8 9 10 11 DEAL:: -DEAL::fe_data[23]:FE_RaviartThomas<2>(0) +DEAL::fe_data[25]:FE_RaviartThomas<2>(0) DEAL::dofs_per_vertex=0 DEAL::dofs_per_line=1 DEAL::dofs_per_quad=0 @@ -1518,7 +1638,7 @@ DEAL::support on face 1: 1 2 3 DEAL::support on face 2: 0 1 2 DEAL::support on face 3: 0 1 3 DEAL:: -DEAL::fe_data[24]:FE_RaviartThomas<2>(1) +DEAL::fe_data[26]:FE_RaviartThomas<2>(1) DEAL::dofs_per_vertex=0 DEAL::dofs_per_line=2 DEAL::dofs_per_quad=4 @@ -1549,7 +1669,7 @@ DEAL::support on face 1: 0 1 2 3 4 5 6 7 8 9 10 11 DEAL::support on face 2: 0 1 2 3 4 5 6 7 8 9 10 11 DEAL::support on face 3: 0 1 2 3 4 5 6 7 8 9 10 11 DEAL:: -DEAL::fe_data[25]:FE_RaviartThomas<2>(2) +DEAL::fe_data[27]:FE_RaviartThomas<2>(2) DEAL::dofs_per_vertex=0 DEAL::dofs_per_line=3 DEAL::dofs_per_quad=12 @@ -1580,7 +1700,7 @@ DEAL::support on face 1: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 DEAL::support on face 2: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 DEAL::support on face 3: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 DEAL:: -DEAL::fe_data[26]:FESystem<2>[FE_RaviartThomas<2>(1)-FE_DGQ<2>(1)] +DEAL::fe_data[28]:FESystem<2>[FE_RaviartThomas<2>(1)-FE_DGQ<2>(1)] DEAL::dofs_per_vertex=0 DEAL::dofs_per_line=2 DEAL::dofs_per_quad=8 @@ -1611,7 +1731,7 @@ DEAL::support on face 1: 0 1 2 3 4 5 6 7 8 9 10 11 13 15 DEAL::support on face 2: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 DEAL::support on face 3: 0 1 2 3 4 5 6 7 8 9 10 11 14 15 DEAL:: -DEAL::fe_data[27]:FE_Nedelec<2>(0) +DEAL::fe_data[29]:FE_Nedelec<2>(0) DEAL::dofs_per_vertex=0 DEAL::dofs_per_line=1 DEAL::dofs_per_quad=0 @@ -1642,7 +1762,7 @@ DEAL::support on face 1: 1 2 3 DEAL::support on face 2: 0 1 2 DEAL::support on face 3: 0 1 3 DEAL:: -DEAL::fe_data[28]:FE_Nedelec<2>(1) +DEAL::fe_data[30]:FE_Nedelec<2>(1) DEAL::dofs_per_vertex=0 DEAL::dofs_per_line=2 DEAL::dofs_per_quad=4 @@ -1673,7 +1793,7 @@ DEAL::support on face 1: 2 3 4 5 6 7 DEAL::support on face 2: 0 1 2 3 4 5 DEAL::support on face 3: 0 1 2 3 6 7 8 9 10 11 DEAL:: -DEAL::fe_data[29]:FE_DGBDM<2,2>(1) +DEAL::fe_data[31]:FE_DGBDM<2,2>(1) DEAL::dofs_per_vertex=0 DEAL::dofs_per_line=0 DEAL::dofs_per_quad=8 @@ -1704,7 +1824,7 @@ DEAL::support on face 1: 0 1 2 3 4 5 6 7 DEAL::support on face 2: 0 1 2 3 4 5 6 7 DEAL::support on face 3: 0 1 2 3 4 5 6 7 DEAL:: -DEAL::fe_data[30]:FE_DGBDM<2,2>(2) +DEAL::fe_data[32]:FE_DGBDM<2,2>(2) DEAL::dofs_per_vertex=0 DEAL::dofs_per_line=0 DEAL::dofs_per_quad=14 @@ -1735,7 +1855,7 @@ DEAL::support on face 1: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 DEAL::support on face 2: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 DEAL::support on face 3: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 DEAL:: -DEAL::fe_data[31]:FE_BDM<2>(1) +DEAL::fe_data[33]:FE_BDM<2>(1) DEAL::dofs_per_vertex=0 DEAL::dofs_per_line=2 DEAL::dofs_per_quad=0 @@ -1766,7 +1886,7 @@ DEAL::support on face 1: 0 1 2 3 4 5 6 7 DEAL::support on face 2: 0 1 2 3 4 5 6 7 DEAL::support on face 3: 0 1 2 3 4 5 6 7 DEAL:: -DEAL::fe_data[32]:FE_BDM<2>(2) +DEAL::fe_data[34]:FE_BDM<2>(2) DEAL::dofs_per_vertex=0 DEAL::dofs_per_line=3 DEAL::dofs_per_quad=2 @@ -1797,7 +1917,7 @@ DEAL::support on face 1: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 DEAL::support on face 2: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 DEAL::support on face 3: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 DEAL:: -DEAL::fe_data[33]:FE_RaviartThomasNodal<2>(0) +DEAL::fe_data[35]:FE_RaviartThomasNodal<2>(0) DEAL::dofs_per_vertex=0 DEAL::dofs_per_line=1 DEAL::dofs_per_quad=0 @@ -1828,7 +1948,7 @@ DEAL::support on face 1: 1 2 3 DEAL::support on face 2: 0 1 2 DEAL::support on face 3: 0 1 3 DEAL:: -DEAL::fe_data[34]:FE_RaviartThomasNodal<2>(1) +DEAL::fe_data[36]:FE_RaviartThomasNodal<2>(1) DEAL::dofs_per_vertex=0 DEAL::dofs_per_line=2 DEAL::dofs_per_quad=4 @@ -1859,7 +1979,7 @@ DEAL::support on face 1: 2 3 4 5 6 7 8 9 10 11 DEAL::support on face 2: 0 1 2 3 4 5 8 9 10 11 DEAL::support on face 3: 0 1 2 3 6 7 8 9 10 11 DEAL:: -DEAL::fe_data[35]:FESystem<2>[FE_RaviartThomasNodal<2>(1)-FE_DGQ<2>(1)] +DEAL::fe_data[37]:FESystem<2>[FE_RaviartThomasNodal<2>(1)-FE_DGQ<2>(1)] DEAL::dofs_per_vertex=0 DEAL::dofs_per_line=2 DEAL::dofs_per_quad=8 @@ -1890,7 +2010,7 @@ DEAL::support on face 1: 2 3 4 5 6 7 8 9 10 11 13 15 DEAL::support on face 2: 0 1 2 3 4 5 8 9 10 11 12 13 DEAL::support on face 3: 0 1 2 3 6 7 8 9 10 11 14 15 DEAL:: -DEAL::fe_data[36]:FESystem<2>[FE_Q<2>(3)^2] +DEAL::fe_data[38]:FESystem<2>[FE_Q<2>(3)^2] DEAL::dofs_per_vertex=2 DEAL::dofs_per_line=4 DEAL::dofs_per_quad=8 @@ -1921,7 +2041,7 @@ DEAL::support on face 1: 2 3 6 7 12 13 14 15 DEAL::support on face 2: 0 1 2 3 16 17 18 19 DEAL::support on face 3: 4 5 6 7 20 21 22 23 DEAL:: -DEAL::fe_data[37]:FESystem<2>[FE_Q<2>(1)^2-FE_Q<2>(3)] +DEAL::fe_data[39]:FESystem<2>[FE_Q<2>(1)^2-FE_Q<2>(3)] DEAL::dofs_per_vertex=3 DEAL::dofs_per_line=2 DEAL::dofs_per_quad=4 @@ -1952,7 +2072,7 @@ DEAL::support on face 1: 3 4 5 9 10 11 14 15 DEAL::support on face 2: 0 1 2 3 4 5 16 17 DEAL::support on face 3: 6 7 8 9 10 11 18 19 DEAL:: -DEAL::fe_data[38]:FESystem<2>[FE_Q<2>(4)^2] +DEAL::fe_data[40]:FESystem<2>[FE_Q<2>(4)^2] DEAL::dofs_per_vertex=2 DEAL::dofs_per_line=6 DEAL::dofs_per_quad=18 @@ -1983,7 +2103,7 @@ DEAL::support on face 1: 2 3 6 7 14 15 16 17 18 19 DEAL::support on face 2: 0 1 2 3 20 21 22 23 24 25 DEAL::support on face 3: 4 5 6 7 26 27 28 29 30 31 DEAL:: -DEAL::fe_data[39]:FESystem<2>[FESystem<2>[FE_Q<2>(1)^2]^2] +DEAL::fe_data[41]:FESystem<2>[FESystem<2>[FE_Q<2>(1)^2]^2] DEAL::dofs_per_vertex=4 DEAL::dofs_per_line=0 DEAL::dofs_per_quad=0 @@ -2014,7 +2134,7 @@ DEAL::support on face 1: 4 5 6 7 12 13 14 15 DEAL::support on face 2: 0 1 2 3 4 5 6 7 DEAL::support on face 3: 8 9 10 11 12 13 14 15 DEAL:: -DEAL::fe_data[40]:FESystem<2>[FESystem<2>[FE_Q<2>(1)^2]-FESystem<2>[FE_DGQ<2>(1)^2]] +DEAL::fe_data[42]:FESystem<2>[FESystem<2>[FE_Q<2>(1)^2]-FESystem<2>[FE_DGQ<2>(1)^2]] DEAL::dofs_per_vertex=2 DEAL::dofs_per_line=0 DEAL::dofs_per_quad=8 @@ -2045,7 +2165,7 @@ DEAL::support on face 1: 2 3 6 7 9 11 13 15 DEAL::support on face 2: 0 1 2 3 8 9 12 13 DEAL::support on face 3: 4 5 6 7 10 11 14 15 DEAL:: -DEAL::fe_data[41]:FESystem<2>[FESystem<2>[FE_Q<2>(1)-FE_Q<2>(2)]-FESystem<2>[FE_Q<2>(2)^2]-FESystem<2>[FE_DGQ<2>(2)^2]] +DEAL::fe_data[43]:FESystem<2>[FESystem<2>[FE_Q<2>(1)-FE_Q<2>(2)]-FESystem<2>[FE_Q<2>(2)^2]-FESystem<2>[FE_DGQ<2>(2)^2]] DEAL::dofs_per_vertex=4 DEAL::dofs_per_line=3 DEAL::dofs_per_quad=21 @@ -2076,7 +2196,7 @@ DEAL::support on face 1: 4 5 6 7 12 13 14 15 19 20 21 33 36 39 42 45 48 DEAL::support on face 2: 0 1 2 3 4 5 6 7 22 23 24 31 32 33 40 41 42 DEAL::support on face 3: 8 9 10 11 12 13 14 15 25 26 27 37 38 39 46 47 48 DEAL:: -DEAL::fe_data[42]:FESystem<2>[FESystem<2>[FESystem<2>[FE_Q<2>(1)^2]^2]^2-FESystem<2>[FESystem<2>[FE_Q<2>(1)^2]-FESystem<2>[FE_DGQ<2>(1)^2]]-FESystem<2>[FESystem<2>[FE_Q<2>(1)-FE_Q<2>(2)]-FESystem<2>[FE_Q<2>(2)^2]-FESystem<2>[FE_DGQ<2>(2)^2]]^2] +DEAL::fe_data[44]:FESystem<2>[FESystem<2>[FESystem<2>[FE_Q<2>(1)^2]^2]^2-FESystem<2>[FESystem<2>[FE_Q<2>(1)^2]-FESystem<2>[FE_DGQ<2>(1)^2]]-FESystem<2>[FESystem<2>[FE_Q<2>(1)-FE_Q<2>(2)]-FESystem<2>[FE_Q<2>(2)^2]-FESystem<2>[FE_DGQ<2>(2)^2]]^2] DEAL::dofs_per_vertex=18 DEAL::dofs_per_line=6 DEAL::dofs_per_quad=50 @@ -2116,6 +2236,8 @@ DEAL::FE_Q_Hierarchical<3>(4) DEAL::FE_DGQ<3>(1) DEAL::FE_DGQ<3>(2) DEAL::FE_DGQ<3>(4) +DEAL::FE_DGQArbitraryNodes<3>(QGaussLobatto(5)) +DEAL::FE_DGQArbitraryNodes<3>(QUnknownNodes(2)) DEAL::FE_DGP<3>(1) DEAL::FE_DGP<3>(2) DEAL::FESystem<3>[FE_Q<3>(2)^2] @@ -2460,7 +2582,77 @@ DEAL::support on face 3: 20 21 22 23 24 45 46 47 48 49 70 71 72 73 74 95 96 97 9 DEAL::support on face 4: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 DEAL::support on face 5: 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 DEAL:: -DEAL::fe_data[9]:FE_DGP<3>(1) +DEAL::fe_data[9]:FE_DGQArbitraryNodes<3>(QGaussLobatto(5)) +DEAL::dofs_per_vertex=0 +DEAL::dofs_per_line=0 +DEAL::dofs_per_quad=0 +DEAL::dofs_per_hex=125 +DEAL::first_line_index=0 +DEAL::first_quad_index=0 +DEAL::first_hex_index=0 +DEAL::first_face_line_index=0 +DEAL::first_face_quad_index=0 +DEAL::dofs_per_face=0 +DEAL::dofs_per_cell=125 +DEAL::primitive=yes +DEAL::components=1 +DEAL::blocks=1:[125]->125 +DEAL::degree=4 +DEAL::conformity= L2 +DEAL::unit_support_points=125 +DEAL::unit_face_support_points=0 +DEAL::generalized_support_points=125 +DEAL::generalized_face_support_points=0 +DEAL::face_to_equivalent_cell_index: +DEAL::face_to_cell_index: +DEAL::face_to_cell_index: +DEAL::face_to_cell_index: +DEAL::face_to_cell_index: +DEAL::face_to_cell_index: +DEAL::face_to_cell_index: +DEAL::support on face 0: 0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100 105 110 115 120 +DEAL::support on face 1: 4 9 14 19 24 29 34 39 44 49 54 59 64 69 74 79 84 89 94 99 104 109 114 119 124 +DEAL::support on face 2: 0 1 2 3 4 25 26 27 28 29 50 51 52 53 54 75 76 77 78 79 100 101 102 103 104 +DEAL::support on face 3: 20 21 22 23 24 45 46 47 48 49 70 71 72 73 74 95 96 97 98 99 120 121 122 123 124 +DEAL::support on face 4: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 +DEAL::support on face 5: 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 +DEAL:: +DEAL::fe_data[10]:FE_DGQArbitraryNodes<3>(QUnknownNodes(2)) +DEAL::dofs_per_vertex=0 +DEAL::dofs_per_line=0 +DEAL::dofs_per_quad=0 +DEAL::dofs_per_hex=27 +DEAL::first_line_index=0 +DEAL::first_quad_index=0 +DEAL::first_hex_index=0 +DEAL::first_face_line_index=0 +DEAL::first_face_quad_index=0 +DEAL::dofs_per_face=0 +DEAL::dofs_per_cell=27 +DEAL::primitive=yes +DEAL::components=1 +DEAL::blocks=1:[27]->27 +DEAL::degree=2 +DEAL::conformity= L2 +DEAL::unit_support_points=27 +DEAL::unit_face_support_points=0 +DEAL::generalized_support_points=27 +DEAL::generalized_face_support_points=0 +DEAL::face_to_equivalent_cell_index: +DEAL::face_to_cell_index: +DEAL::face_to_cell_index: +DEAL::face_to_cell_index: +DEAL::face_to_cell_index: +DEAL::face_to_cell_index: +DEAL::face_to_cell_index: +DEAL::support on face 0: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 +DEAL::support on face 1: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 +DEAL::support on face 2: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 +DEAL::support on face 3: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 +DEAL::support on face 4: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 +DEAL::support on face 5: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 +DEAL:: +DEAL::fe_data[11]:FE_DGP<3>(1) DEAL::dofs_per_vertex=0 DEAL::dofs_per_line=0 DEAL::dofs_per_quad=0 @@ -2495,7 +2687,7 @@ DEAL::support on face 3: 0 1 2 3 DEAL::support on face 4: 0 1 2 3 DEAL::support on face 5: 0 1 2 3 DEAL:: -DEAL::fe_data[10]:FE_DGP<3>(2) +DEAL::fe_data[12]:FE_DGP<3>(2) DEAL::dofs_per_vertex=0 DEAL::dofs_per_line=0 DEAL::dofs_per_quad=0 @@ -2530,7 +2722,7 @@ DEAL::support on face 3: 0 1 2 3 4 5 6 7 8 9 DEAL::support on face 4: 0 1 2 3 4 5 6 7 8 9 DEAL::support on face 5: 0 1 2 3 4 5 6 7 8 9 DEAL:: -DEAL::fe_data[11]:FESystem<3>[FE_Q<3>(2)^2] +DEAL::fe_data[13]:FESystem<3>[FE_Q<3>(2)^2] DEAL::dofs_per_vertex=2 DEAL::dofs_per_line=2 DEAL::dofs_per_quad=2 @@ -2565,7 +2757,7 @@ DEAL::support on face 3: 4 5 6 7 12 13 14 15 22 23 30 31 36 37 38 39 46 47 DEAL::support on face 4: 0 1 2 3 4 5 6 7 16 17 18 19 20 21 22 23 48 49 DEAL::support on face 5: 8 9 10 11 12 13 14 15 24 25 26 27 28 29 30 31 50 51 DEAL:: -DEAL::fe_data[12]:FESystem<3>[FE_Q<3>(1)^2-FE_Q<3>(2)] +DEAL::fe_data[14]:FESystem<3>[FE_Q<3>(1)^2-FE_Q<3>(2)] DEAL::dofs_per_vertex=3 DEAL::dofs_per_line=1 DEAL::dofs_per_quad=1 @@ -2600,7 +2792,7 @@ DEAL::support on face 3: 6 7 8 9 10 11 18 19 20 21 22 23 27 31 34 35 39 DEAL::support on face 4: 0 1 2 3 4 5 6 7 8 9 10 11 24 25 26 27 40 DEAL::support on face 5: 12 13 14 15 16 17 18 19 20 21 22 23 28 29 30 31 41 DEAL:: -DEAL::fe_data[13]:FE_FaceQ<3>(0) +DEAL::fe_data[15]:FE_FaceQ<3>(0) DEAL::dofs_per_vertex=0 DEAL::dofs_per_line=0 DEAL::dofs_per_quad=1 @@ -2635,7 +2827,7 @@ DEAL::support on face 3: 3 DEAL::support on face 4: 4 DEAL::support on face 5: 5 DEAL:: -DEAL::fe_data[14]:FE_FaceQ<3>(1) +DEAL::fe_data[16]:FE_FaceQ<3>(1) DEAL::dofs_per_vertex=0 DEAL::dofs_per_line=0 DEAL::dofs_per_quad=4 @@ -2670,7 +2862,7 @@ DEAL::support on face 3: 12 13 14 15 DEAL::support on face 4: 16 17 18 19 DEAL::support on face 5: 20 21 22 23 DEAL:: -DEAL::fe_data[15]:FE_FaceQ<3>(3) +DEAL::fe_data[17]:FE_FaceQ<3>(3) DEAL::dofs_per_vertex=0 DEAL::dofs_per_line=0 DEAL::dofs_per_quad=16 @@ -2705,7 +2897,7 @@ DEAL::support on face 3: 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 DEAL::support on face 4: 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 DEAL::support on face 5: 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 DEAL:: -DEAL::fe_data[16]:FE_FaceP<3>(0) +DEAL::fe_data[18]:FE_FaceP<3>(0) DEAL::dofs_per_vertex=0 DEAL::dofs_per_line=0 DEAL::dofs_per_quad=1 @@ -2740,7 +2932,7 @@ DEAL::support on face 3: 3 DEAL::support on face 4: 4 DEAL::support on face 5: 5 DEAL:: -DEAL::fe_data[17]:FE_FaceP<3>(1) +DEAL::fe_data[19]:FE_FaceP<3>(1) DEAL::dofs_per_vertex=0 DEAL::dofs_per_line=0 DEAL::dofs_per_quad=3 @@ -2775,7 +2967,7 @@ DEAL::support on face 3: 9 10 11 DEAL::support on face 4: 12 13 14 DEAL::support on face 5: 15 16 17 DEAL:: -DEAL::fe_data[18]:FE_FaceP<3>(3) +DEAL::fe_data[20]:FE_FaceP<3>(3) DEAL::dofs_per_vertex=0 DEAL::dofs_per_line=0 DEAL::dofs_per_quad=10 @@ -2810,7 +3002,7 @@ DEAL::support on face 3: 30 31 32 33 34 35 36 37 38 39 DEAL::support on face 4: 40 41 42 43 44 45 46 47 48 49 DEAL::support on face 5: 50 51 52 53 54 55 56 57 58 59 DEAL:: -DEAL::fe_data[19]:FE_DGRaviartThomas<3,3>(0) +DEAL::fe_data[21]:FE_DGRaviartThomas<3,3>(0) DEAL::dofs_per_vertex=0 DEAL::dofs_per_line=0 DEAL::dofs_per_quad=0 @@ -2845,7 +3037,7 @@ DEAL::support on face 3: 0 1 2 3 4 5 DEAL::support on face 4: 0 1 2 3 4 5 DEAL::support on face 5: 0 1 2 3 4 5 DEAL:: -DEAL::fe_data[20]:FE_DGRaviartThomas<3,3>(1) +DEAL::fe_data[22]:FE_DGRaviartThomas<3,3>(1) DEAL::dofs_per_vertex=0 DEAL::dofs_per_line=0 DEAL::dofs_per_quad=0 @@ -2880,7 +3072,7 @@ DEAL::support on face 3: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 DEAL::support on face 4: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 DEAL::support on face 5: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 DEAL:: -DEAL::fe_data[21]:FE_DGNedelec<3,3>(0) +DEAL::fe_data[23]:FE_DGNedelec<3,3>(0) DEAL::dofs_per_vertex=0 DEAL::dofs_per_line=0 DEAL::dofs_per_quad=0 @@ -2915,7 +3107,7 @@ DEAL::support on face 3: 0 1 2 3 4 5 6 7 8 9 10 11 DEAL::support on face 4: 0 1 2 3 4 5 6 7 8 9 10 11 DEAL::support on face 5: 0 1 2 3 4 5 6 7 8 9 10 11 DEAL:: -DEAL::fe_data[22]:FE_DGNedelec<3,3>(1) +DEAL::fe_data[24]:FE_DGNedelec<3,3>(1) DEAL::dofs_per_vertex=0 DEAL::dofs_per_line=0 DEAL::dofs_per_quad=0 @@ -2950,7 +3142,7 @@ DEAL::support on face 3: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 DEAL::support on face 4: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 DEAL::support on face 5: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 DEAL:: -DEAL::fe_data[23]:FE_RaviartThomas<3>(0) +DEAL::fe_data[25]:FE_RaviartThomas<3>(0) DEAL::dofs_per_vertex=0 DEAL::dofs_per_line=0 DEAL::dofs_per_quad=1 @@ -2985,7 +3177,7 @@ DEAL::support on face 3: 0 1 2 3 4 5 DEAL::support on face 4: 0 1 2 3 4 5 DEAL::support on face 5: 0 1 2 3 4 5 DEAL:: -DEAL::fe_data[24]:FE_RaviartThomas<3>(1) +DEAL::fe_data[26]:FE_RaviartThomas<3>(1) DEAL::dofs_per_vertex=0 DEAL::dofs_per_line=0 DEAL::dofs_per_quad=4 @@ -3020,7 +3212,7 @@ DEAL::support on face 3: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 DEAL::support on face 4: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 DEAL::support on face 5: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 DEAL:: -DEAL::fe_data[25]:FE_RaviartThomas<3>(2) +DEAL::fe_data[27]:FE_RaviartThomas<3>(2) DEAL::dofs_per_vertex=0 DEAL::dofs_per_line=0 DEAL::dofs_per_quad=9 @@ -3055,7 +3247,7 @@ DEAL::support on face 3: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 DEAL::support on face 4: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 DEAL::support on face 5: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 DEAL:: -DEAL::fe_data[26]:FESystem<3>[FE_RaviartThomas<3>(1)-FE_DGQ<3>(1)] +DEAL::fe_data[28]:FESystem<3>[FE_RaviartThomas<3>(1)-FE_DGQ<3>(1)] DEAL::dofs_per_vertex=0 DEAL::dofs_per_line=0 DEAL::dofs_per_quad=4 @@ -3090,7 +3282,7 @@ DEAL::support on face 3: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 DEAL::support on face 4: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 DEAL::support on face 5: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 40 41 42 43 DEAL:: -DEAL::fe_data[27]:FE_Nedelec<3>(0) +DEAL::fe_data[29]:FE_Nedelec<3>(0) DEAL::dofs_per_vertex=0 DEAL::dofs_per_line=1 DEAL::dofs_per_quad=0 @@ -3125,7 +3317,7 @@ DEAL::support on face 3: 0 1 3 4 5 7 10 11 DEAL::support on face 4: 0 1 2 3 8 9 10 11 DEAL::support on face 5: 4 5 6 7 8 9 10 11 DEAL:: -DEAL::fe_data[28]:FE_Nedelec<3>(1) +DEAL::fe_data[30]:FE_Nedelec<3>(1) DEAL::dofs_per_vertex=0 DEAL::dofs_per_line=2 DEAL::dofs_per_quad=4 @@ -3160,7 +3352,7 @@ DEAL::support on face 3: 0 1 2 3 6 7 8 9 10 11 14 15 20 21 22 23 26 27 30 31 36 DEAL::support on face 4: 0 1 2 3 4 5 6 7 16 17 18 19 20 21 22 23 24 25 28 29 34 35 38 39 40 41 42 43 DEAL::support on face 5: 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 28 29 34 35 38 39 44 45 46 47 DEAL:: -DEAL::fe_data[29]:FE_RaviartThomasNodal<3>(0) +DEAL::fe_data[31]:FE_RaviartThomasNodal<3>(0) DEAL::dofs_per_vertex=0 DEAL::dofs_per_line=0 DEAL::dofs_per_quad=1 @@ -3195,7 +3387,7 @@ DEAL::support on face 3: 0 1 3 4 5 DEAL::support on face 4: 0 1 2 3 4 DEAL::support on face 5: 0 1 2 3 5 DEAL:: -DEAL::fe_data[30]:FE_RaviartThomasNodal<3>(1) +DEAL::fe_data[32]:FE_RaviartThomasNodal<3>(1) DEAL::dofs_per_vertex=0 DEAL::dofs_per_line=0 DEAL::dofs_per_quad=4 @@ -3230,7 +3422,7 @@ DEAL::support on face 3: 0 1 2 3 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 DEAL::support on face 4: 0 1 2 3 4 5 6 7 8 9 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 DEAL::support on face 5: 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 DEAL:: -DEAL::fe_data[31]:FESystem<3>[FE_RaviartThomasNodal<3>(1)-FE_DGQ<3>(1)] +DEAL::fe_data[33]:FESystem<3>[FE_RaviartThomasNodal<3>(1)-FE_DGQ<3>(1)] DEAL::dofs_per_vertex=0 DEAL::dofs_per_line=0 DEAL::dofs_per_quad=4 @@ -3265,7 +3457,7 @@ DEAL::support on face 3: 0 1 2 3 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 DEAL::support on face 4: 0 1 2 3 4 5 6 7 8 9 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 DEAL::support on face 5: 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 40 41 42 43 DEAL:: -DEAL::fe_data[32]:FESystem<3>[FESystem<3>[FE_Q<3>(1)^2]^2] +DEAL::fe_data[34]:FESystem<3>[FESystem<3>[FE_Q<3>(1)^2]^2] DEAL::dofs_per_vertex=4 DEAL::dofs_per_line=0 DEAL::dofs_per_quad=0 @@ -3300,7 +3492,7 @@ DEAL::support on face 3: 8 9 10 11 12 13 14 15 24 25 26 27 28 29 30 31 DEAL::support on face 4: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 DEAL::support on face 5: 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 DEAL:: -DEAL::fe_data[33]:FESystem<3>[FESystem<3>[FE_Q<3>(1)^2]-FESystem<3>[FE_DGQ<3>(1)^2]] +DEAL::fe_data[35]:FESystem<3>[FESystem<3>[FE_Q<3>(1)^2]-FESystem<3>[FE_DGQ<3>(1)^2]] DEAL::dofs_per_vertex=2 DEAL::dofs_per_line=0 DEAL::dofs_per_quad=0 @@ -3335,7 +3527,7 @@ DEAL::support on face 3: 4 5 6 7 12 13 14 15 18 19 22 23 26 27 30 31 DEAL::support on face 4: 0 1 2 3 4 5 6 7 16 17 18 19 24 25 26 27 DEAL::support on face 5: 8 9 10 11 12 13 14 15 20 21 22 23 28 29 30 31 DEAL:: -DEAL::fe_data[34]:FESystem<3>[FESystem<3>[FE_Q<3>(1)-FE_Q<3>(2)]-FESystem<3>[FE_Q<3>(2)^2]-FESystem<3>[FE_DGQ<3>(2)^2]] +DEAL::fe_data[36]:FESystem<3>[FESystem<3>[FE_Q<3>(1)-FE_Q<3>(2)]-FESystem<3>[FE_Q<3>(2)^2]-FESystem<3>[FE_DGQ<3>(2)^2]] DEAL::dofs_per_vertex=4 DEAL::dofs_per_line=3 DEAL::dofs_per_quad=3 @@ -3370,7 +3562,7 @@ DEAL::support on face 3: 8 9 10 11 12 13 14 15 24 25 26 27 28 29 30 31 41 42 43 DEAL::support on face 4: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 32 33 34 35 36 37 38 39 40 41 42 43 80 81 82 89 90 91 92 93 94 95 96 97 116 117 118 119 120 121 122 123 124 DEAL::support on face 5: 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 44 45 46 47 48 49 50 51 52 53 54 55 83 84 85 107 108 109 110 111 112 113 114 115 134 135 136 137 138 139 140 141 142 DEAL:: -DEAL::fe_data[35]:FESystem<3>[FESystem<3>[FESystem<3>[FE_Q<3>(1)^2]^2]^2-FESystem<3>[FESystem<3>[FE_Q<3>(1)^2]-FESystem<3>[FE_DGQ<3>(1)^2]]-FESystem<3>[FESystem<3>[FE_Q<3>(1)-FE_Q<3>(2)]-FESystem<3>[FE_Q<3>(2)^2]-FESystem<3>[FE_DGQ<3>(2)^2]]^2] +DEAL::fe_data[37]:FESystem<3>[FESystem<3>[FESystem<3>[FE_Q<3>(1)^2]^2]^2-FESystem<3>[FESystem<3>[FE_Q<3>(1)^2]-FESystem<3>[FE_DGQ<3>(1)^2]]-FESystem<3>[FESystem<3>[FE_Q<3>(1)-FE_Q<3>(2)]-FESystem<3>[FE_Q<3>(2)^2]-FESystem<3>[FE_DGQ<3>(2)^2]]^2] DEAL::dofs_per_vertex=18 DEAL::dofs_per_line=6 DEAL::dofs_per_quad=6 diff --git a/tests/lac/gmres_eigenvalues.cc b/tests/lac/gmres_eigenvalues.cc new file mode 100644 index 0000000000..94ff53077d --- /dev/null +++ b/tests/lac/gmres_eigenvalues.cc @@ -0,0 +1,117 @@ +// --------------------------------------------------------------------- +// $Id$ +// +// Copyright (C) 2013 by the deal.II authors +// +// This file is part of the deal.II library. +// +// The deal.II library is free software; you can use it, redistribute +// it, and/or modify it under the terms of the GNU Lesser General +// Public License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// The full text of the license can be found in the file LICENSE at +// the top level of the deal.II distribution. +// +// --------------------------------------------------------------------- + + +// test eigenvalue approximation by GMRES algorithm + +#include "../tests.h" +#include +#include +#include +#include + + + +template +void test (unsigned int variant) +{ + const unsigned int n = variant < 3 ? 64 : 16; + Vector rhs(n), sol(n); + rhs = 1.; + + LAPACKFullMatrix matrix(n, n); + + // put diagonal entries of different strengths. these are very challenging + // for GMRES and will usually take a lot of iterations until the Krylov + // subspace is complete enough + if (variant == 0) + for (unsigned int i=0; i::value == true) + Assert(variant < 4, ExcMessage("Invalid_variant")); + + deallog.push(Utilities::int_to_string(variant,1)); + + SolverControl control(1000, variant==1?1e-4:1e-13); + typename SolverGMRES >::AdditionalData data; + data.max_n_tmp_vectors = 80; + data.compute_eigenvalues = true; + + SolverGMRES > solver(control, data); + solver.solve(matrix, sol, rhs, PreconditionIdentity()); + + if (variant == 0) + { + typename SolverCG >::AdditionalData cg_data; + cg_data.compute_eigenvalues = true; + SolverCG > solver_cg(control, cg_data); + sol = 0; + solver_cg.solve(matrix, sol, rhs, PreconditionIdentity()); + } + + if (variant == 3) + { + matrix.compute_eigenvalues(); + std::vector > eigenvalues(n); + for (unsigned int i=0; i(0); + test(1); + test(2); + test(3); + deallog.pop(); +} + diff --git a/tests/lac/gmres_eigenvalues.output b/tests/lac/gmres_eigenvalues.output new file mode 100644 index 0000000000..ff01b9bef3 --- /dev/null +++ b/tests/lac/gmres_eigenvalues.output @@ -0,0 +1,17 @@ + +DEAL:double:0:GMRES::Starting value 8.00 +DEAL:double:0:GMRES::Convergence step 56 value 0 +DEAL:double:0:GMRES::Eigenvalue estimate: (1.00,0.00) (2.00,0.00) (3.00,0.00) (4.00,0.00) (5.00,0.00) (6.00,0.00) (7.00,0.00) (8.00,0.00) (9.00,0.00) (10.0,0.00) (11.0,0.00) (12.0,0.00) (13.0,0.00) (14.0,0.00) (15.0,0.00) (16.0,0.00) (17.1,0.00) (18.2,0.00) (19.5,0.00) (20.7,0.00) (22.0,0.00) (23.3,0.00) (24.7,0.00) (26.0,0.00) (27.5,0.00) (28.9,0.00) (30.3,0.00) (31.8,0.00) (33.2,0.00) (34.7,0.00) (36.1,0.00) (37.6,0.00) (39.0,0.00) (40.4,0.00) (41.7,0.00) (43.0,0.00) (44.3,0.00) (45.5,0.00) (46.7,0.00) (47.9,0.00) (49.0,0.00) (50.0,0.00) (51.0,0.00) (52.0,0.00) (53.0,0.00) (54.0,0.00) (55.0,0.00) (56.0,0.00) (57.0,0.00) (58.0,0.00) (59.0,0.00) (60.0,0.00) (61.0,0.00) (62.0,0.00) (63.0,0.00) (64.0,0.00) +DEAL:double:0:cg::Starting value 8.00 +DEAL:double:0:cg::Convergence step 56 value 0 +DEAL:double:0:cg:: 1.00 2.00 3.00 4.00 5.00 6.00 7.00 8.00 9.00 10.0 11.0 12.0 13.0 14.0 15.0 16.1 17.3 18.4 19.7 21.0 22.3 23.7 25.1 26.6 28.0 29.5 31.0 32.5 34.0 35.5 37.0 38.4 39.9 41.3 42.7 44.0 45.3 46.6 47.7 48.9 50.0 51.0 52.0 53.0 54.0 55.0 56.0 57.0 58.0 59.0 60.0 61.0 62.0 63.0 64.0 +DEAL:double:1:GMRES::Starting value 8.00 +DEAL:double:1:GMRES::Convergence step 64 value 4.41e-10 +DEAL:double:1:GMRES::Eigenvalue estimate: (1.00,0.00) (16.0,0.00) (81.0,0.00) (256.,0.00) (625.,0.00) (1.30e+03,0.00) (2.40e+03,0.00) (4.10e+03,0.00) (6.56e+03,0.00) (1.00e+04,0.00) (1.46e+04,0.00) (2.07e+04,0.00) (2.86e+04,0.00) (3.84e+04,0.00) (5.06e+04,0.00) (6.55e+04,0.00) (8.35e+04,0.00) (1.05e+05,0.00) (1.30e+05,0.00) (1.60e+05,0.00) (1.94e+05,0.00) (2.34e+05,0.00) (2.80e+05,0.00) (3.32e+05,0.00) (3.91e+05,0.00) (4.57e+05,0.00) (5.31e+05,0.00) (6.15e+05,0.00) (7.07e+05,0.00) (8.10e+05,0.00) (9.24e+05,0.00) (1.05e+06,0.00) (1.19e+06,0.00) (1.34e+06,0.00) (1.50e+06,0.00) (1.68e+06,0.00) (1.87e+06,0.00) (2.09e+06,0.00) (2.31e+06,0.00) (2.56e+06,0.00) (2.83e+06,0.00) (3.11e+06,0.00) (3.42e+06,0.00) (3.75e+06,0.00) (4.10e+06,0.00) (4.48e+06,0.00) (4.88e+06,0.00) (5.31e+06,0.00) (5.76e+06,0.00) (6.25e+06,0.00) (6.77e+06,0.00) (7.31e+06,0.00) (7.89e+06,0.00) (8.50e+06,0.00) (9.15e+06,0.00) (9.83e+06,0.00) (1.06e+07,0.00) (1.13e+07,0.00) (1.21e+07,0.00) (1.30e+07,0.00) (1.38e+07,0.00) (1.48e+07,0.00) (1.58e+07,0.00) (1.68e+07,0.00) +DEAL:double:2:GMRES::Starting value 8.00 +DEAL:double:2:GMRES::Convergence step 64 value 0 +DEAL:double:2:GMRES::Eigenvalue estimate: (-63.0,0.00) (-61.0,0.00) (-59.0,0.00) (-57.0,0.00) (-55.0,0.00) (-53.0,0.00) (-51.0,0.00) (-49.0,0.00) (-47.0,0.00) (-45.0,0.00) (-43.0,0.00) (-41.0,0.00) (-39.0,0.00) (-37.0,0.00) (-35.0,0.00) (-33.0,0.00) (-31.0,0.00) (-29.0,0.00) (-27.0,0.00) (-25.0,0.00) (-23.0,0.00) (-21.0,0.00) (-19.0,0.00) (-17.0,0.00) (-15.0,0.00) (-13.0,0.00) (-11.0,0.00) (-9.00,0.00) (-7.00,0.00) (-5.00,0.00) (-3.00,0.00) (-1.00,0.00) (2.00,0.00) (4.00,0.00) (6.00,0.00) (8.00,0.00) (10.0,0.00) (12.0,0.00) (14.0,0.00) (16.0,0.00) (18.0,0.00) (20.0,0.00) (22.0,0.00) (24.0,0.00) (26.0,0.00) (28.0,0.00) (30.0,0.00) (32.0,0.00) (34.0,0.00) (36.0,0.00) (38.0,0.00) (40.0,0.00) (42.0,0.00) (44.0,0.00) (46.0,0.00) (48.0,0.00) (50.0,0.00) (52.0,0.00) (54.0,0.00) (56.0,0.00) (58.0,0.00) (60.0,0.00) (62.0,0.00) (64.0,0.00) +DEAL:double:3:GMRES::Starting value 4.00 +DEAL:double:3:GMRES::Convergence step 16 value 0 +DEAL:double:3:GMRES::Eigenvalue estimate: (0.272,-1.14) (0.272,1.14) (1.52,-3.81) (1.52,3.81) (2.81,-3.71) (2.81,3.71) (4.50,-4.11) (4.50,4.11) (7.18,-5.38) (7.18,5.38) (10.3,-5.98) (10.3,5.98) (13.9,-5.92) (13.9,5.92) (18.5,-4.07) (18.5,4.07) +DEAL:double:3::Actual eigenvalues: (0.272,-1.14) (0.272,1.14) (1.52,-3.81) (1.52,3.81) (2.81,-3.71) (2.81,3.71) (4.50,-4.11) (4.50,4.11) (7.18,-5.38) (7.18,5.38) (10.3,-5.98) (10.3,5.98) (13.9,-5.92) (13.9,5.92) (18.5,-4.07) (18.5,4.07) diff --git a/tests/matrix_free/step-48.cc b/tests/matrix_free/step-48.cc index 243050d7a4..b920f8b52c 100644 --- a/tests/matrix_free/step-48.cc +++ b/tests/matrix_free/step-48.cc @@ -141,9 +141,6 @@ namespace Step48 const VectorizedArray current_value = current.get_value(q); const VectorizedArray old_value = old.get_value(q); - // the first 'dummy' is needed to work around a compiler bug in - // the tester - const VectorizedArray dummy = -std::sin(current_value); current.submit_value (2.*current_value - old_value - delta_t_sqr * std::sin(current_value),q); current.submit_gradient (- delta_t_sqr * diff --git a/tests/metis/metis_01.output b/tests/metis/metis_01.with_64bit_indices=off.output similarity index 100% rename from tests/metis/metis_01.output rename to tests/metis/metis_01.with_64bit_indices=off.output diff --git a/tests/metis/metis_01.with_64bit_indices=on.output b/tests/metis/metis_01.with_64bit_indices=on.output new file mode 100644 index 0000000000..06ce046674 --- /dev/null +++ b/tests/metis/metis_01.with_64bit_indices=on.output @@ -0,0 +1,295 @@ + +DEAL::RECURSIVE +DEAL::4.0 0 +DEAL::4.1 0 +DEAL::4.2 0 +DEAL::4.3 0 +DEAL::4.4 1 +DEAL::4.5 1 +DEAL::4.6 1 +DEAL::4.7 4 +DEAL::4.8 4 +DEAL::4.9 2 +DEAL::4.10 2 +DEAL::4.11 2 +DEAL::4.12 3 +DEAL::4.13 3 +DEAL::4.14 3 +DEAL::4.15 4 +DEAL::K-WAY +DEAL::4.0 2 +DEAL::4.1 2 +DEAL::4.2 3 +DEAL::4.3 3 +DEAL::4.4 0 +DEAL::4.5 0 +DEAL::4.6 1 +DEAL::4.7 6 +DEAL::4.8 6 +DEAL::4.9 7 +DEAL::4.10 7 +DEAL::4.11 8 +DEAL::4.12 8 +DEAL::4.13 5 +DEAL::4.14 5 +DEAL::4.15 4 +DEAL::RECURSIVE +DEAL::3.0 2 +DEAL::3.1 2 +DEAL::3.2 2 +DEAL::3.3 2 +DEAL::3.4 2 +DEAL::3.5 2 +DEAL::3.6 2 +DEAL::3.7 2 +DEAL::3.8 2 +DEAL::3.9 2 +DEAL::3.10 3 +DEAL::3.11 3 +DEAL::3.12 2 +DEAL::3.13 2 +DEAL::3.14 3 +DEAL::3.15 3 +DEAL::3.16 2 +DEAL::3.17 0 +DEAL::3.18 0 +DEAL::3.19 0 +DEAL::3.20 0 +DEAL::3.21 0 +DEAL::3.22 0 +DEAL::3.23 0 +DEAL::3.24 0 +DEAL::3.25 0 +DEAL::3.26 0 +DEAL::3.27 0 +DEAL::3.28 0 +DEAL::3.29 0 +DEAL::3.30 1 +DEAL::3.31 1 +DEAL::3.32 3 +DEAL::3.33 3 +DEAL::3.34 3 +DEAL::3.35 3 +DEAL::3.36 3 +DEAL::3.37 3 +DEAL::3.38 3 +DEAL::3.39 4 +DEAL::3.40 3 +DEAL::3.41 3 +DEAL::3.42 4 +DEAL::3.43 4 +DEAL::3.44 4 +DEAL::3.45 4 +DEAL::3.46 4 +DEAL::3.47 4 +DEAL::3.48 1 +DEAL::3.49 1 +DEAL::3.50 4 +DEAL::3.51 1 +DEAL::3.52 1 +DEAL::3.53 1 +DEAL::3.54 1 +DEAL::3.55 1 +DEAL::3.56 4 +DEAL::3.57 4 +DEAL::3.58 4 +DEAL::3.59 4 +DEAL::3.60 1 +DEAL::3.61 1 +DEAL::3.62 4 +DEAL::3.63 1 +DEAL::K-WAY +DEAL::3.0 0 +DEAL::3.1 0 +DEAL::3.2 0 +DEAL::3.3 0 +DEAL::3.4 4 +DEAL::3.5 4 +DEAL::3.6 4 +DEAL::3.7 4 +DEAL::3.8 0 +DEAL::3.9 0 +DEAL::3.10 0 +DEAL::3.11 1 +DEAL::3.12 4 +DEAL::3.13 4 +DEAL::3.14 1 +DEAL::3.15 5 +DEAL::3.16 4 +DEAL::3.17 6 +DEAL::3.18 6 +DEAL::3.19 6 +DEAL::3.20 6 +DEAL::3.21 6 +DEAL::3.22 6 +DEAL::3.23 6 +DEAL::3.24 5 +DEAL::3.25 5 +DEAL::3.26 8 +DEAL::3.27 5 +DEAL::3.28 8 +DEAL::3.29 8 +DEAL::3.30 8 +DEAL::3.31 7 +DEAL::3.32 1 +DEAL::3.33 1 +DEAL::3.34 1 +DEAL::3.35 1 +DEAL::3.36 1 +DEAL::3.37 8 +DEAL::3.38 2 +DEAL::3.39 3 +DEAL::3.40 2 +DEAL::3.41 2 +DEAL::3.42 2 +DEAL::3.43 2 +DEAL::3.44 2 +DEAL::3.45 3 +DEAL::3.46 2 +DEAL::3.47 3 +DEAL::3.48 8 +DEAL::3.49 8 +DEAL::3.50 3 +DEAL::3.51 5 +DEAL::3.52 8 +DEAL::3.53 7 +DEAL::3.54 7 +DEAL::3.55 7 +DEAL::3.56 3 +DEAL::3.57 5 +DEAL::3.58 3 +DEAL::3.59 3 +DEAL::3.60 5 +DEAL::3.61 7 +DEAL::3.62 7 +DEAL::3.63 7 +DEAL::RECURSIVE +DEAL::2.0 0 +DEAL::2.1 1 +DEAL::2.2 0 +DEAL::2.3 1 +DEAL::2.4 0 +DEAL::2.5 1 +DEAL::2.6 0 +DEAL::2.7 1 +DEAL::2.8 1 +DEAL::2.9 2 +DEAL::2.10 2 +DEAL::2.11 2 +DEAL::2.12 1 +DEAL::2.13 1 +DEAL::2.14 1 +DEAL::2.15 2 +DEAL::2.16 3 +DEAL::2.17 3 +DEAL::2.18 3 +DEAL::2.19 3 +DEAL::2.20 3 +DEAL::2.21 3 +DEAL::2.22 3 +DEAL::2.23 3 +DEAL::2.24 2 +DEAL::2.25 2 +DEAL::2.26 3 +DEAL::2.27 2 +DEAL::2.28 2 +DEAL::2.29 2 +DEAL::2.30 3 +DEAL::2.31 2 +DEAL::2.32 0 +DEAL::2.33 0 +DEAL::2.34 0 +DEAL::2.35 0 +DEAL::2.36 0 +DEAL::2.37 0 +DEAL::2.38 0 +DEAL::2.39 0 +DEAL::2.40 1 +DEAL::2.41 1 +DEAL::2.42 1 +DEAL::2.43 2 +DEAL::2.44 1 +DEAL::2.45 1 +DEAL::2.46 4 +DEAL::2.47 2 +DEAL::2.48 3 +DEAL::2.49 3 +DEAL::2.50 3 +DEAL::2.51 3 +DEAL::2.52 4 +DEAL::2.53 4 +DEAL::2.54 4 +DEAL::2.55 4 +DEAL::2.56 4 +DEAL::2.57 2 +DEAL::2.58 4 +DEAL::2.59 4 +DEAL::2.60 4 +DEAL::2.61 4 +DEAL::2.62 4 +DEAL::2.63 4 +DEAL::K-WAY +DEAL::2.0 6 +DEAL::2.1 6 +DEAL::2.2 8 +DEAL::2.3 8 +DEAL::2.4 7 +DEAL::2.5 0 +DEAL::2.6 7 +DEAL::2.7 8 +DEAL::2.8 6 +DEAL::2.9 6 +DEAL::2.10 6 +DEAL::2.11 6 +DEAL::2.12 1 +DEAL::2.13 1 +DEAL::2.14 6 +DEAL::2.15 0 +DEAL::2.16 4 +DEAL::2.17 4 +DEAL::2.18 4 +DEAL::2.19 4 +DEAL::2.20 4 +DEAL::2.21 2 +DEAL::2.22 4 +DEAL::2.23 4 +DEAL::2.24 2 +DEAL::2.25 2 +DEAL::2.26 2 +DEAL::2.27 2 +DEAL::2.28 2 +DEAL::2.29 0 +DEAL::2.30 2 +DEAL::2.31 3 +DEAL::2.32 7 +DEAL::2.33 7 +DEAL::2.34 7 +DEAL::2.35 1 +DEAL::2.36 7 +DEAL::2.37 7 +DEAL::2.38 5 +DEAL::2.39 8 +DEAL::2.40 1 +DEAL::2.41 0 +DEAL::2.42 8 +DEAL::2.43 1 +DEAL::2.44 0 +DEAL::2.45 0 +DEAL::2.46 1 +DEAL::2.47 1 +DEAL::2.48 5 +DEAL::2.49 8 +DEAL::2.50 5 +DEAL::2.51 5 +DEAL::2.52 5 +DEAL::2.53 3 +DEAL::2.54 5 +DEAL::2.55 5 +DEAL::2.56 8 +DEAL::2.57 0 +DEAL::2.58 8 +DEAL::2.59 3 +DEAL::2.60 3 +DEAL::2.61 3 +DEAL::2.62 3 +DEAL::2.63 3 diff --git a/tests/metis/metis_01a.cc b/tests/metis/metis_01a.cc new file mode 100644 index 0000000000..ba2b3a8921 --- /dev/null +++ b/tests/metis/metis_01a.cc @@ -0,0 +1,165 @@ +// --------------------------------------------------------------------- +// $Id$ +// +// Copyright (C) 2004 - 2014 by the deal.II authors +// +// This file is part of the deal.II library. +// +// The deal.II library is free software; you can use it, redistribute +// it, and/or modify it under the terms of the GNU Lesser General +// Public License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// The full text of the license can be found in the file LICENSE at +// the top level of the deal.II distribution. +// +// --------------------------------------------------------------------- + + + +// A test meant to identify why GridTools::partition_triangulation +// produces different output whether we're in 32- or 64-bit mode. it +// turns out that when we get METIS from PETSc and PETSc's downloaded +// version of METIS is the source of the METIS installation we use +// here, then PETSc configures METIS to use the same integer size as +// PETSc. However, then, METIS produces different output. +// +// We can not currently test for this, so the tests in this directory +// have different output depending on whether *we* (and consequently +// PETSc) use 32- or 64-bit indices, not on whether or not we use 32- +// or 64-bit METIS. + +#include "../tests.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +void partition (const SparsityPattern &sparsity_pattern, + const unsigned int n_partitions) +{ + // generate the data structures for + // METIS. Note that this is particularly + // simple, since METIS wants exactly our + // compressed row storage format. we only + // have to set up a few auxiliary arrays + idx_t + n = static_cast(sparsity_pattern.n_rows()), + ncon = 1, // number of balancing constraints (should be >0) + nparts = static_cast(n_partitions), // number of subdomains to create + dummy; // the numbers of edges cut by the + // resulting partition + + // use default options for METIS + idx_t options[METIS_NOPTIONS]; + METIS_SetDefaultOptions (options); + + // one more nuisance: we have to copy our + // own data to arrays that store signed + // integers :-( + std::vector int_rowstart(1); + int_rowstart.reserve(sparsity_pattern.n_rows()+1); + std::vector int_colnums; + int_colnums.reserve(sparsity_pattern.n_nonzero_elements()); + for (SparsityPattern::size_type row=0; rowcolumn()); + int_rowstart.push_back(int_colnums.size()); + } + + std::vector int_partition_indices (sparsity_pattern.n_rows()); + + // log the inputs to METIS + deallog << "METIS inputs:" << std::endl; + deallog << "IDXTYPEWIDTH=" << IDXTYPEWIDTH << std::endl; + deallog << n << ' ' << ncon << ' ' << nparts << std::endl; + for (unsigned int i=0; i +void test () +{ + Triangulation triangulation; + GridGenerator::hyper_cube (triangulation); + triangulation.refine_global (2); + + SparsityPattern cell_connectivity; + GridTools::get_face_connectivity_of_cells (triangulation, cell_connectivity); + + partition (cell_connectivity, 5); +} + + + +int main () +{ + std::ofstream logfile("output"); + deallog.attach(logfile); + deallog.depth_console(0); + deallog.threshold_double(1.e-10); + + try + { + test<1> (); + } + catch (std::exception &exc) + { + deallog << std::endl << std::endl + << "----------------------------------------------------" + << std::endl; + deallog << "Exception on processing: " << std::endl + << exc.what() << std::endl + << "Aborting!" << std::endl + << "----------------------------------------------------" + << std::endl; + + return 1; + } + catch (...) + { + deallog << std::endl << std::endl + << "----------------------------------------------------" + << std::endl; + deallog << "Unknown exception!" << std::endl + << "Aborting!" << std::endl + << "----------------------------------------------------" + << std::endl; + return 1; + }; +} diff --git a/tests/metis/metis_01a.with_64bit_indices=off.output b/tests/metis/metis_01a.with_64bit_indices=off.output new file mode 100644 index 0000000000..0f64303f2f --- /dev/null +++ b/tests/metis/metis_01a.with_64bit_indices=off.output @@ -0,0 +1,15 @@ + +DEAL::METIS inputs: +DEAL::IDXTYPEWIDTH=32 +DEAL::4 1 5 +DEAL::0 2 5 8 10 +DEAL::0 1 1 0 2 2 1 3 3 2 +DEAL::-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +DEAL::4 +DEAL::METIS outputs: +DEAL::3 +DEAL::0 0 +DEAL::1 1 +DEAL::2 3 +DEAL::3 4 +DEAL:: diff --git a/tests/metis/metis_01a.with_64bit_indices=on.output b/tests/metis/metis_01a.with_64bit_indices=on.output new file mode 100644 index 0000000000..63aedc818c --- /dev/null +++ b/tests/metis/metis_01a.with_64bit_indices=on.output @@ -0,0 +1,15 @@ + +DEAL::METIS inputs: +DEAL::IDXTYPEWIDTH=64 +DEAL::4 1 5 +DEAL::0 2 5 8 10 +DEAL::0 1 1 0 2 2 1 3 3 2 +DEAL::-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +DEAL::8 +DEAL::METIS outputs: +DEAL::3 +DEAL::0 3 +DEAL::1 4 +DEAL::2 0 +DEAL::3 1 +DEAL:: diff --git a/tests/metis/metis_02.output b/tests/metis/metis_02.with_64bit_indices=off.output similarity index 100% rename from tests/metis/metis_02.output rename to tests/metis/metis_02.with_64bit_indices=off.output diff --git a/tests/metis/metis_02.with_64bit_indices=on.output b/tests/metis/metis_02.with_64bit_indices=on.output new file mode 100644 index 0000000000..7d60b2c485 --- /dev/null +++ b/tests/metis/metis_02.with_64bit_indices=on.output @@ -0,0 +1,16912 @@ + +DEAL::1D +DEAL::Cell association: +DEAL::0 0 +DEAL::1 4.00000 +DEAL::2 0 +DEAL::3 4.00000 +DEAL::4 1.00000 +DEAL::5 3.00000 +DEAL::6 3.00000 +DEAL::7 3.00000 +DEAL::8 0 +DEAL::9 0 +DEAL::10 0 +DEAL::11 4.00000 +DEAL::12 3.00000 +DEAL::13 3.00000 +DEAL::14 3.00000 +DEAL::15 3.00000 +DEAL::16 3.00000 +DEAL::17 4.00000 +DEAL::18 4.00000 +DEAL::19 4.00000 +DEAL::20 3.00000 +DEAL::21 3.00000 +DEAL::22 1.00000 +DEAL::23 1.00000 +DEAL::24 0 +DEAL::25 0 +DEAL::26 1.00000 +DEAL::27 1.00000 +DEAL::28 1.00000 +DEAL::29 1.00000 +DEAL::30 1.00000 +DEAL::31 1.00000 +DEAL::32 0 +DEAL::33 4.00000 +DEAL::34 1.00000 +DEAL::35 1.00000 +DEAL::36 0 +DEAL::37 0 +DEAL::38 0 +DEAL::39 0 +DEAL::40 0 +DEAL::41 3.00000 +DEAL::42 3.00000 +DEAL::43 3.00000 +DEAL::44 4.00000 +DEAL::45 4.00000 +DEAL::46 1.00000 +DEAL::47 1.00000 +DEAL::48 0 +DEAL::49 0 +DEAL::50 4.00000 +DEAL::51 4.00000 +DEAL::52 4.00000 +DEAL::53 4.00000 +DEAL::54 3.00000 +DEAL::55 3.00000 +DEAL::56 3.00000 +DEAL::57 3.00000 +DEAL::58 4.00000 +DEAL::59 2.00000 +DEAL::60 4.00000 +DEAL::61 2.00000 +DEAL::62 1.00000 +DEAL::63 4.00000 +DEAL::64 3.00000 +DEAL::65 2.00000 +DEAL::66 0 +DEAL::67 0 +DEAL::68 2.00000 +DEAL::69 1.00000 +DEAL::70 0 +DEAL::71 0 +DEAL::72 2.00000 +DEAL::73 2.00000 +DEAL::74 1.00000 +DEAL::75 1.00000 +DEAL::76 2.00000 +DEAL::77 2.00000 +DEAL::78 1.00000 +DEAL::79 1.00000 +DEAL::80 0 +DEAL::81 0 +DEAL::82 0 +DEAL::83 0 +DEAL::84 3.00000 +DEAL::85 3.00000 +DEAL::86 4.00000 +DEAL::87 4.00000 +DEAL::88 4.00000 +DEAL::89 2.00000 +DEAL::90 4.00000 +DEAL::91 4.00000 +DEAL::92 2.00000 +DEAL::93 2.00000 +DEAL::94 2.00000 +DEAL::95 2.00000 +DEAL::96 1.00000 +DEAL::97 1.00000 +DEAL::98 3.00000 +DEAL::99 3.00000 +DEAL::100 2.00000 +DEAL::101 2.00000 +DEAL::102 2.00000 +DEAL::103 2.00000 +DEAL::104 1.00000 +DEAL::105 1.00000 +DEAL::106 3.00000 +DEAL::107 2.00000 +DEAL::108 2.00000 +DEAL::109 4.00000 +DEAL::110 4.00000 +DEAL::111 2.00000 +DEAL::112 2.00000 +DEAL::113 2.00000 +DEAL::114 2.00000 +DEAL::DoF association: +DEAL::0 0 +DEAL::1 0 +DEAL::2 0 +DEAL::3 4 +DEAL::4 4 +DEAL::5 4 +DEAL::6 0 +DEAL::7 0 +DEAL::8 0 +DEAL::9 4 +DEAL::10 4 +DEAL::11 1 +DEAL::12 1 +DEAL::13 1 +DEAL::14 3 +DEAL::15 3 +DEAL::16 3 +DEAL::17 3 +DEAL::18 3 +DEAL::19 3 +DEAL::20 3 +DEAL::21 3 +DEAL::22 0 +DEAL::23 0 +DEAL::24 0 +DEAL::25 0 +DEAL::26 1 +DEAL::27 0 +DEAL::28 4 +DEAL::29 4 +DEAL::30 3 +DEAL::31 3 +DEAL::32 3 +DEAL::33 3 +DEAL::34 3 +DEAL::35 3 +DEAL::36 3 +DEAL::37 4 +DEAL::38 3 +DEAL::39 3 +DEAL::40 3 +DEAL::41 4 +DEAL::42 4 +DEAL::43 4 +DEAL::44 4 +DEAL::45 4 +DEAL::46 4 +DEAL::47 4 +DEAL::48 3 +DEAL::49 3 +DEAL::50 3 +DEAL::51 3 +DEAL::52 3 +DEAL::53 3 +DEAL::54 1 +DEAL::55 1 +DEAL::56 1 +DEAL::57 1 +DEAL::58 1 +DEAL::59 0 +DEAL::60 0 +DEAL::61 0 +DEAL::62 0 +DEAL::63 1 +DEAL::64 1 +DEAL::65 1 +DEAL::66 1 +DEAL::67 1 +DEAL::68 1 +DEAL::69 1 +DEAL::70 1 +DEAL::71 1 +DEAL::72 1 +DEAL::73 1 +DEAL::74 0 +DEAL::75 0 +DEAL::76 4 +DEAL::77 4 +DEAL::78 1 +DEAL::79 1 +DEAL::80 1 +DEAL::81 1 +DEAL::82 0 +DEAL::83 0 +DEAL::84 0 +DEAL::85 0 +DEAL::86 0 +DEAL::87 0 +DEAL::88 0 +DEAL::89 0 +DEAL::90 0 +DEAL::91 0 +DEAL::92 0 +DEAL::93 0 +DEAL::94 0 +DEAL::95 3 +DEAL::96 3 +DEAL::97 3 +DEAL::98 3 +DEAL::99 3 +DEAL::100 4 +DEAL::101 4 +DEAL::102 4 +DEAL::103 4 +DEAL::104 1 +DEAL::105 1 +DEAL::106 1 +DEAL::107 1 +DEAL::108 1 +DEAL::109 0 +DEAL::110 0 +DEAL::111 0 +DEAL::112 4 +DEAL::113 4 +DEAL::114 4 +DEAL::115 4 +DEAL::116 4 +DEAL::117 2 +DEAL::118 4 +DEAL::119 3 +DEAL::120 3 +DEAL::121 3 +DEAL::122 3 +DEAL::123 3 +DEAL::124 3 +DEAL::125 4 +DEAL::126 4 +DEAL::127 4 +DEAL::128 2 +DEAL::129 2 +DEAL::130 2 +DEAL::131 4 +DEAL::132 4 +DEAL::133 2 +DEAL::134 2 +DEAL::135 1 +DEAL::136 1 +DEAL::137 4 +DEAL::138 4 +DEAL::139 3 +DEAL::140 3 +DEAL::141 2 +DEAL::142 2 +DEAL::143 2 +DEAL::144 0 +DEAL::145 0 +DEAL::146 0 +DEAL::147 2 +DEAL::148 2 +DEAL::149 1 +DEAL::150 1 +DEAL::151 0 +DEAL::152 0 +DEAL::153 0 +DEAL::154 2 +DEAL::155 2 +DEAL::156 2 +DEAL::157 2 +DEAL::158 2 +DEAL::159 1 +DEAL::160 1 +DEAL::161 1 +DEAL::162 1 +DEAL::163 2 +DEAL::164 2 +DEAL::165 2 +DEAL::166 2 +DEAL::167 2 +DEAL::168 1 +DEAL::169 1 +DEAL::170 1 +DEAL::171 1 +DEAL::172 0 +DEAL::173 0 +DEAL::174 0 +DEAL::175 0 +DEAL::176 0 +DEAL::177 0 +DEAL::178 0 +DEAL::179 3 +DEAL::180 3 +DEAL::181 3 +DEAL::182 4 +DEAL::183 4 +DEAL::184 4 +DEAL::185 4 +DEAL::186 4 +DEAL::187 2 +DEAL::188 2 +DEAL::189 4 +DEAL::190 4 +DEAL::191 4 +DEAL::192 2 +DEAL::193 2 +DEAL::194 2 +DEAL::195 2 +DEAL::196 2 +DEAL::197 2 +DEAL::198 2 +DEAL::199 1 +DEAL::200 1 +DEAL::201 1 +DEAL::202 3 +DEAL::203 3 +DEAL::204 3 +DEAL::205 3 +DEAL::206 2 +DEAL::207 2 +DEAL::208 2 +DEAL::209 2 +DEAL::210 2 +DEAL::211 2 +DEAL::212 1 +DEAL::213 1 +DEAL::214 1 +DEAL::215 3 +DEAL::216 3 +DEAL::217 2 +DEAL::218 2 +DEAL::219 2 +DEAL::220 2 +DEAL::221 4 +DEAL::222 4 +DEAL::223 4 +DEAL::224 4 +DEAL::225 2 +DEAL::226 2 +DEAL::227 2 +DEAL::228 2 +DEAL::229 2 +DEAL::230 2 +DEAL::2D +DEAL::Cell association: +DEAL::0 4.00000 +DEAL::1 3.00000 +DEAL::2 0 +DEAL::3 0 +DEAL::4 0 +DEAL::5 2.00000 +DEAL::6 2.00000 +DEAL::7 1.00000 +DEAL::8 4.00000 +DEAL::9 1.00000 +DEAL::10 1.00000 +DEAL::11 1.00000 +DEAL::12 0 +DEAL::13 0 +DEAL::14 2.00000 +DEAL::15 2.00000 +DEAL::16 1.00000 +DEAL::17 0 +DEAL::18 0 +DEAL::19 0 +DEAL::20 0 +DEAL::21 2.00000 +DEAL::22 3.00000 +DEAL::23 2.00000 +DEAL::24 2.00000 +DEAL::25 2.00000 +DEAL::26 4.00000 +DEAL::27 4.00000 +DEAL::28 4.00000 +DEAL::29 3.00000 +DEAL::30 3.00000 +DEAL::31 1.00000 +DEAL::32 4.00000 +DEAL::33 4.00000 +DEAL::34 0 +DEAL::35 0 +DEAL::36 0 +DEAL::37 4.00000 +DEAL::38 4.00000 +DEAL::39 2.00000 +DEAL::40 2.00000 +DEAL::41 1.00000 +DEAL::42 4.00000 +DEAL::43 4.00000 +DEAL::44 0 +DEAL::45 1.00000 +DEAL::46 0 +DEAL::47 0 +DEAL::48 2.00000 +DEAL::49 2.00000 +DEAL::50 2.00000 +DEAL::51 4.00000 +DEAL::52 4.00000 +DEAL::53 4.00000 +DEAL::54 3.00000 +DEAL::55 3.00000 +DEAL::56 3.00000 +DEAL::57 4.00000 +DEAL::58 4.00000 +DEAL::59 0 +DEAL::60 0 +DEAL::61 0 +DEAL::62 0 +DEAL::63 4.00000 +DEAL::64 0 +DEAL::65 1.00000 +DEAL::66 1.00000 +DEAL::67 4.00000 +DEAL::68 4.00000 +DEAL::69 4.00000 +DEAL::70 4.00000 +DEAL::71 4.00000 +DEAL::72 4.00000 +DEAL::73 0 +DEAL::74 0 +DEAL::75 0 +DEAL::76 4.00000 +DEAL::77 4.00000 +DEAL::78 4.00000 +DEAL::79 4.00000 +DEAL::80 4.00000 +DEAL::81 4.00000 +DEAL::82 4.00000 +DEAL::83 4.00000 +DEAL::84 2.00000 +DEAL::85 2.00000 +DEAL::86 2.00000 +DEAL::87 2.00000 +DEAL::88 4.00000 +DEAL::89 4.00000 +DEAL::90 4.00000 +DEAL::91 4.00000 +DEAL::92 1.00000 +DEAL::93 1.00000 +DEAL::94 1.00000 +DEAL::95 1.00000 +DEAL::96 1.00000 +DEAL::97 1.00000 +DEAL::98 1.00000 +DEAL::99 1.00000 +DEAL::100 0 +DEAL::101 0 +DEAL::102 0 +DEAL::103 0 +DEAL::104 3.00000 +DEAL::105 4.00000 +DEAL::106 2.00000 +DEAL::107 3.00000 +DEAL::108 3.00000 +DEAL::109 3.00000 +DEAL::110 0 +DEAL::111 0 +DEAL::112 3.00000 +DEAL::113 2.00000 +DEAL::114 1.00000 +DEAL::115 0 +DEAL::116 3.00000 +DEAL::117 0 +DEAL::118 3.00000 +DEAL::119 3.00000 +DEAL::120 3.00000 +DEAL::121 3.00000 +DEAL::122 3.00000 +DEAL::123 0 +DEAL::124 2.00000 +DEAL::125 2.00000 +DEAL::126 4.00000 +DEAL::127 1.00000 +DEAL::128 1.00000 +DEAL::129 0 +DEAL::130 0 +DEAL::131 0 +DEAL::132 2.00000 +DEAL::133 2.00000 +DEAL::134 2.00000 +DEAL::135 3.00000 +DEAL::136 0 +DEAL::137 2.00000 +DEAL::138 2.00000 +DEAL::139 4.00000 +DEAL::140 4.00000 +DEAL::141 1.00000 +DEAL::142 1.00000 +DEAL::143 1.00000 +DEAL::144 1.00000 +DEAL::145 2.00000 +DEAL::146 2.00000 +DEAL::147 2.00000 +DEAL::148 2.00000 +DEAL::149 1.00000 +DEAL::150 1.00000 +DEAL::151 1.00000 +DEAL::152 0 +DEAL::153 0 +DEAL::154 0 +DEAL::155 0 +DEAL::156 0 +DEAL::157 0 +DEAL::158 3.00000 +DEAL::159 3.00000 +DEAL::160 3.00000 +DEAL::161 3.00000 +DEAL::162 3.00000 +DEAL::163 3.00000 +DEAL::164 3.00000 +DEAL::165 3.00000 +DEAL::166 3.00000 +DEAL::167 3.00000 +DEAL::168 2.00000 +DEAL::169 2.00000 +DEAL::170 2.00000 +DEAL::171 3.00000 +DEAL::172 3.00000 +DEAL::173 3.00000 +DEAL::174 3.00000 +DEAL::175 3.00000 +DEAL::176 3.00000 +DEAL::177 3.00000 +DEAL::178 0 +DEAL::179 0 +DEAL::180 0 +DEAL::181 2.00000 +DEAL::182 2.00000 +DEAL::183 2.00000 +DEAL::184 2.00000 +DEAL::185 2.00000 +DEAL::186 2.00000 +DEAL::187 2.00000 +DEAL::188 4.00000 +DEAL::189 4.00000 +DEAL::190 4.00000 +DEAL::191 1.00000 +DEAL::192 1.00000 +DEAL::193 1.00000 +DEAL::194 1.00000 +DEAL::195 0 +DEAL::196 0 +DEAL::197 0 +DEAL::198 2.00000 +DEAL::199 2.00000 +DEAL::200 2.00000 +DEAL::201 2.00000 +DEAL::202 2.00000 +DEAL::203 2.00000 +DEAL::204 2.00000 +DEAL::205 4.00000 +DEAL::206 1.00000 +DEAL::207 3.00000 +DEAL::208 1.00000 +DEAL::209 1.00000 +DEAL::210 0 +DEAL::211 2.00000 +DEAL::212 2.00000 +DEAL::213 2.00000 +DEAL::214 2.00000 +DEAL::215 4.00000 +DEAL::216 4.00000 +DEAL::217 4.00000 +DEAL::218 1.00000 +DEAL::219 1.00000 +DEAL::220 1.00000 +DEAL::221 1.00000 +DEAL::222 1.00000 +DEAL::223 1.00000 +DEAL::224 1.00000 +DEAL::225 0 +DEAL::226 0 +DEAL::227 0 +DEAL::228 2.00000 +DEAL::229 2.00000 +DEAL::230 2.00000 +DEAL::231 2.00000 +DEAL::232 2.00000 +DEAL::233 2.00000 +DEAL::234 2.00000 +DEAL::235 2.00000 +DEAL::236 4.00000 +DEAL::237 1.00000 +DEAL::238 1.00000 +DEAL::239 1.00000 +DEAL::240 0 +DEAL::241 0 +DEAL::242 0 +DEAL::243 0 +DEAL::244 0 +DEAL::245 0 +DEAL::246 0 +DEAL::247 0 +DEAL::248 0 +DEAL::249 0 +DEAL::250 0 +DEAL::251 0 +DEAL::252 0 +DEAL::253 0 +DEAL::254 2.00000 +DEAL::255 2.00000 +DEAL::256 2.00000 +DEAL::257 4.00000 +DEAL::258 4.00000 +DEAL::259 4.00000 +DEAL::260 2.00000 +DEAL::261 2.00000 +DEAL::262 2.00000 +DEAL::263 2.00000 +DEAL::264 4.00000 +DEAL::265 4.00000 +DEAL::266 4.00000 +DEAL::267 4.00000 +DEAL::268 4.00000 +DEAL::269 4.00000 +DEAL::270 3.00000 +DEAL::271 3.00000 +DEAL::272 3.00000 +DEAL::273 3.00000 +DEAL::274 1.00000 +DEAL::275 1.00000 +DEAL::276 1.00000 +DEAL::277 3.00000 +DEAL::278 4.00000 +DEAL::279 3.00000 +DEAL::280 3.00000 +DEAL::281 4.00000 +DEAL::282 4.00000 +DEAL::283 4.00000 +DEAL::284 4.00000 +DEAL::285 4.00000 +DEAL::286 4.00000 +DEAL::287 2.00000 +DEAL::288 2.00000 +DEAL::289 2.00000 +DEAL::290 2.00000 +DEAL::291 1.00000 +DEAL::292 1.00000 +DEAL::293 1.00000 +DEAL::294 1.00000 +DEAL::295 1.00000 +DEAL::296 1.00000 +DEAL::297 1.00000 +DEAL::298 1.00000 +DEAL::299 4.00000 +DEAL::300 4.00000 +DEAL::301 4.00000 +DEAL::302 4.00000 +DEAL::303 1.00000 +DEAL::304 1.00000 +DEAL::305 0 +DEAL::306 1.00000 +DEAL::307 1.00000 +DEAL::308 1.00000 +DEAL::309 1.00000 +DEAL::310 1.00000 +DEAL::311 0 +DEAL::312 1.00000 +DEAL::313 1.00000 +DEAL::314 1.00000 +DEAL::315 0 +DEAL::316 0 +DEAL::317 0 +DEAL::318 0 +DEAL::319 2.00000 +DEAL::320 2.00000 +DEAL::321 2.00000 +DEAL::322 2.00000 +DEAL::323 3.00000 +DEAL::324 3.00000 +DEAL::325 3.00000 +DEAL::326 3.00000 +DEAL::327 4.00000 +DEAL::328 4.00000 +DEAL::329 4.00000 +DEAL::330 4.00000 +DEAL::331 4.00000 +DEAL::332 4.00000 +DEAL::333 3.00000 +DEAL::334 3.00000 +DEAL::335 1.00000 +DEAL::336 1.00000 +DEAL::337 1.00000 +DEAL::338 1.00000 +DEAL::339 0 +DEAL::340 0 +DEAL::341 0 +DEAL::342 0 +DEAL::343 0 +DEAL::344 0 +DEAL::345 0 +DEAL::346 0 +DEAL::347 2.00000 +DEAL::348 2.00000 +DEAL::349 2.00000 +DEAL::350 2.00000 +DEAL::351 2.00000 +DEAL::352 2.00000 +DEAL::353 2.00000 +DEAL::354 2.00000 +DEAL::355 3.00000 +DEAL::356 3.00000 +DEAL::357 3.00000 +DEAL::358 3.00000 +DEAL::359 3.00000 +DEAL::360 3.00000 +DEAL::361 3.00000 +DEAL::362 3.00000 +DEAL::363 0 +DEAL::364 0 +DEAL::365 0 +DEAL::366 0 +DEAL::367 2.00000 +DEAL::368 2.00000 +DEAL::369 2.00000 +DEAL::370 2.00000 +DEAL::371 2.00000 +DEAL::372 2.00000 +DEAL::373 2.00000 +DEAL::374 2.00000 +DEAL::375 4.00000 +DEAL::376 4.00000 +DEAL::377 4.00000 +DEAL::378 4.00000 +DEAL::379 1.00000 +DEAL::380 1.00000 +DEAL::381 1.00000 +DEAL::382 1.00000 +DEAL::383 0 +DEAL::384 0 +DEAL::385 0 +DEAL::386 0 +DEAL::387 2.00000 +DEAL::388 1.00000 +DEAL::389 1.00000 +DEAL::390 1.00000 +DEAL::391 1.00000 +DEAL::392 1.00000 +DEAL::393 1.00000 +DEAL::394 1.00000 +DEAL::395 1.00000 +DEAL::396 1.00000 +DEAL::397 1.00000 +DEAL::398 1.00000 +DEAL::399 1.00000 +DEAL::400 1.00000 +DEAL::401 1.00000 +DEAL::402 1.00000 +DEAL::403 0 +DEAL::404 0 +DEAL::405 0 +DEAL::406 0 +DEAL::407 1.00000 +DEAL::408 0 +DEAL::409 1.00000 +DEAL::410 0 +DEAL::411 0 +DEAL::412 0 +DEAL::413 0 +DEAL::414 0 +DEAL::415 2.00000 +DEAL::416 2.00000 +DEAL::417 2.00000 +DEAL::418 2.00000 +DEAL::419 2.00000 +DEAL::420 2.00000 +DEAL::421 2.00000 +DEAL::422 2.00000 +DEAL::423 4.00000 +DEAL::424 4.00000 +DEAL::425 4.00000 +DEAL::426 4.00000 +DEAL::427 4.00000 +DEAL::428 4.00000 +DEAL::429 4.00000 +DEAL::430 3.00000 +DEAL::431 2.00000 +DEAL::432 2.00000 +DEAL::433 2.00000 +DEAL::434 2.00000 +DEAL::435 4.00000 +DEAL::436 4.00000 +DEAL::437 4.00000 +DEAL::438 4.00000 +DEAL::439 4.00000 +DEAL::440 4.00000 +DEAL::441 4.00000 +DEAL::442 4.00000 +DEAL::443 3.00000 +DEAL::444 4.00000 +DEAL::445 3.00000 +DEAL::446 4.00000 +DEAL::447 1.00000 +DEAL::448 1.00000 +DEAL::449 1.00000 +DEAL::450 1.00000 +DEAL::451 1.00000 +DEAL::452 1.00000 +DEAL::453 1.00000 +DEAL::454 1.00000 +DEAL::455 4.00000 +DEAL::456 4.00000 +DEAL::457 4.00000 +DEAL::458 4.00000 +DEAL::459 3.00000 +DEAL::460 4.00000 +DEAL::461 3.00000 +DEAL::462 3.00000 +DEAL::463 3.00000 +DEAL::464 3.00000 +DEAL::465 3.00000 +DEAL::466 3.00000 +DEAL::467 3.00000 +DEAL::468 3.00000 +DEAL::469 3.00000 +DEAL::470 3.00000 +DEAL::471 0 +DEAL::472 0 +DEAL::473 0 +DEAL::474 0 +DEAL::475 4.00000 +DEAL::476 4.00000 +DEAL::477 4.00000 +DEAL::478 4.00000 +DEAL::479 4.00000 +DEAL::480 4.00000 +DEAL::481 4.00000 +DEAL::482 4.00000 +DEAL::483 4.00000 +DEAL::484 4.00000 +DEAL::485 4.00000 +DEAL::486 4.00000 +DEAL::487 4.00000 +DEAL::488 4.00000 +DEAL::489 1.00000 +DEAL::490 1.00000 +DEAL::491 1.00000 +DEAL::492 1.00000 +DEAL::493 1.00000 +DEAL::494 1.00000 +DEAL::495 1.00000 +DEAL::496 1.00000 +DEAL::497 1.00000 +DEAL::498 1.00000 +DEAL::499 4.00000 +DEAL::500 4.00000 +DEAL::501 4.00000 +DEAL::502 4.00000 +DEAL::503 1.00000 +DEAL::504 1.00000 +DEAL::505 1.00000 +DEAL::506 1.00000 +DEAL::507 0 +DEAL::508 0 +DEAL::509 0 +DEAL::510 0 +DEAL::511 1.00000 +DEAL::512 1.00000 +DEAL::513 1.00000 +DEAL::514 1.00000 +DEAL::515 1.00000 +DEAL::516 1.00000 +DEAL::517 1.00000 +DEAL::518 1.00000 +DEAL::519 1.00000 +DEAL::520 1.00000 +DEAL::521 1.00000 +DEAL::522 1.00000 +DEAL::523 0 +DEAL::524 0 +DEAL::525 0 +DEAL::526 0 +DEAL::527 0 +DEAL::528 0 +DEAL::529 0 +DEAL::530 0 +DEAL::531 0 +DEAL::532 0 +DEAL::533 0 +DEAL::534 0 +DEAL::535 2.00000 +DEAL::536 2.00000 +DEAL::537 2.00000 +DEAL::538 2.00000 +DEAL::539 4.00000 +DEAL::540 4.00000 +DEAL::541 4.00000 +DEAL::542 4.00000 +DEAL::543 3.00000 +DEAL::544 3.00000 +DEAL::545 3.00000 +DEAL::546 3.00000 +DEAL::547 3.00000 +DEAL::548 3.00000 +DEAL::549 3.00000 +DEAL::550 3.00000 +DEAL::551 4.00000 +DEAL::552 4.00000 +DEAL::553 4.00000 +DEAL::554 4.00000 +DEAL::555 0 +DEAL::556 0 +DEAL::557 0 +DEAL::558 0 +DEAL::559 0 +DEAL::560 0 +DEAL::561 0 +DEAL::562 0 +DEAL::563 1.00000 +DEAL::564 1.00000 +DEAL::565 1.00000 +DEAL::566 1.00000 +DEAL::567 1.00000 +DEAL::568 1.00000 +DEAL::569 1.00000 +DEAL::570 1.00000 +DEAL::571 4.00000 +DEAL::572 4.00000 +DEAL::573 4.00000 +DEAL::574 4.00000 +DEAL::575 4.00000 +DEAL::576 4.00000 +DEAL::577 4.00000 +DEAL::578 4.00000 +DEAL::579 0 +DEAL::580 0 +DEAL::581 0 +DEAL::582 0 +DEAL::583 3.00000 +DEAL::584 4.00000 +DEAL::585 2.00000 +DEAL::586 2.00000 +DEAL::587 2.00000 +DEAL::588 3.00000 +DEAL::589 3.00000 +DEAL::590 3.00000 +DEAL::591 3.00000 +DEAL::592 0 +DEAL::593 0 +DEAL::594 0 +DEAL::595 0 +DEAL::596 2.00000 +DEAL::597 1.00000 +DEAL::598 1.00000 +DEAL::599 1.00000 +DEAL::600 3.00000 +DEAL::601 3.00000 +DEAL::602 3.00000 +DEAL::603 3.00000 +DEAL::604 4.00000 +DEAL::605 4.00000 +DEAL::606 4.00000 +DEAL::607 2.00000 +DEAL::608 2.00000 +DEAL::609 2.00000 +DEAL::610 3.00000 +DEAL::611 3.00000 +DEAL::612 3.00000 +DEAL::613 3.00000 +DEAL::614 3.00000 +DEAL::615 3.00000 +DEAL::616 3.00000 +DEAL::617 2.00000 +DEAL::618 2.00000 +DEAL::619 2.00000 +DEAL::620 1.00000 +DEAL::621 1.00000 +DEAL::622 1.00000 +DEAL::623 1.00000 +DEAL::624 0 +DEAL::625 0 +DEAL::626 0 +DEAL::627 4.00000 +DEAL::628 4.00000 +DEAL::629 4.00000 +DEAL::630 3.00000 +DEAL::631 3.00000 +DEAL::632 3.00000 +DEAL::633 3.00000 +DEAL::634 2.00000 +DEAL::635 2.00000 +DEAL::636 2.00000 +DEAL::637 3.00000 +DEAL::638 3.00000 +DEAL::639 3.00000 +DEAL::640 3.00000 +DEAL::641 3.00000 +DEAL::642 3.00000 +DEAL::643 3.00000 +DEAL::644 0 +DEAL::645 0 +DEAL::646 0 +DEAL::647 4.00000 +DEAL::648 4.00000 +DEAL::649 4.00000 +DEAL::650 1.00000 +DEAL::651 1.00000 +DEAL::652 1.00000 +DEAL::653 1.00000 +DEAL::654 2.00000 +DEAL::655 2.00000 +DEAL::656 2.00000 +DEAL::657 2.00000 +DEAL::658 2.00000 +DEAL::659 2.00000 +DEAL::660 2.00000 +DEAL::661 2.00000 +DEAL::662 2.00000 +DEAL::663 2.00000 +DEAL::664 3.00000 +DEAL::665 3.00000 +DEAL::666 3.00000 +DEAL::667 3.00000 +DEAL::668 3.00000 +DEAL::669 3.00000 +DEAL::670 2.00000 +DEAL::671 2.00000 +DEAL::672 2.00000 +DEAL::673 2.00000 +DEAL::674 1.00000 +DEAL::675 1.00000 +DEAL::676 1.00000 +DEAL::677 1.00000 +DEAL::678 1.00000 +DEAL::679 1.00000 +DEAL::680 1.00000 +DEAL::681 1.00000 +DEAL::682 1.00000 +DEAL::683 1.00000 +DEAL::684 1.00000 +DEAL::685 1.00000 +DEAL::686 0 +DEAL::687 0 +DEAL::688 0 +DEAL::689 0 +DEAL::690 0 +DEAL::691 0 +DEAL::692 0 +DEAL::693 0 +DEAL::694 3.00000 +DEAL::695 3.00000 +DEAL::696 3.00000 +DEAL::697 3.00000 +DEAL::698 4.00000 +DEAL::699 4.00000 +DEAL::700 4.00000 +DEAL::701 4.00000 +DEAL::702 2.00000 +DEAL::703 2.00000 +DEAL::704 2.00000 +DEAL::705 2.00000 +DEAL::706 3.00000 +DEAL::707 3.00000 +DEAL::708 3.00000 +DEAL::709 3.00000 +DEAL::710 3.00000 +DEAL::711 3.00000 +DEAL::712 3.00000 +DEAL::713 3.00000 +DEAL::714 0 +DEAL::715 0 +DEAL::716 0 +DEAL::717 0 +DEAL::718 3.00000 +DEAL::719 3.00000 +DEAL::720 3.00000 +DEAL::721 3.00000 +DEAL::722 2.00000 +DEAL::723 2.00000 +DEAL::724 2.00000 +DEAL::725 2.00000 +DEAL::726 1.00000 +DEAL::727 1.00000 +DEAL::728 1.00000 +DEAL::729 1.00000 +DEAL::730 0 +DEAL::731 0 +DEAL::732 0 +DEAL::733 0 +DEAL::734 0 +DEAL::735 0 +DEAL::736 0 +DEAL::737 0 +DEAL::738 4.00000 +DEAL::739 4.00000 +DEAL::740 4.00000 +DEAL::741 4.00000 +DEAL::742 4.00000 +DEAL::743 4.00000 +DEAL::744 4.00000 +DEAL::745 4.00000 +DEAL::746 4.00000 +DEAL::747 4.00000 +DEAL::748 4.00000 +DEAL::749 4.00000 +DEAL::750 2.00000 +DEAL::751 2.00000 +DEAL::752 2.00000 +DEAL::753 2.00000 +DEAL::754 2.00000 +DEAL::755 2.00000 +DEAL::756 2.00000 +DEAL::757 2.00000 +DEAL::758 2.00000 +DEAL::759 2.00000 +DEAL::760 2.00000 +DEAL::761 2.00000 +DEAL::762 3.00000 +DEAL::763 3.00000 +DEAL::764 3.00000 +DEAL::765 3.00000 +DEAL::766 3.00000 +DEAL::767 3.00000 +DEAL::768 3.00000 +DEAL::769 3.00000 +DEAL::770 0 +DEAL::771 0 +DEAL::772 0 +DEAL::773 0 +DEAL::774 0 +DEAL::775 0 +DEAL::776 0 +DEAL::777 0 +DEAL::778 2.00000 +DEAL::779 2.00000 +DEAL::780 2.00000 +DEAL::781 2.00000 +DEAL::782 2.00000 +DEAL::783 2.00000 +DEAL::784 2.00000 +DEAL::785 2.00000 +DEAL::786 4.00000 +DEAL::787 4.00000 +DEAL::788 4.00000 +DEAL::789 4.00000 +DEAL::790 4.00000 +DEAL::791 4.00000 +DEAL::792 4.00000 +DEAL::793 4.00000 +DEAL::794 1.00000 +DEAL::795 1.00000 +DEAL::796 1.00000 +DEAL::797 1.00000 +DEAL::798 0 +DEAL::799 0 +DEAL::800 0 +DEAL::801 0 +DEAL::802 2.00000 +DEAL::803 2.00000 +DEAL::804 2.00000 +DEAL::805 2.00000 +DEAL::806 2.00000 +DEAL::807 2.00000 +DEAL::808 2.00000 +DEAL::809 2.00000 +DEAL::810 3.00000 +DEAL::811 3.00000 +DEAL::812 3.00000 +DEAL::813 3.00000 +DEAL::814 3.00000 +DEAL::815 3.00000 +DEAL::816 3.00000 +DEAL::817 3.00000 +DEAL::818 0 +DEAL::819 0 +DEAL::820 0 +DEAL::821 0 +DEAL::822 0 +DEAL::823 0 +DEAL::824 0 +DEAL::825 3.00000 +DEAL::826 2.00000 +DEAL::827 2.00000 +DEAL::828 2.00000 +DEAL::829 2.00000 +DEAL::830 4.00000 +DEAL::831 4.00000 +DEAL::832 4.00000 +DEAL::833 4.00000 +DEAL::834 4.00000 +DEAL::835 4.00000 +DEAL::836 4.00000 +DEAL::837 4.00000 +DEAL::838 1.00000 +DEAL::839 1.00000 +DEAL::840 1.00000 +DEAL::841 1.00000 +DEAL::842 1.00000 +DEAL::843 1.00000 +DEAL::844 1.00000 +DEAL::845 1.00000 +DEAL::846 1.00000 +DEAL::847 1.00000 +DEAL::848 1.00000 +DEAL::849 1.00000 +DEAL::850 1.00000 +DEAL::851 1.00000 +DEAL::852 1.00000 +DEAL::853 1.00000 +DEAL::854 1.00000 +DEAL::855 1.00000 +DEAL::856 1.00000 +DEAL::857 1.00000 +DEAL::858 0 +DEAL::859 0 +DEAL::860 0 +DEAL::861 0 +DEAL::862 0 +DEAL::863 0 +DEAL::864 0 +DEAL::865 0 +DEAL::866 0 +DEAL::867 0 +DEAL::868 0 +DEAL::869 0 +DEAL::870 0 +DEAL::871 0 +DEAL::872 0 +DEAL::873 0 +DEAL::874 3.00000 +DEAL::875 3.00000 +DEAL::876 3.00000 +DEAL::877 3.00000 +DEAL::878 3.00000 +DEAL::879 3.00000 +DEAL::880 3.00000 +DEAL::881 3.00000 +DEAL::882 2.00000 +DEAL::883 2.00000 +DEAL::884 2.00000 +DEAL::885 2.00000 +DEAL::886 3.00000 +DEAL::887 3.00000 +DEAL::888 3.00000 +DEAL::889 3.00000 +DEAL::890 0 +DEAL::891 0 +DEAL::892 0 +DEAL::893 0 +DEAL::894 2.00000 +DEAL::895 2.00000 +DEAL::896 2.00000 +DEAL::897 2.00000 +DEAL::898 4.00000 +DEAL::899 4.00000 +DEAL::900 4.00000 +DEAL::901 4.00000 +DEAL::902 0 +DEAL::903 0 +DEAL::904 0 +DEAL::905 0 +DEAL::906 2.00000 +DEAL::907 2.00000 +DEAL::908 2.00000 +DEAL::909 2.00000 +DEAL::910 3.00000 +DEAL::911 3.00000 +DEAL::912 3.00000 +DEAL::913 3.00000 +DEAL::914 1.00000 +DEAL::915 1.00000 +DEAL::916 0 +DEAL::917 0 +DEAL::918 4.00000 +DEAL::919 4.00000 +DEAL::920 4.00000 +DEAL::921 4.00000 +DEAL::922 1.00000 +DEAL::923 1.00000 +DEAL::924 1.00000 +DEAL::925 1.00000 +DEAL::926 0 +DEAL::927 0 +DEAL::928 0 +DEAL::929 0 +DEAL::930 2.00000 +DEAL::931 2.00000 +DEAL::932 1.00000 +DEAL::933 1.00000 +DEAL::934 2.00000 +DEAL::935 2.00000 +DEAL::936 2.00000 +DEAL::937 2.00000 +DEAL::938 4.00000 +DEAL::939 4.00000 +DEAL::940 4.00000 +DEAL::941 4.00000 +DEAL::942 1.00000 +DEAL::943 1.00000 +DEAL::944 1.00000 +DEAL::945 1.00000 +DEAL::946 0 +DEAL::947 0 +DEAL::948 0 +DEAL::949 0 +DEAL::950 0 +DEAL::951 0 +DEAL::952 0 +DEAL::953 0 +DEAL::954 2.00000 +DEAL::955 2.00000 +DEAL::956 2.00000 +DEAL::957 2.00000 +DEAL::958 4.00000 +DEAL::959 4.00000 +DEAL::960 4.00000 +DEAL::961 4.00000 +DEAL::962 4.00000 +DEAL::963 4.00000 +DEAL::964 4.00000 +DEAL::965 4.00000 +DEAL::966 4.00000 +DEAL::967 4.00000 +DEAL::968 4.00000 +DEAL::969 4.00000 +DEAL::970 1.00000 +DEAL::971 1.00000 +DEAL::972 1.00000 +DEAL::973 1.00000 +DEAL::974 4.00000 +DEAL::975 4.00000 +DEAL::976 4.00000 +DEAL::977 4.00000 +DEAL::978 4.00000 +DEAL::979 4.00000 +DEAL::980 4.00000 +DEAL::981 4.00000 +DEAL::982 2.00000 +DEAL::983 2.00000 +DEAL::984 1.00000 +DEAL::985 1.00000 +DEAL::986 1.00000 +DEAL::987 1.00000 +DEAL::988 1.00000 +DEAL::989 1.00000 +DEAL::990 4.00000 +DEAL::991 4.00000 +DEAL::992 4.00000 +DEAL::993 4.00000 +DEAL::994 1.00000 +DEAL::995 1.00000 +DEAL::996 1.00000 +DEAL::997 1.00000 +DEAL::998 1.00000 +DEAL::999 0 +DEAL::1000 0 +DEAL::1001 0 +DEAL::1002 1.00000 +DEAL::1003 1.00000 +DEAL::1004 1.00000 +DEAL::1005 1.00000 +DEAL::1006 1.00000 +DEAL::1007 0 +DEAL::1008 1.00000 +DEAL::1009 0 +DEAL::1010 1.00000 +DEAL::1011 1.00000 +DEAL::1012 1.00000 +DEAL::1013 1.00000 +DEAL::1014 3.00000 +DEAL::1015 4.00000 +DEAL::1016 4.00000 +DEAL::1017 4.00000 +DEAL::1018 3.00000 +DEAL::1019 3.00000 +DEAL::1020 3.00000 +DEAL::1021 3.00000 +DEAL::1022 3.00000 +DEAL::1023 3.00000 +DEAL::1024 3.00000 +DEAL::1025 3.00000 +DEAL::1026 3.00000 +DEAL::1027 3.00000 +DEAL::1028 3.00000 +DEAL::1029 3.00000 +DEAL::1030 3.00000 +DEAL::1031 3.00000 +DEAL::1032 2.00000 +DEAL::1033 2.00000 +DEAL::1034 2.00000 +DEAL::1035 3.00000 +DEAL::1036 3.00000 +DEAL::1037 3.00000 +DEAL::1038 3.00000 +DEAL::1039 3.00000 +DEAL::1040 3.00000 +DEAL::1041 3.00000 +DEAL::1042 3.00000 +DEAL::1043 4.00000 +DEAL::1044 4.00000 +DEAL::1045 4.00000 +DEAL::1046 4.00000 +DEAL::1047 4.00000 +DEAL::1048 4.00000 +DEAL::1049 4.00000 +DEAL::1050 4.00000 +DEAL::1051 2.00000 +DEAL::1052 2.00000 +DEAL::1053 2.00000 +DEAL::1054 2.00000 +DEAL::1055 3.00000 +DEAL::1056 3.00000 +DEAL::1057 3.00000 +DEAL::1058 3.00000 +DEAL::1059 3.00000 +DEAL::1060 3.00000 +DEAL::1061 3.00000 +DEAL::1062 3.00000 +DEAL::1063 3.00000 +DEAL::1064 3.00000 +DEAL::1065 3.00000 +DEAL::1066 3.00000 +DEAL::1067 3.00000 +DEAL::1068 3.00000 +DEAL::1069 3.00000 +DEAL::1070 3.00000 +DEAL::1071 2.00000 +DEAL::1072 2.00000 +DEAL::1073 2.00000 +DEAL::1074 2.00000 +DEAL::1075 2.00000 +DEAL::1076 2.00000 +DEAL::1077 2.00000 +DEAL::1078 2.00000 +DEAL::1079 1.00000 +DEAL::1080 1.00000 +DEAL::1081 1.00000 +DEAL::1082 1.00000 +DEAL::1083 4.00000 +DEAL::1084 4.00000 +DEAL::1085 4.00000 +DEAL::1086 4.00000 +DEAL::1087 2.00000 +DEAL::1088 2.00000 +DEAL::1089 2.00000 +DEAL::1090 2.00000 +DEAL::1091 0 +DEAL::1092 0 +DEAL::1093 0 +DEAL::1094 3.00000 +DEAL::1095 2.00000 +DEAL::1096 2.00000 +DEAL::1097 2.00000 +DEAL::1098 2.00000 +DEAL::1099 0 +DEAL::1100 0 +DEAL::1101 0 +DEAL::1102 0 +DEAL::1103 4.00000 +DEAL::1104 4.00000 +DEAL::1105 4.00000 +DEAL::1106 4.00000 +DEAL::1107 2.00000 +DEAL::1108 2.00000 +DEAL::1109 2.00000 +DEAL::1110 2.00000 +DEAL::1111 3.00000 +DEAL::1112 3.00000 +DEAL::1113 3.00000 +DEAL::1114 3.00000 +DEAL::1115 0 +DEAL::1116 0 +DEAL::1117 0 +DEAL::1118 0 +DEAL::1119 4.00000 +DEAL::1120 4.00000 +DEAL::1121 4.00000 +DEAL::1122 4.00000 +DEAL::1123 2.00000 +DEAL::1124 2.00000 +DEAL::1125 2.00000 +DEAL::1126 2.00000 +DEAL::1127 2.00000 +DEAL::1128 2.00000 +DEAL::1129 2.00000 +DEAL::1130 2.00000 +DEAL::1131 3.00000 +DEAL::1132 3.00000 +DEAL::1133 3.00000 +DEAL::1134 3.00000 +DEAL::1135 3.00000 +DEAL::1136 3.00000 +DEAL::1137 3.00000 +DEAL::1138 3.00000 +DEAL::1139 1.00000 +DEAL::1140 1.00000 +DEAL::1141 1.00000 +DEAL::1142 1.00000 +DEAL::1143 1.00000 +DEAL::1144 1.00000 +DEAL::1145 1.00000 +DEAL::1146 1.00000 +DEAL::1147 1.00000 +DEAL::1148 1.00000 +DEAL::1149 1.00000 +DEAL::1150 1.00000 +DEAL::1151 0 +DEAL::1152 0 +DEAL::1153 0 +DEAL::1154 0 +DEAL::1155 3.00000 +DEAL::1156 3.00000 +DEAL::1157 3.00000 +DEAL::1158 3.00000 +DEAL::1159 3.00000 +DEAL::1160 3.00000 +DEAL::1161 3.00000 +DEAL::1162 3.00000 +DEAL::1163 3.00000 +DEAL::1164 3.00000 +DEAL::1165 3.00000 +DEAL::1166 4.00000 +DEAL::1167 4.00000 +DEAL::1168 4.00000 +DEAL::1169 4.00000 +DEAL::1170 3.00000 +DEAL::1171 3.00000 +DEAL::1172 3.00000 +DEAL::1173 3.00000 +DEAL::1174 3.00000 +DEAL::1175 3.00000 +DEAL::1176 3.00000 +DEAL::1177 3.00000 +DEAL::1178 2.00000 +DEAL::1179 2.00000 +DEAL::1180 2.00000 +DEAL::1181 2.00000 +DEAL::1182 3.00000 +DEAL::1183 3.00000 +DEAL::1184 3.00000 +DEAL::1185 3.00000 +DEAL::DoF association: +DEAL::0 4 +DEAL::1 4 +DEAL::2 0 +DEAL::3 4 +DEAL::4 4 +DEAL::5 4 +DEAL::6 4 +DEAL::7 4 +DEAL::8 4 +DEAL::9 3 +DEAL::10 3 +DEAL::11 3 +DEAL::12 3 +DEAL::13 3 +DEAL::14 3 +DEAL::15 3 +DEAL::16 3 +DEAL::17 3 +DEAL::18 0 +DEAL::19 0 +DEAL::20 0 +DEAL::21 0 +DEAL::22 0 +DEAL::23 0 +DEAL::24 0 +DEAL::25 0 +DEAL::26 0 +DEAL::27 0 +DEAL::28 0 +DEAL::29 0 +DEAL::30 0 +DEAL::31 0 +DEAL::32 0 +DEAL::33 0 +DEAL::34 0 +DEAL::35 0 +DEAL::36 0 +DEAL::37 2 +DEAL::38 2 +DEAL::39 2 +DEAL::40 2 +DEAL::41 2 +DEAL::42 2 +DEAL::43 2 +DEAL::44 2 +DEAL::45 2 +DEAL::46 2 +DEAL::47 2 +DEAL::48 2 +DEAL::49 2 +DEAL::50 2 +DEAL::51 2 +DEAL::52 2 +DEAL::53 2 +DEAL::54 1 +DEAL::55 3 +DEAL::56 1 +DEAL::57 3 +DEAL::58 1 +DEAL::59 1 +DEAL::60 1 +DEAL::61 1 +DEAL::62 1 +DEAL::63 4 +DEAL::64 4 +DEAL::65 4 +DEAL::66 4 +DEAL::67 4 +DEAL::68 4 +DEAL::69 4 +DEAL::70 4 +DEAL::71 4 +DEAL::72 1 +DEAL::73 1 +DEAL::74 1 +DEAL::75 1 +DEAL::76 1 +DEAL::77 1 +DEAL::78 1 +DEAL::79 1 +DEAL::80 1 +DEAL::81 1 +DEAL::82 1 +DEAL::83 1 +DEAL::84 1 +DEAL::85 1 +DEAL::86 1 +DEAL::87 1 +DEAL::88 1 +DEAL::89 1 +DEAL::90 1 +DEAL::91 1 +DEAL::92 1 +DEAL::93 1 +DEAL::94 1 +DEAL::95 0 +DEAL::96 0 +DEAL::97 0 +DEAL::98 0 +DEAL::99 0 +DEAL::100 0 +DEAL::101 0 +DEAL::102 0 +DEAL::103 0 +DEAL::104 0 +DEAL::105 0 +DEAL::106 0 +DEAL::107 0 +DEAL::108 0 +DEAL::109 0 +DEAL::110 2 +DEAL::111 2 +DEAL::112 2 +DEAL::113 2 +DEAL::114 2 +DEAL::115 2 +DEAL::116 2 +DEAL::117 2 +DEAL::118 2 +DEAL::119 2 +DEAL::120 1 +DEAL::121 2 +DEAL::122 2 +DEAL::123 2 +DEAL::124 2 +DEAL::125 1 +DEAL::126 1 +DEAL::127 1 +DEAL::128 1 +DEAL::129 1 +DEAL::130 1 +DEAL::131 1 +DEAL::132 1 +DEAL::133 1 +DEAL::134 1 +DEAL::135 1 +DEAL::136 0 +DEAL::137 1 +DEAL::138 0 +DEAL::139 0 +DEAL::140 0 +DEAL::141 0 +DEAL::142 1 +DEAL::143 0 +DEAL::144 0 +DEAL::145 0 +DEAL::146 0 +DEAL::147 0 +DEAL::148 0 +DEAL::149 0 +DEAL::150 0 +DEAL::151 1 +DEAL::152 1 +DEAL::153 0 +DEAL::154 1 +DEAL::155 0 +DEAL::156 0 +DEAL::157 0 +DEAL::158 0 +DEAL::159 0 +DEAL::160 0 +DEAL::161 0 +DEAL::162 0 +DEAL::163 2 +DEAL::164 2 +DEAL::165 2 +DEAL::166 2 +DEAL::167 2 +DEAL::168 2 +DEAL::169 2 +DEAL::170 4 +DEAL::171 4 +DEAL::172 3 +DEAL::173 3 +DEAL::174 3 +DEAL::175 3 +DEAL::176 3 +DEAL::177 3 +DEAL::178 3 +DEAL::179 2 +DEAL::180 2 +DEAL::181 2 +DEAL::182 2 +DEAL::183 2 +DEAL::184 2 +DEAL::185 2 +DEAL::186 2 +DEAL::187 2 +DEAL::188 4 +DEAL::189 2 +DEAL::190 4 +DEAL::191 2 +DEAL::192 4 +DEAL::193 2 +DEAL::194 2 +DEAL::195 2 +DEAL::196 4 +DEAL::197 2 +DEAL::198 4 +DEAL::199 2 +DEAL::200 4 +DEAL::201 4 +DEAL::202 2 +DEAL::203 2 +DEAL::204 4 +DEAL::205 4 +DEAL::206 4 +DEAL::207 4 +DEAL::208 4 +DEAL::209 4 +DEAL::210 4 +DEAL::211 4 +DEAL::212 2 +DEAL::213 4 +DEAL::214 4 +DEAL::215 4 +DEAL::216 4 +DEAL::217 4 +DEAL::218 4 +DEAL::219 4 +DEAL::220 3 +DEAL::221 3 +DEAL::222 3 +DEAL::223 3 +DEAL::224 3 +DEAL::225 3 +DEAL::226 4 +DEAL::227 3 +DEAL::228 3 +DEAL::229 3 +DEAL::230 3 +DEAL::231 3 +DEAL::232 3 +DEAL::233 3 +DEAL::234 1 +DEAL::235 1 +DEAL::236 1 +DEAL::237 1 +DEAL::238 1 +DEAL::239 1 +DEAL::240 4 +DEAL::241 4 +DEAL::242 4 +DEAL::243 4 +DEAL::244 4 +DEAL::245 4 +DEAL::246 4 +DEAL::247 4 +DEAL::248 4 +DEAL::249 3 +DEAL::250 4 +DEAL::251 4 +DEAL::252 4 +DEAL::253 4 +DEAL::254 4 +DEAL::255 4 +DEAL::256 4 +DEAL::257 4 +DEAL::258 0 +DEAL::259 0 +DEAL::260 0 +DEAL::261 0 +DEAL::262 0 +DEAL::263 0 +DEAL::264 0 +DEAL::265 0 +DEAL::266 0 +DEAL::267 4 +DEAL::268 0 +DEAL::269 0 +DEAL::270 0 +DEAL::271 0 +DEAL::272 0 +DEAL::273 0 +DEAL::274 0 +DEAL::275 0 +DEAL::276 0 +DEAL::277 0 +DEAL::278 4 +DEAL::279 4 +DEAL::280 4 +DEAL::281 0 +DEAL::282 4 +DEAL::283 4 +DEAL::284 4 +DEAL::285 4 +DEAL::286 4 +DEAL::287 4 +DEAL::288 4 +DEAL::289 4 +DEAL::290 4 +DEAL::291 2 +DEAL::292 2 +DEAL::293 2 +DEAL::294 2 +DEAL::295 2 +DEAL::296 2 +DEAL::297 2 +DEAL::298 2 +DEAL::299 2 +DEAL::300 1 +DEAL::301 1 +DEAL::302 2 +DEAL::303 2 +DEAL::304 2 +DEAL::305 1 +DEAL::306 1 +DEAL::307 1 +DEAL::308 1 +DEAL::309 1 +DEAL::310 1 +DEAL::311 1 +DEAL::312 1 +DEAL::313 1 +DEAL::314 4 +DEAL::315 4 +DEAL::316 4 +DEAL::317 4 +DEAL::318 4 +DEAL::319 4 +DEAL::320 4 +DEAL::321 4 +DEAL::322 4 +DEAL::323 4 +DEAL::324 4 +DEAL::325 4 +DEAL::326 4 +DEAL::327 4 +DEAL::328 1 +DEAL::329 1 +DEAL::330 0 +DEAL::331 0 +DEAL::332 0 +DEAL::333 1 +DEAL::334 0 +DEAL::335 0 +DEAL::336 1 +DEAL::337 1 +DEAL::338 1 +DEAL::339 1 +DEAL::340 1 +DEAL::341 1 +DEAL::342 1 +DEAL::343 1 +DEAL::344 1 +DEAL::345 0 +DEAL::346 0 +DEAL::347 0 +DEAL::348 0 +DEAL::349 0 +DEAL::350 0 +DEAL::351 0 +DEAL::352 0 +DEAL::353 0 +DEAL::354 0 +DEAL::355 0 +DEAL::356 0 +DEAL::357 2 +DEAL::358 2 +DEAL::359 2 +DEAL::360 2 +DEAL::361 2 +DEAL::362 2 +DEAL::363 2 +DEAL::364 2 +DEAL::365 2 +DEAL::366 2 +DEAL::367 4 +DEAL::368 2 +DEAL::369 2 +DEAL::370 2 +DEAL::371 4 +DEAL::372 4 +DEAL::373 4 +DEAL::374 4 +DEAL::375 4 +DEAL::376 4 +DEAL::377 4 +DEAL::378 4 +DEAL::379 4 +DEAL::380 4 +DEAL::381 4 +DEAL::382 4 +DEAL::383 4 +DEAL::384 4 +DEAL::385 4 +DEAL::386 4 +DEAL::387 4 +DEAL::388 4 +DEAL::389 3 +DEAL::390 3 +DEAL::391 3 +DEAL::392 3 +DEAL::393 3 +DEAL::394 3 +DEAL::395 3 +DEAL::396 3 +DEAL::397 3 +DEAL::398 3 +DEAL::399 3 +DEAL::400 3 +DEAL::401 4 +DEAL::402 3 +DEAL::403 3 +DEAL::404 3 +DEAL::405 3 +DEAL::406 3 +DEAL::407 4 +DEAL::408 4 +DEAL::409 4 +DEAL::410 4 +DEAL::411 4 +DEAL::412 4 +DEAL::413 4 +DEAL::414 4 +DEAL::415 4 +DEAL::416 4 +DEAL::417 0 +DEAL::418 0 +DEAL::419 0 +DEAL::420 0 +DEAL::421 0 +DEAL::422 0 +DEAL::423 0 +DEAL::424 0 +DEAL::425 0 +DEAL::426 0 +DEAL::427 0 +DEAL::428 0 +DEAL::429 0 +DEAL::430 0 +DEAL::431 4 +DEAL::432 0 +DEAL::433 0 +DEAL::434 0 +DEAL::435 4 +DEAL::436 4 +DEAL::437 4 +DEAL::438 0 +DEAL::439 0 +DEAL::440 1 +DEAL::441 1 +DEAL::442 1 +DEAL::443 1 +DEAL::444 1 +DEAL::445 1 +DEAL::446 1 +DEAL::447 1 +DEAL::448 1 +DEAL::449 1 +DEAL::450 1 +DEAL::451 1 +DEAL::452 4 +DEAL::453 4 +DEAL::454 4 +DEAL::455 4 +DEAL::456 4 +DEAL::457 4 +DEAL::458 4 +DEAL::459 4 +DEAL::460 4 +DEAL::461 4 +DEAL::462 4 +DEAL::463 4 +DEAL::464 4 +DEAL::465 4 +DEAL::466 4 +DEAL::467 4 +DEAL::468 4 +DEAL::469 4 +DEAL::470 4 +DEAL::471 4 +DEAL::472 4 +DEAL::473 4 +DEAL::474 4 +DEAL::475 4 +DEAL::476 4 +DEAL::477 4 +DEAL::478 4 +DEAL::479 4 +DEAL::480 4 +DEAL::481 4 +DEAL::482 4 +DEAL::483 4 +DEAL::484 4 +DEAL::485 4 +DEAL::486 4 +DEAL::487 4 +DEAL::488 0 +DEAL::489 0 +DEAL::490 0 +DEAL::491 0 +DEAL::492 0 +DEAL::493 0 +DEAL::494 0 +DEAL::495 0 +DEAL::496 0 +DEAL::497 0 +DEAL::498 0 +DEAL::499 0 +DEAL::500 0 +DEAL::501 0 +DEAL::502 0 +DEAL::503 0 +DEAL::504 0 +DEAL::505 0 +DEAL::506 0 +DEAL::507 0 +DEAL::508 4 +DEAL::509 4 +DEAL::510 4 +DEAL::511 4 +DEAL::512 4 +DEAL::513 4 +DEAL::514 4 +DEAL::515 4 +DEAL::516 4 +DEAL::517 4 +DEAL::518 4 +DEAL::519 4 +DEAL::520 4 +DEAL::521 4 +DEAL::522 4 +DEAL::523 4 +DEAL::524 4 +DEAL::525 4 +DEAL::526 4 +DEAL::527 4 +DEAL::528 4 +DEAL::529 4 +DEAL::530 4 +DEAL::531 4 +DEAL::532 4 +DEAL::533 4 +DEAL::534 4 +DEAL::535 4 +DEAL::536 4 +DEAL::537 4 +DEAL::538 4 +DEAL::539 4 +DEAL::540 4 +DEAL::541 4 +DEAL::542 4 +DEAL::543 2 +DEAL::544 2 +DEAL::545 2 +DEAL::546 2 +DEAL::547 2 +DEAL::548 2 +DEAL::549 2 +DEAL::550 2 +DEAL::551 2 +DEAL::552 2 +DEAL::553 2 +DEAL::554 2 +DEAL::555 2 +DEAL::556 2 +DEAL::557 4 +DEAL::558 4 +DEAL::559 4 +DEAL::560 4 +DEAL::561 4 +DEAL::562 4 +DEAL::563 4 +DEAL::564 4 +DEAL::565 4 +DEAL::566 4 +DEAL::567 4 +DEAL::568 4 +DEAL::569 4 +DEAL::570 4 +DEAL::571 4 +DEAL::572 1 +DEAL::573 1 +DEAL::574 1 +DEAL::575 1 +DEAL::576 1 +DEAL::577 1 +DEAL::578 1 +DEAL::579 1 +DEAL::580 1 +DEAL::581 1 +DEAL::582 1 +DEAL::583 1 +DEAL::584 1 +DEAL::585 1 +DEAL::586 1 +DEAL::587 1 +DEAL::588 1 +DEAL::589 1 +DEAL::590 1 +DEAL::591 1 +DEAL::592 1 +DEAL::593 1 +DEAL::594 1 +DEAL::595 1 +DEAL::596 1 +DEAL::597 1 +DEAL::598 1 +DEAL::599 1 +DEAL::600 1 +DEAL::601 1 +DEAL::602 1 +DEAL::603 1 +DEAL::604 0 +DEAL::605 0 +DEAL::606 0 +DEAL::607 0 +DEAL::608 0 +DEAL::609 0 +DEAL::610 0 +DEAL::611 0 +DEAL::612 0 +DEAL::613 0 +DEAL::614 0 +DEAL::615 0 +DEAL::616 0 +DEAL::617 0 +DEAL::618 0 +DEAL::619 0 +DEAL::620 3 +DEAL::621 3 +DEAL::622 0 +DEAL::623 3 +DEAL::624 3 +DEAL::625 3 +DEAL::626 3 +DEAL::627 0 +DEAL::628 3 +DEAL::629 4 +DEAL::630 4 +DEAL::631 4 +DEAL::632 3 +DEAL::633 4 +DEAL::634 4 +DEAL::635 4 +DEAL::636 4 +DEAL::637 4 +DEAL::638 2 +DEAL::639 2 +DEAL::640 2 +DEAL::641 2 +DEAL::642 2 +DEAL::643 2 +DEAL::644 2 +DEAL::645 2 +DEAL::646 2 +DEAL::647 3 +DEAL::648 3 +DEAL::649 3 +DEAL::650 3 +DEAL::651 3 +DEAL::652 3 +DEAL::653 3 +DEAL::654 3 +DEAL::655 3 +DEAL::656 3 +DEAL::657 3 +DEAL::658 3 +DEAL::659 3 +DEAL::660 3 +DEAL::661 3 +DEAL::662 3 +DEAL::663 3 +DEAL::664 3 +DEAL::665 3 +DEAL::666 3 +DEAL::667 3 +DEAL::668 3 +DEAL::669 3 +DEAL::670 3 +DEAL::671 3 +DEAL::672 0 +DEAL::673 0 +DEAL::674 0 +DEAL::675 0 +DEAL::676 0 +DEAL::677 0 +DEAL::678 0 +DEAL::679 0 +DEAL::680 0 +DEAL::681 0 +DEAL::682 0 +DEAL::683 0 +DEAL::684 0 +DEAL::685 0 +DEAL::686 0 +DEAL::687 0 +DEAL::688 0 +DEAL::689 3 +DEAL::690 3 +DEAL::691 3 +DEAL::692 3 +DEAL::693 3 +DEAL::694 3 +DEAL::695 2 +DEAL::696 2 +DEAL::697 2 +DEAL::698 2 +DEAL::699 2 +DEAL::700 2 +DEAL::701 2 +DEAL::702 2 +DEAL::703 2 +DEAL::704 1 +DEAL::705 1 +DEAL::706 1 +DEAL::707 1 +DEAL::708 1 +DEAL::709 1 +DEAL::710 1 +DEAL::711 1 +DEAL::712 1 +DEAL::713 0 +DEAL::714 0 +DEAL::715 0 +DEAL::716 0 +DEAL::717 0 +DEAL::718 0 +DEAL::719 0 +DEAL::720 0 +DEAL::721 0 +DEAL::722 3 +DEAL::723 0 +DEAL::724 3 +DEAL::725 3 +DEAL::726 3 +DEAL::727 3 +DEAL::728 0 +DEAL::729 3 +DEAL::730 3 +DEAL::731 0 +DEAL::732 3 +DEAL::733 0 +DEAL::734 0 +DEAL::735 4 +DEAL::736 3 +DEAL::737 3 +DEAL::738 3 +DEAL::739 3 +DEAL::740 3 +DEAL::741 3 +DEAL::742 3 +DEAL::743 3 +DEAL::744 3 +DEAL::745 3 +DEAL::746 3 +DEAL::747 3 +DEAL::748 3 +DEAL::749 3 +DEAL::750 3 +DEAL::751 3 +DEAL::752 3 +DEAL::753 3 +DEAL::754 3 +DEAL::755 3 +DEAL::756 3 +DEAL::757 3 +DEAL::758 3 +DEAL::759 3 +DEAL::760 3 +DEAL::761 0 +DEAL::762 0 +DEAL::763 0 +DEAL::764 0 +DEAL::765 0 +DEAL::766 0 +DEAL::767 0 +DEAL::768 0 +DEAL::769 2 +DEAL::770 2 +DEAL::771 2 +DEAL::772 2 +DEAL::773 2 +DEAL::774 2 +DEAL::775 2 +DEAL::776 2 +DEAL::777 2 +DEAL::778 2 +DEAL::779 2 +DEAL::780 2 +DEAL::781 2 +DEAL::782 2 +DEAL::783 2 +DEAL::784 2 +DEAL::785 3 +DEAL::786 4 +DEAL::787 4 +DEAL::788 3 +DEAL::789 4 +DEAL::790 4 +DEAL::791 3 +DEAL::792 4 +DEAL::793 1 +DEAL::794 1 +DEAL::795 1 +DEAL::796 1 +DEAL::797 1 +DEAL::798 1 +DEAL::799 1 +DEAL::800 1 +DEAL::801 1 +DEAL::802 1 +DEAL::803 1 +DEAL::804 1 +DEAL::805 1 +DEAL::806 1 +DEAL::807 0 +DEAL::808 0 +DEAL::809 0 +DEAL::810 0 +DEAL::811 0 +DEAL::812 0 +DEAL::813 0 +DEAL::814 0 +DEAL::815 0 +DEAL::816 0 +DEAL::817 0 +DEAL::818 0 +DEAL::819 0 +DEAL::820 0 +DEAL::821 0 +DEAL::822 0 +DEAL::823 0 +DEAL::824 0 +DEAL::825 0 +DEAL::826 0 +DEAL::827 2 +DEAL::828 2 +DEAL::829 2 +DEAL::830 2 +DEAL::831 2 +DEAL::832 2 +DEAL::833 2 +DEAL::834 2 +DEAL::835 2 +DEAL::836 2 +DEAL::837 2 +DEAL::838 2 +DEAL::839 2 +DEAL::840 2 +DEAL::841 2 +DEAL::842 2 +DEAL::843 2 +DEAL::844 2 +DEAL::845 2 +DEAL::846 2 +DEAL::847 2 +DEAL::848 3 +DEAL::849 3 +DEAL::850 3 +DEAL::851 3 +DEAL::852 3 +DEAL::853 3 +DEAL::854 3 +DEAL::855 3 +DEAL::856 1 +DEAL::857 0 +DEAL::858 3 +DEAL::859 0 +DEAL::860 0 +DEAL::861 0 +DEAL::862 0 +DEAL::863 0 +DEAL::864 2 +DEAL::865 2 +DEAL::866 2 +DEAL::867 2 +DEAL::868 2 +DEAL::869 2 +DEAL::870 2 +DEAL::871 2 +DEAL::872 2 +DEAL::873 2 +DEAL::874 2 +DEAL::875 2 +DEAL::876 2 +DEAL::877 2 +DEAL::878 2 +DEAL::879 2 +DEAL::880 4 +DEAL::881 4 +DEAL::882 4 +DEAL::883 4 +DEAL::884 4 +DEAL::885 4 +DEAL::886 4 +DEAL::887 4 +DEAL::888 4 +DEAL::889 4 +DEAL::890 4 +DEAL::891 4 +DEAL::892 4 +DEAL::893 1 +DEAL::894 1 +DEAL::895 1 +DEAL::896 1 +DEAL::897 1 +DEAL::898 1 +DEAL::899 1 +DEAL::900 1 +DEAL::901 1 +DEAL::902 1 +DEAL::903 1 +DEAL::904 1 +DEAL::905 1 +DEAL::906 1 +DEAL::907 1 +DEAL::908 1 +DEAL::909 1 +DEAL::910 1 +DEAL::911 1 +DEAL::912 1 +DEAL::913 1 +DEAL::914 1 +DEAL::915 1 +DEAL::916 1 +DEAL::917 1 +DEAL::918 1 +DEAL::919 2 +DEAL::920 2 +DEAL::921 2 +DEAL::922 2 +DEAL::923 2 +DEAL::924 2 +DEAL::925 2 +DEAL::926 2 +DEAL::927 2 +DEAL::928 2 +DEAL::929 2 +DEAL::930 2 +DEAL::931 2 +DEAL::932 2 +DEAL::933 2 +DEAL::934 2 +DEAL::935 2 +DEAL::936 2 +DEAL::937 2 +DEAL::938 2 +DEAL::939 2 +DEAL::940 2 +DEAL::941 1 +DEAL::942 1 +DEAL::943 1 +DEAL::944 1 +DEAL::945 1 +DEAL::946 2 +DEAL::947 1 +DEAL::948 1 +DEAL::949 1 +DEAL::950 1 +DEAL::951 1 +DEAL::952 1 +DEAL::953 1 +DEAL::954 1 +DEAL::955 1 +DEAL::956 1 +DEAL::957 1 +DEAL::958 1 +DEAL::959 1 +DEAL::960 1 +DEAL::961 1 +DEAL::962 1 +DEAL::963 1 +DEAL::964 1 +DEAL::965 1 +DEAL::966 0 +DEAL::967 0 +DEAL::968 0 +DEAL::969 0 +DEAL::970 0 +DEAL::971 0 +DEAL::972 0 +DEAL::973 0 +DEAL::974 0 +DEAL::975 0 +DEAL::976 0 +DEAL::977 0 +DEAL::978 0 +DEAL::979 0 +DEAL::980 0 +DEAL::981 0 +DEAL::982 0 +DEAL::983 0 +DEAL::984 0 +DEAL::985 0 +DEAL::986 0 +DEAL::987 0 +DEAL::988 0 +DEAL::989 0 +DEAL::990 0 +DEAL::991 0 +DEAL::992 0 +DEAL::993 0 +DEAL::994 0 +DEAL::995 0 +DEAL::996 0 +DEAL::997 0 +DEAL::998 0 +DEAL::999 0 +DEAL::1000 0 +DEAL::1001 0 +DEAL::1002 0 +DEAL::1003 0 +DEAL::1004 0 +DEAL::1005 0 +DEAL::1006 0 +DEAL::1007 0 +DEAL::1008 0 +DEAL::1009 4 +DEAL::1010 3 +DEAL::1011 3 +DEAL::1012 3 +DEAL::1013 3 +DEAL::1014 3 +DEAL::1015 3 +DEAL::1016 3 +DEAL::1017 4 +DEAL::1018 3 +DEAL::1019 3 +DEAL::1020 3 +DEAL::1021 3 +DEAL::1022 3 +DEAL::1023 3 +DEAL::1024 3 +DEAL::1025 3 +DEAL::1026 3 +DEAL::1027 3 +DEAL::1028 3 +DEAL::1029 3 +DEAL::1030 3 +DEAL::1031 3 +DEAL::1032 3 +DEAL::1033 3 +DEAL::1034 4 +DEAL::1035 3 +DEAL::1036 3 +DEAL::1037 3 +DEAL::1038 3 +DEAL::1039 3 +DEAL::1040 3 +DEAL::1041 3 +DEAL::1042 3 +DEAL::1043 3 +DEAL::1044 3 +DEAL::1045 3 +DEAL::1046 3 +DEAL::1047 3 +DEAL::1048 3 +DEAL::1049 3 +DEAL::1050 3 +DEAL::1051 3 +DEAL::1052 3 +DEAL::1053 3 +DEAL::1054 3 +DEAL::1055 3 +DEAL::1056 3 +DEAL::1057 3 +DEAL::1058 3 +DEAL::1059 3 +DEAL::1060 3 +DEAL::1061 2 +DEAL::1062 2 +DEAL::1063 2 +DEAL::1064 2 +DEAL::1065 2 +DEAL::1066 2 +DEAL::1067 2 +DEAL::1068 2 +DEAL::1069 2 +DEAL::1070 2 +DEAL::1071 2 +DEAL::1072 2 +DEAL::1073 2 +DEAL::1074 2 +DEAL::1075 2 +DEAL::1076 2 +DEAL::1077 2 +DEAL::1078 2 +DEAL::1079 2 +DEAL::1080 2 +DEAL::1081 2 +DEAL::1082 3 +DEAL::1083 3 +DEAL::1084 3 +DEAL::1085 3 +DEAL::1086 3 +DEAL::1087 3 +DEAL::1088 3 +DEAL::1089 3 +DEAL::1090 3 +DEAL::1091 3 +DEAL::1092 3 +DEAL::1093 3 +DEAL::1094 3 +DEAL::1095 3 +DEAL::1096 3 +DEAL::1097 3 +DEAL::1098 3 +DEAL::1099 3 +DEAL::1100 3 +DEAL::1101 3 +DEAL::1102 3 +DEAL::1103 3 +DEAL::1104 3 +DEAL::1105 3 +DEAL::1106 3 +DEAL::1107 3 +DEAL::1108 3 +DEAL::1109 3 +DEAL::1110 3 +DEAL::1111 3 +DEAL::1112 3 +DEAL::1113 3 +DEAL::1114 3 +DEAL::1115 3 +DEAL::1116 3 +DEAL::1117 0 +DEAL::1118 0 +DEAL::1119 0 +DEAL::1120 0 +DEAL::1121 0 +DEAL::1122 0 +DEAL::1123 3 +DEAL::1124 0 +DEAL::1125 0 +DEAL::1126 0 +DEAL::1127 0 +DEAL::1128 0 +DEAL::1129 0 +DEAL::1130 0 +DEAL::1131 0 +DEAL::1132 0 +DEAL::1133 0 +DEAL::1134 0 +DEAL::1135 2 +DEAL::1136 2 +DEAL::1137 2 +DEAL::1138 2 +DEAL::1139 2 +DEAL::1140 2 +DEAL::1141 2 +DEAL::1142 2 +DEAL::1143 2 +DEAL::1144 2 +DEAL::1145 2 +DEAL::1146 2 +DEAL::1147 2 +DEAL::1148 2 +DEAL::1149 2 +DEAL::1150 2 +DEAL::1151 2 +DEAL::1152 2 +DEAL::1153 2 +DEAL::1154 2 +DEAL::1155 2 +DEAL::1156 2 +DEAL::1157 4 +DEAL::1158 2 +DEAL::1159 2 +DEAL::1160 2 +DEAL::1161 2 +DEAL::1162 4 +DEAL::1163 2 +DEAL::1164 2 +DEAL::1165 2 +DEAL::1166 2 +DEAL::1167 4 +DEAL::1168 4 +DEAL::1169 4 +DEAL::1170 4 +DEAL::1171 4 +DEAL::1172 4 +DEAL::1173 4 +DEAL::1174 4 +DEAL::1175 4 +DEAL::1176 4 +DEAL::1177 4 +DEAL::1178 4 +DEAL::1179 4 +DEAL::1180 4 +DEAL::1181 4 +DEAL::1182 4 +DEAL::1183 4 +DEAL::1184 4 +DEAL::1185 4 +DEAL::1186 1 +DEAL::1187 1 +DEAL::1188 1 +DEAL::1189 1 +DEAL::1190 1 +DEAL::1191 1 +DEAL::1192 1 +DEAL::1193 1 +DEAL::1194 1 +DEAL::1195 1 +DEAL::1196 1 +DEAL::1197 1 +DEAL::1198 1 +DEAL::1199 1 +DEAL::1200 1 +DEAL::1201 1 +DEAL::1202 1 +DEAL::1203 1 +DEAL::1204 1 +DEAL::1205 1 +DEAL::1206 1 +DEAL::1207 0 +DEAL::1208 0 +DEAL::1209 0 +DEAL::1210 0 +DEAL::1211 0 +DEAL::1212 0 +DEAL::1213 0 +DEAL::1214 0 +DEAL::1215 0 +DEAL::1216 0 +DEAL::1217 0 +DEAL::1218 0 +DEAL::1219 0 +DEAL::1220 0 +DEAL::1221 2 +DEAL::1222 2 +DEAL::1223 2 +DEAL::1224 2 +DEAL::1225 2 +DEAL::1226 2 +DEAL::1227 2 +DEAL::1228 2 +DEAL::1229 2 +DEAL::1230 2 +DEAL::1231 2 +DEAL::1232 2 +DEAL::1233 2 +DEAL::1234 2 +DEAL::1235 2 +DEAL::1236 2 +DEAL::1237 2 +DEAL::1238 2 +DEAL::1239 2 +DEAL::1240 2 +DEAL::1241 2 +DEAL::1242 2 +DEAL::1243 2 +DEAL::1244 2 +DEAL::1245 2 +DEAL::1246 2 +DEAL::1247 2 +DEAL::1248 2 +DEAL::1249 2 +DEAL::1250 2 +DEAL::1251 2 +DEAL::1252 2 +DEAL::1253 2 +DEAL::1254 2 +DEAL::1255 2 +DEAL::1256 2 +DEAL::1257 2 +DEAL::1258 2 +DEAL::1259 2 +DEAL::1260 3 +DEAL::1261 1 +DEAL::1262 3 +DEAL::1263 4 +DEAL::1264 4 +DEAL::1265 4 +DEAL::1266 4 +DEAL::1267 4 +DEAL::1268 1 +DEAL::1269 1 +DEAL::1270 1 +DEAL::1271 1 +DEAL::1272 1 +DEAL::1273 3 +DEAL::1274 3 +DEAL::1275 3 +DEAL::1276 3 +DEAL::1277 3 +DEAL::1278 1 +DEAL::1279 0 +DEAL::1280 1 +DEAL::1281 1 +DEAL::1282 1 +DEAL::1283 1 +DEAL::1284 0 +DEAL::1285 1 +DEAL::1286 1 +DEAL::1287 1 +DEAL::1288 1 +DEAL::1289 1 +DEAL::1290 0 +DEAL::1291 0 +DEAL::1292 0 +DEAL::1293 0 +DEAL::1294 0 +DEAL::1295 0 +DEAL::1296 2 +DEAL::1297 2 +DEAL::1298 2 +DEAL::1299 2 +DEAL::1300 2 +DEAL::1301 2 +DEAL::1302 2 +DEAL::1303 2 +DEAL::1304 2 +DEAL::1305 2 +DEAL::1306 2 +DEAL::1307 2 +DEAL::1308 2 +DEAL::1309 2 +DEAL::1310 2 +DEAL::1311 2 +DEAL::1312 2 +DEAL::1313 2 +DEAL::1314 2 +DEAL::1315 2 +DEAL::1316 2 +DEAL::1317 2 +DEAL::1318 4 +DEAL::1319 4 +DEAL::1320 4 +DEAL::1321 4 +DEAL::1322 4 +DEAL::1323 4 +DEAL::1324 4 +DEAL::1325 4 +DEAL::1326 4 +DEAL::1327 4 +DEAL::1328 4 +DEAL::1329 4 +DEAL::1330 4 +DEAL::1331 4 +DEAL::1332 4 +DEAL::1333 4 +DEAL::1334 4 +DEAL::1335 4 +DEAL::1336 1 +DEAL::1337 1 +DEAL::1338 1 +DEAL::1339 1 +DEAL::1340 1 +DEAL::1341 1 +DEAL::1342 2 +DEAL::1343 1 +DEAL::1344 1 +DEAL::1345 1 +DEAL::1346 1 +DEAL::1347 1 +DEAL::1348 1 +DEAL::1349 1 +DEAL::1350 1 +DEAL::1351 1 +DEAL::1352 1 +DEAL::1353 1 +DEAL::1354 1 +DEAL::1355 1 +DEAL::1356 1 +DEAL::1357 1 +DEAL::1358 1 +DEAL::1359 1 +DEAL::1360 1 +DEAL::1361 1 +DEAL::1362 1 +DEAL::1363 1 +DEAL::1364 1 +DEAL::1365 1 +DEAL::1366 1 +DEAL::1367 1 +DEAL::1368 1 +DEAL::1369 1 +DEAL::1370 1 +DEAL::1371 1 +DEAL::1372 1 +DEAL::1373 1 +DEAL::1374 1 +DEAL::1375 1 +DEAL::1376 0 +DEAL::1377 0 +DEAL::1378 0 +DEAL::1379 0 +DEAL::1380 0 +DEAL::1381 0 +DEAL::1382 0 +DEAL::1383 0 +DEAL::1384 0 +DEAL::1385 0 +DEAL::1386 0 +DEAL::1387 0 +DEAL::1388 0 +DEAL::1389 0 +DEAL::1390 0 +DEAL::1391 0 +DEAL::1392 0 +DEAL::1393 0 +DEAL::1394 2 +DEAL::1395 2 +DEAL::1396 2 +DEAL::1397 2 +DEAL::1398 2 +DEAL::1399 2 +DEAL::1400 2 +DEAL::1401 2 +DEAL::1402 2 +DEAL::1403 2 +DEAL::1404 2 +DEAL::1405 2 +DEAL::1406 2 +DEAL::1407 1 +DEAL::1408 2 +DEAL::1409 2 +DEAL::1410 2 +DEAL::1411 2 +DEAL::1412 2 +DEAL::1413 2 +DEAL::1414 2 +DEAL::1415 1 +DEAL::1416 2 +DEAL::1417 2 +DEAL::1418 2 +DEAL::1419 2 +DEAL::1420 2 +DEAL::1421 1 +DEAL::1422 2 +DEAL::1423 2 +DEAL::1424 2 +DEAL::1425 2 +DEAL::1426 2 +DEAL::1427 2 +DEAL::1428 2 +DEAL::1429 4 +DEAL::1430 1 +DEAL::1431 4 +DEAL::1432 4 +DEAL::1433 4 +DEAL::1434 4 +DEAL::1435 1 +DEAL::1436 1 +DEAL::1437 1 +DEAL::1438 1 +DEAL::1439 1 +DEAL::1440 1 +DEAL::1441 1 +DEAL::1442 1 +DEAL::1443 1 +DEAL::1444 1 +DEAL::1445 1 +DEAL::1446 1 +DEAL::1447 1 +DEAL::1448 1 +DEAL::1449 1 +DEAL::1450 1 +DEAL::1451 1 +DEAL::1452 1 +DEAL::1453 1 +DEAL::1454 0 +DEAL::1455 0 +DEAL::1456 0 +DEAL::1457 0 +DEAL::1458 0 +DEAL::1459 0 +DEAL::1460 0 +DEAL::1461 0 +DEAL::1462 0 +DEAL::1463 0 +DEAL::1464 0 +DEAL::1465 0 +DEAL::1466 0 +DEAL::1467 0 +DEAL::1468 0 +DEAL::1469 0 +DEAL::1470 0 +DEAL::1471 0 +DEAL::1472 0 +DEAL::1473 0 +DEAL::1474 0 +DEAL::1475 0 +DEAL::1476 0 +DEAL::1477 0 +DEAL::1478 0 +DEAL::1479 0 +DEAL::1480 0 +DEAL::1481 0 +DEAL::1482 0 +DEAL::1483 0 +DEAL::1484 0 +DEAL::1485 0 +DEAL::1486 0 +DEAL::1487 0 +DEAL::1488 0 +DEAL::1489 0 +DEAL::1490 0 +DEAL::1491 0 +DEAL::1492 0 +DEAL::1493 0 +DEAL::1494 0 +DEAL::1495 0 +DEAL::1496 0 +DEAL::1497 0 +DEAL::1498 0 +DEAL::1499 0 +DEAL::1500 0 +DEAL::1501 0 +DEAL::1502 0 +DEAL::1503 0 +DEAL::1504 0 +DEAL::1505 0 +DEAL::1506 0 +DEAL::1507 0 +DEAL::1508 0 +DEAL::1509 0 +DEAL::1510 0 +DEAL::1511 0 +DEAL::1512 0 +DEAL::1513 0 +DEAL::1514 0 +DEAL::1515 0 +DEAL::1516 0 +DEAL::1517 0 +DEAL::1518 0 +DEAL::1519 0 +DEAL::1520 0 +DEAL::1521 2 +DEAL::1522 2 +DEAL::1523 2 +DEAL::1524 2 +DEAL::1525 2 +DEAL::1526 2 +DEAL::1527 2 +DEAL::1528 2 +DEAL::1529 2 +DEAL::1530 2 +DEAL::1531 2 +DEAL::1532 2 +DEAL::1533 2 +DEAL::1534 2 +DEAL::1535 2 +DEAL::1536 2 +DEAL::1537 2 +DEAL::1538 2 +DEAL::1539 2 +DEAL::1540 2 +DEAL::1541 4 +DEAL::1542 4 +DEAL::1543 4 +DEAL::1544 4 +DEAL::1545 4 +DEAL::1546 4 +DEAL::1547 4 +DEAL::1548 4 +DEAL::1549 4 +DEAL::1550 4 +DEAL::1551 4 +DEAL::1552 4 +DEAL::1553 4 +DEAL::1554 4 +DEAL::1555 4 +DEAL::1556 4 +DEAL::1557 4 +DEAL::1558 4 +DEAL::1559 4 +DEAL::1560 2 +DEAL::1561 2 +DEAL::1562 2 +DEAL::1563 2 +DEAL::1564 2 +DEAL::1565 2 +DEAL::1566 2 +DEAL::1567 2 +DEAL::1568 2 +DEAL::1569 2 +DEAL::1570 2 +DEAL::1571 2 +DEAL::1572 2 +DEAL::1573 2 +DEAL::1574 2 +DEAL::1575 2 +DEAL::1576 2 +DEAL::1577 2 +DEAL::1578 2 +DEAL::1579 4 +DEAL::1580 4 +DEAL::1581 4 +DEAL::1582 4 +DEAL::1583 4 +DEAL::1584 4 +DEAL::1585 4 +DEAL::1586 4 +DEAL::1587 4 +DEAL::1588 4 +DEAL::1589 4 +DEAL::1590 4 +DEAL::1591 4 +DEAL::1592 4 +DEAL::1593 4 +DEAL::1594 4 +DEAL::1595 4 +DEAL::1596 4 +DEAL::1597 4 +DEAL::1598 4 +DEAL::1599 4 +DEAL::1600 4 +DEAL::1601 4 +DEAL::1602 4 +DEAL::1603 4 +DEAL::1604 4 +DEAL::1605 4 +DEAL::1606 4 +DEAL::1607 4 +DEAL::1608 4 +DEAL::1609 4 +DEAL::1610 4 +DEAL::1611 4 +DEAL::1612 4 +DEAL::1613 3 +DEAL::1614 3 +DEAL::1615 3 +DEAL::1616 3 +DEAL::1617 3 +DEAL::1618 3 +DEAL::1619 3 +DEAL::1620 3 +DEAL::1621 3 +DEAL::1622 3 +DEAL::1623 3 +DEAL::1624 3 +DEAL::1625 3 +DEAL::1626 3 +DEAL::1627 3 +DEAL::1628 3 +DEAL::1629 3 +DEAL::1630 3 +DEAL::1631 1 +DEAL::1632 1 +DEAL::1633 1 +DEAL::1634 1 +DEAL::1635 1 +DEAL::1636 1 +DEAL::1637 1 +DEAL::1638 1 +DEAL::1639 1 +DEAL::1640 1 +DEAL::1641 1 +DEAL::1642 1 +DEAL::1643 1 +DEAL::1644 1 +DEAL::1645 1 +DEAL::1646 1 +DEAL::1647 1 +DEAL::1648 4 +DEAL::1649 3 +DEAL::1650 4 +DEAL::1651 3 +DEAL::1652 3 +DEAL::1653 3 +DEAL::1654 3 +DEAL::1655 3 +DEAL::1656 4 +DEAL::1657 4 +DEAL::1658 4 +DEAL::1659 4 +DEAL::1660 4 +DEAL::1661 4 +DEAL::1662 3 +DEAL::1663 3 +DEAL::1664 3 +DEAL::1665 3 +DEAL::1666 4 +DEAL::1667 4 +DEAL::1668 3 +DEAL::1669 3 +DEAL::1670 3 +DEAL::1671 4 +DEAL::1672 3 +DEAL::1673 4 +DEAL::1674 4 +DEAL::1675 4 +DEAL::1676 4 +DEAL::1677 4 +DEAL::1678 4 +DEAL::1679 4 +DEAL::1680 4 +DEAL::1681 4 +DEAL::1682 4 +DEAL::1683 4 +DEAL::1684 4 +DEAL::1685 4 +DEAL::1686 4 +DEAL::1687 4 +DEAL::1688 4 +DEAL::1689 4 +DEAL::1690 4 +DEAL::1691 4 +DEAL::1692 4 +DEAL::1693 4 +DEAL::1694 4 +DEAL::1695 4 +DEAL::1696 4 +DEAL::1697 4 +DEAL::1698 4 +DEAL::1699 4 +DEAL::1700 4 +DEAL::1701 4 +DEAL::1702 4 +DEAL::1703 2 +DEAL::1704 2 +DEAL::1705 2 +DEAL::1706 2 +DEAL::1707 2 +DEAL::1708 2 +DEAL::1709 2 +DEAL::1710 2 +DEAL::1711 1 +DEAL::1712 2 +DEAL::1713 2 +DEAL::1714 2 +DEAL::1715 2 +DEAL::1716 2 +DEAL::1717 2 +DEAL::1718 2 +DEAL::1719 1 +DEAL::1720 1 +DEAL::1721 2 +DEAL::1722 2 +DEAL::1723 2 +DEAL::1724 2 +DEAL::1725 1 +DEAL::1726 1 +DEAL::1727 1 +DEAL::1728 1 +DEAL::1729 1 +DEAL::1730 1 +DEAL::1731 1 +DEAL::1732 1 +DEAL::1733 1 +DEAL::1734 1 +DEAL::1735 1 +DEAL::1736 4 +DEAL::1737 1 +DEAL::1738 1 +DEAL::1739 4 +DEAL::1740 1 +DEAL::1741 1 +DEAL::1742 1 +DEAL::1743 1 +DEAL::1744 1 +DEAL::1745 1 +DEAL::1746 1 +DEAL::1747 1 +DEAL::1748 1 +DEAL::1749 1 +DEAL::1750 1 +DEAL::1751 1 +DEAL::1752 1 +DEAL::1753 1 +DEAL::1754 1 +DEAL::1755 1 +DEAL::1756 1 +DEAL::1757 1 +DEAL::1758 1 +DEAL::1759 1 +DEAL::1760 1 +DEAL::1761 1 +DEAL::1762 1 +DEAL::1763 1 +DEAL::1764 1 +DEAL::1765 1 +DEAL::1766 1 +DEAL::1767 1 +DEAL::1768 1 +DEAL::1769 1 +DEAL::1770 1 +DEAL::1771 4 +DEAL::1772 4 +DEAL::1773 4 +DEAL::1774 4 +DEAL::1775 4 +DEAL::1776 4 +DEAL::1777 4 +DEAL::1778 4 +DEAL::1779 4 +DEAL::1780 4 +DEAL::1781 4 +DEAL::1782 4 +DEAL::1783 4 +DEAL::1784 4 +DEAL::1785 4 +DEAL::1786 4 +DEAL::1787 4 +DEAL::1788 4 +DEAL::1789 4 +DEAL::1790 4 +DEAL::1791 1 +DEAL::1792 0 +DEAL::1793 1 +DEAL::1794 1 +DEAL::1795 1 +DEAL::1796 1 +DEAL::1797 0 +DEAL::1798 0 +DEAL::1799 1 +DEAL::1800 1 +DEAL::1801 0 +DEAL::1802 1 +DEAL::1803 0 +DEAL::1804 0 +DEAL::1805 0 +DEAL::1806 0 +DEAL::1807 0 +DEAL::1808 1 +DEAL::1809 1 +DEAL::1810 1 +DEAL::1811 1 +DEAL::1812 1 +DEAL::1813 1 +DEAL::1814 1 +DEAL::1815 1 +DEAL::1816 1 +DEAL::1817 1 +DEAL::1818 1 +DEAL::1819 1 +DEAL::1820 1 +DEAL::1821 1 +DEAL::1822 1 +DEAL::1823 1 +DEAL::1824 1 +DEAL::1825 1 +DEAL::1826 1 +DEAL::1827 1 +DEAL::1828 1 +DEAL::1829 1 +DEAL::1830 1 +DEAL::1831 1 +DEAL::1832 1 +DEAL::1833 1 +DEAL::1834 1 +DEAL::1835 0 +DEAL::1836 1 +DEAL::1837 0 +DEAL::1838 1 +DEAL::1839 1 +DEAL::1840 0 +DEAL::1841 0 +DEAL::1842 0 +DEAL::1843 0 +DEAL::1844 0 +DEAL::1845 1 +DEAL::1846 1 +DEAL::1847 1 +DEAL::1848 1 +DEAL::1849 1 +DEAL::1850 1 +DEAL::1851 1 +DEAL::1852 1 +DEAL::1853 0 +DEAL::1854 1 +DEAL::1855 1 +DEAL::1856 1 +DEAL::1857 1 +DEAL::1858 1 +DEAL::1859 0 +DEAL::1860 1 +DEAL::1861 0 +DEAL::1862 1 +DEAL::1863 0 +DEAL::1864 0 +DEAL::1865 0 +DEAL::1866 0 +DEAL::1867 0 +DEAL::1868 0 +DEAL::1869 0 +DEAL::1870 0 +DEAL::1871 0 +DEAL::1872 0 +DEAL::1873 0 +DEAL::1874 0 +DEAL::1875 0 +DEAL::1876 0 +DEAL::1877 2 +DEAL::1878 2 +DEAL::1879 2 +DEAL::1880 2 +DEAL::1881 2 +DEAL::1882 2 +DEAL::1883 2 +DEAL::1884 2 +DEAL::1885 2 +DEAL::1886 2 +DEAL::1887 2 +DEAL::1888 2 +DEAL::1889 2 +DEAL::1890 3 +DEAL::1891 3 +DEAL::1892 3 +DEAL::1893 3 +DEAL::1894 3 +DEAL::1895 3 +DEAL::1896 3 +DEAL::1897 3 +DEAL::1898 3 +DEAL::1899 3 +DEAL::1900 3 +DEAL::1901 3 +DEAL::1902 3 +DEAL::1903 3 +DEAL::1904 3 +DEAL::1905 4 +DEAL::1906 4 +DEAL::1907 4 +DEAL::1908 4 +DEAL::1909 4 +DEAL::1910 4 +DEAL::1911 4 +DEAL::1912 4 +DEAL::1913 4 +DEAL::1914 4 +DEAL::1915 4 +DEAL::1916 4 +DEAL::1917 4 +DEAL::1918 4 +DEAL::1919 4 +DEAL::1920 3 +DEAL::1921 4 +DEAL::1922 4 +DEAL::1923 4 +DEAL::1924 4 +DEAL::1925 3 +DEAL::1926 3 +DEAL::1927 3 +DEAL::1928 3 +DEAL::1929 3 +DEAL::1930 3 +DEAL::1931 1 +DEAL::1932 1 +DEAL::1933 1 +DEAL::1934 1 +DEAL::1935 1 +DEAL::1936 1 +DEAL::1937 1 +DEAL::1938 1 +DEAL::1939 1 +DEAL::1940 1 +DEAL::1941 1 +DEAL::1942 1 +DEAL::1943 1 +DEAL::1944 1 +DEAL::1945 1 +DEAL::1946 1 +DEAL::1947 0 +DEAL::1948 0 +DEAL::1949 0 +DEAL::1950 0 +DEAL::1951 0 +DEAL::1952 0 +DEAL::1953 0 +DEAL::1954 0 +DEAL::1955 0 +DEAL::1956 0 +DEAL::1957 0 +DEAL::1958 0 +DEAL::1959 0 +DEAL::1960 0 +DEAL::1961 0 +DEAL::1962 0 +DEAL::1963 0 +DEAL::1964 0 +DEAL::1965 0 +DEAL::1966 0 +DEAL::1967 0 +DEAL::1968 0 +DEAL::1969 0 +DEAL::1970 0 +DEAL::1971 0 +DEAL::1972 0 +DEAL::1973 0 +DEAL::1974 0 +DEAL::1975 0 +DEAL::1976 0 +DEAL::1977 0 +DEAL::1978 0 +DEAL::1979 0 +DEAL::1980 0 +DEAL::1981 0 +DEAL::1982 2 +DEAL::1983 2 +DEAL::1984 2 +DEAL::1985 2 +DEAL::1986 2 +DEAL::1987 2 +DEAL::1988 2 +DEAL::1989 2 +DEAL::1990 2 +DEAL::1991 2 +DEAL::1992 2 +DEAL::1993 2 +DEAL::1994 2 +DEAL::1995 2 +DEAL::1996 2 +DEAL::1997 2 +DEAL::1998 2 +DEAL::1999 2 +DEAL::2000 2 +DEAL::2001 2 +DEAL::2002 2 +DEAL::2003 2 +DEAL::2004 2 +DEAL::2005 2 +DEAL::2006 2 +DEAL::2007 2 +DEAL::2008 2 +DEAL::2009 2 +DEAL::2010 2 +DEAL::2011 2 +DEAL::2012 2 +DEAL::2013 2 +DEAL::2014 2 +DEAL::2015 2 +DEAL::2016 2 +DEAL::2017 2 +DEAL::2018 3 +DEAL::2019 3 +DEAL::2020 3 +DEAL::2021 3 +DEAL::2022 3 +DEAL::2023 3 +DEAL::2024 3 +DEAL::2025 3 +DEAL::2026 3 +DEAL::2027 3 +DEAL::2028 3 +DEAL::2029 3 +DEAL::2030 3 +DEAL::2031 3 +DEAL::2032 3 +DEAL::2033 3 +DEAL::2034 3 +DEAL::2035 3 +DEAL::2036 3 +DEAL::2037 3 +DEAL::2038 3 +DEAL::2039 3 +DEAL::2040 3 +DEAL::2041 3 +DEAL::2042 3 +DEAL::2043 3 +DEAL::2044 3 +DEAL::2045 3 +DEAL::2046 3 +DEAL::2047 3 +DEAL::2048 0 +DEAL::2049 0 +DEAL::2050 0 +DEAL::2051 0 +DEAL::2052 0 +DEAL::2053 0 +DEAL::2054 0 +DEAL::2055 0 +DEAL::2056 0 +DEAL::2057 0 +DEAL::2058 0 +DEAL::2059 0 +DEAL::2060 0 +DEAL::2061 0 +DEAL::2062 0 +DEAL::2063 2 +DEAL::2064 2 +DEAL::2065 2 +DEAL::2066 2 +DEAL::2067 2 +DEAL::2068 2 +DEAL::2069 2 +DEAL::2070 2 +DEAL::2071 2 +DEAL::2072 2 +DEAL::2073 2 +DEAL::2074 2 +DEAL::2075 2 +DEAL::2076 2 +DEAL::2077 2 +DEAL::2078 2 +DEAL::2079 2 +DEAL::2080 2 +DEAL::2081 2 +DEAL::2082 2 +DEAL::2083 2 +DEAL::2084 2 +DEAL::2085 2 +DEAL::2086 2 +DEAL::2087 2 +DEAL::2088 2 +DEAL::2089 2 +DEAL::2090 2 +DEAL::2091 2 +DEAL::2092 2 +DEAL::2093 4 +DEAL::2094 4 +DEAL::2095 4 +DEAL::2096 4 +DEAL::2097 4 +DEAL::2098 4 +DEAL::2099 4 +DEAL::2100 4 +DEAL::2101 4 +DEAL::2102 4 +DEAL::2103 4 +DEAL::2104 4 +DEAL::2105 4 +DEAL::2106 4 +DEAL::2107 4 +DEAL::2108 4 +DEAL::2109 4 +DEAL::2110 4 +DEAL::2111 4 +DEAL::2112 1 +DEAL::2113 1 +DEAL::2114 1 +DEAL::2115 1 +DEAL::2116 1 +DEAL::2117 1 +DEAL::2118 1 +DEAL::2119 1 +DEAL::2120 1 +DEAL::2121 1 +DEAL::2122 1 +DEAL::2123 1 +DEAL::2124 1 +DEAL::2125 1 +DEAL::2126 1 +DEAL::2127 1 +DEAL::2128 0 +DEAL::2129 0 +DEAL::2130 0 +DEAL::2131 0 +DEAL::2132 0 +DEAL::2133 0 +DEAL::2134 0 +DEAL::2135 0 +DEAL::2136 0 +DEAL::2137 0 +DEAL::2138 0 +DEAL::2139 0 +DEAL::2140 0 +DEAL::2141 0 +DEAL::2142 0 +DEAL::2143 0 +DEAL::2144 0 +DEAL::2145 0 +DEAL::2146 1 +DEAL::2147 1 +DEAL::2148 2 +DEAL::2149 2 +DEAL::2150 1 +DEAL::2151 1 +DEAL::2152 1 +DEAL::2153 1 +DEAL::2154 1 +DEAL::2155 1 +DEAL::2156 1 +DEAL::2157 1 +DEAL::2158 1 +DEAL::2159 1 +DEAL::2160 1 +DEAL::2161 1 +DEAL::2162 1 +DEAL::2163 1 +DEAL::2164 1 +DEAL::2165 1 +DEAL::2166 1 +DEAL::2167 1 +DEAL::2168 1 +DEAL::2169 1 +DEAL::2170 1 +DEAL::2171 1 +DEAL::2172 1 +DEAL::2173 1 +DEAL::2174 1 +DEAL::2175 1 +DEAL::2176 1 +DEAL::2177 1 +DEAL::2178 1 +DEAL::2179 1 +DEAL::2180 1 +DEAL::2181 1 +DEAL::2182 1 +DEAL::2183 1 +DEAL::2184 1 +DEAL::2185 1 +DEAL::2186 1 +DEAL::2187 1 +DEAL::2188 1 +DEAL::2189 1 +DEAL::2190 1 +DEAL::2191 1 +DEAL::2192 1 +DEAL::2193 1 +DEAL::2194 1 +DEAL::2195 1 +DEAL::2196 1 +DEAL::2197 1 +DEAL::2198 1 +DEAL::2199 1 +DEAL::2200 1 +DEAL::2201 1 +DEAL::2202 1 +DEAL::2203 1 +DEAL::2204 1 +DEAL::2205 1 +DEAL::2206 0 +DEAL::2207 0 +DEAL::2208 0 +DEAL::2209 0 +DEAL::2210 0 +DEAL::2211 0 +DEAL::2212 0 +DEAL::2213 0 +DEAL::2214 0 +DEAL::2215 0 +DEAL::2216 0 +DEAL::2217 0 +DEAL::2218 0 +DEAL::2219 0 +DEAL::2220 0 +DEAL::2221 0 +DEAL::2222 1 +DEAL::2223 1 +DEAL::2224 1 +DEAL::2225 1 +DEAL::2226 1 +DEAL::2227 1 +DEAL::2228 0 +DEAL::2229 0 +DEAL::2230 0 +DEAL::2231 0 +DEAL::2232 1 +DEAL::2233 1 +DEAL::2234 1 +DEAL::2235 1 +DEAL::2236 1 +DEAL::2237 0 +DEAL::2238 0 +DEAL::2239 0 +DEAL::2240 0 +DEAL::2241 0 +DEAL::2242 0 +DEAL::2243 0 +DEAL::2244 0 +DEAL::2245 0 +DEAL::2246 0 +DEAL::2247 0 +DEAL::2248 0 +DEAL::2249 0 +DEAL::2250 0 +DEAL::2251 0 +DEAL::2252 0 +DEAL::2253 2 +DEAL::2254 2 +DEAL::2255 2 +DEAL::2256 2 +DEAL::2257 2 +DEAL::2258 2 +DEAL::2259 2 +DEAL::2260 2 +DEAL::2261 2 +DEAL::2262 2 +DEAL::2263 2 +DEAL::2264 2 +DEAL::2265 2 +DEAL::2266 2 +DEAL::2267 2 +DEAL::2268 2 +DEAL::2269 2 +DEAL::2270 2 +DEAL::2271 2 +DEAL::2272 2 +DEAL::2273 2 +DEAL::2274 2 +DEAL::2275 2 +DEAL::2276 2 +DEAL::2277 2 +DEAL::2278 2 +DEAL::2279 2 +DEAL::2280 2 +DEAL::2281 2 +DEAL::2282 2 +DEAL::2283 2 +DEAL::2284 2 +DEAL::2285 2 +DEAL::2286 2 +DEAL::2287 2 +DEAL::2288 4 +DEAL::2289 4 +DEAL::2290 4 +DEAL::2291 4 +DEAL::2292 4 +DEAL::2293 4 +DEAL::2294 4 +DEAL::2295 4 +DEAL::2296 4 +DEAL::2297 4 +DEAL::2298 4 +DEAL::2299 4 +DEAL::2300 4 +DEAL::2301 4 +DEAL::2302 4 +DEAL::2303 4 +DEAL::2304 4 +DEAL::2305 4 +DEAL::2306 4 +DEAL::2307 1 +DEAL::2308 4 +DEAL::2309 4 +DEAL::2310 4 +DEAL::2311 4 +DEAL::2312 4 +DEAL::2313 3 +DEAL::2314 4 +DEAL::2315 4 +DEAL::2316 3 +DEAL::2317 4 +DEAL::2318 1 +DEAL::2319 4 +DEAL::2320 4 +DEAL::2321 3 +DEAL::2322 3 +DEAL::2323 3 +DEAL::2324 2 +DEAL::2325 2 +DEAL::2326 2 +DEAL::2327 2 +DEAL::2328 2 +DEAL::2329 2 +DEAL::2330 2 +DEAL::2331 2 +DEAL::2332 2 +DEAL::2333 2 +DEAL::2334 2 +DEAL::2335 2 +DEAL::2336 2 +DEAL::2337 2 +DEAL::2338 2 +DEAL::2339 2 +DEAL::2340 2 +DEAL::2341 2 +DEAL::2342 2 +DEAL::2343 2 +DEAL::2344 2 +DEAL::2345 4 +DEAL::2346 4 +DEAL::2347 4 +DEAL::2348 4 +DEAL::2349 4 +DEAL::2350 4 +DEAL::2351 4 +DEAL::2352 4 +DEAL::2353 4 +DEAL::2354 4 +DEAL::2355 4 +DEAL::2356 4 +DEAL::2357 4 +DEAL::2358 4 +DEAL::2359 4 +DEAL::2360 4 +DEAL::2361 4 +DEAL::2362 4 +DEAL::2363 4 +DEAL::2364 4 +DEAL::2365 4 +DEAL::2366 4 +DEAL::2367 4 +DEAL::2368 4 +DEAL::2369 4 +DEAL::2370 4 +DEAL::2371 4 +DEAL::2372 4 +DEAL::2373 4 +DEAL::2374 4 +DEAL::2375 4 +DEAL::2376 4 +DEAL::2377 4 +DEAL::2378 4 +DEAL::2379 4 +DEAL::2380 4 +DEAL::2381 3 +DEAL::2382 3 +DEAL::2383 3 +DEAL::2384 4 +DEAL::2385 3 +DEAL::2386 3 +DEAL::2387 4 +DEAL::2388 4 +DEAL::2389 4 +DEAL::2390 4 +DEAL::2391 4 +DEAL::2392 3 +DEAL::2393 3 +DEAL::2394 3 +DEAL::2395 3 +DEAL::2396 3 +DEAL::2397 4 +DEAL::2398 4 +DEAL::2399 4 +DEAL::2400 1 +DEAL::2401 1 +DEAL::2402 1 +DEAL::2403 1 +DEAL::2404 1 +DEAL::2405 1 +DEAL::2406 1 +DEAL::2407 1 +DEAL::2408 1 +DEAL::2409 1 +DEAL::2410 1 +DEAL::2411 1 +DEAL::2412 1 +DEAL::2413 1 +DEAL::2414 1 +DEAL::2415 1 +DEAL::2416 1 +DEAL::2417 1 +DEAL::2418 1 +DEAL::2419 1 +DEAL::2420 1 +DEAL::2421 1 +DEAL::2422 1 +DEAL::2423 1 +DEAL::2424 1 +DEAL::2425 1 +DEAL::2426 1 +DEAL::2427 1 +DEAL::2428 1 +DEAL::2429 1 +DEAL::2430 1 +DEAL::2431 1 +DEAL::2432 1 +DEAL::2433 1 +DEAL::2434 1 +DEAL::2435 1 +DEAL::2436 1 +DEAL::2437 4 +DEAL::2438 4 +DEAL::2439 4 +DEAL::2440 4 +DEAL::2441 4 +DEAL::2442 4 +DEAL::2443 4 +DEAL::2444 4 +DEAL::2445 4 +DEAL::2446 4 +DEAL::2447 4 +DEAL::2448 4 +DEAL::2449 4 +DEAL::2450 4 +DEAL::2451 4 +DEAL::2452 4 +DEAL::2453 4 +DEAL::2454 4 +DEAL::2455 4 +DEAL::2456 3 +DEAL::2457 3 +DEAL::2458 3 +DEAL::2459 3 +DEAL::2460 3 +DEAL::2461 3 +DEAL::2462 4 +DEAL::2463 4 +DEAL::2464 4 +DEAL::2465 4 +DEAL::2466 4 +DEAL::2467 3 +DEAL::2468 3 +DEAL::2469 3 +DEAL::2470 3 +DEAL::2471 3 +DEAL::2472 3 +DEAL::2473 3 +DEAL::2474 3 +DEAL::2475 3 +DEAL::2476 3 +DEAL::2477 3 +DEAL::2478 3 +DEAL::2479 3 +DEAL::2480 3 +DEAL::2481 3 +DEAL::2482 3 +DEAL::2483 3 +DEAL::2484 3 +DEAL::2485 3 +DEAL::2486 3 +DEAL::2487 3 +DEAL::2488 3 +DEAL::2489 3 +DEAL::2490 3 +DEAL::2491 3 +DEAL::2492 3 +DEAL::2493 3 +DEAL::2494 3 +DEAL::2495 3 +DEAL::2496 3 +DEAL::2497 3 +DEAL::2498 3 +DEAL::2499 3 +DEAL::2500 3 +DEAL::2501 3 +DEAL::2502 3 +DEAL::2503 3 +DEAL::2504 3 +DEAL::2505 3 +DEAL::2506 3 +DEAL::2507 3 +DEAL::2508 3 +DEAL::2509 0 +DEAL::2510 0 +DEAL::2511 0 +DEAL::2512 0 +DEAL::2513 0 +DEAL::2514 0 +DEAL::2515 0 +DEAL::2516 0 +DEAL::2517 0 +DEAL::2518 0 +DEAL::2519 0 +DEAL::2520 0 +DEAL::2521 0 +DEAL::2522 0 +DEAL::2523 0 +DEAL::2524 0 +DEAL::2525 0 +DEAL::2526 0 +DEAL::2527 0 +DEAL::2528 4 +DEAL::2529 4 +DEAL::2530 4 +DEAL::2531 4 +DEAL::2532 4 +DEAL::2533 4 +DEAL::2534 4 +DEAL::2535 4 +DEAL::2536 4 +DEAL::2537 4 +DEAL::2538 4 +DEAL::2539 4 +DEAL::2540 4 +DEAL::2541 4 +DEAL::2542 4 +DEAL::2543 4 +DEAL::2544 4 +DEAL::2545 4 +DEAL::2546 4 +DEAL::2547 2 +DEAL::2548 4 +DEAL::2549 4 +DEAL::2550 4 +DEAL::2551 4 +DEAL::2552 4 +DEAL::2553 4 +DEAL::2554 4 +DEAL::2555 4 +DEAL::2556 2 +DEAL::2557 4 +DEAL::2558 4 +DEAL::2559 4 +DEAL::2560 4 +DEAL::2561 4 +DEAL::2562 4 +DEAL::2563 4 +DEAL::2564 4 +DEAL::2565 4 +DEAL::2566 4 +DEAL::2567 4 +DEAL::2568 4 +DEAL::2569 4 +DEAL::2570 4 +DEAL::2571 4 +DEAL::2572 4 +DEAL::2573 4 +DEAL::2574 4 +DEAL::2575 4 +DEAL::2576 4 +DEAL::2577 4 +DEAL::2578 4 +DEAL::2579 4 +DEAL::2580 4 +DEAL::2581 4 +DEAL::2582 4 +DEAL::2583 1 +DEAL::2584 4 +DEAL::2585 4 +DEAL::2586 4 +DEAL::2587 1 +DEAL::2588 1 +DEAL::2589 1 +DEAL::2590 1 +DEAL::2591 1 +DEAL::2592 1 +DEAL::2593 1 +DEAL::2594 1 +DEAL::2595 1 +DEAL::2596 1 +DEAL::2597 1 +DEAL::2598 1 +DEAL::2599 1 +DEAL::2600 1 +DEAL::2601 1 +DEAL::2602 1 +DEAL::2603 1 +DEAL::2604 1 +DEAL::2605 1 +DEAL::2606 1 +DEAL::2607 1 +DEAL::2608 1 +DEAL::2609 1 +DEAL::2610 1 +DEAL::2611 1 +DEAL::2612 1 +DEAL::2613 1 +DEAL::2614 1 +DEAL::2615 1 +DEAL::2616 1 +DEAL::2617 1 +DEAL::2618 1 +DEAL::2619 1 +DEAL::2620 1 +DEAL::2621 1 +DEAL::2622 1 +DEAL::2623 1 +DEAL::2624 1 +DEAL::2625 1 +DEAL::2626 4 +DEAL::2627 4 +DEAL::2628 4 +DEAL::2629 4 +DEAL::2630 4 +DEAL::2631 4 +DEAL::2632 4 +DEAL::2633 4 +DEAL::2634 4 +DEAL::2635 4 +DEAL::2636 4 +DEAL::2637 4 +DEAL::2638 4 +DEAL::2639 4 +DEAL::2640 4 +DEAL::2641 4 +DEAL::2642 4 +DEAL::2643 4 +DEAL::2644 4 +DEAL::2645 4 +DEAL::2646 4 +DEAL::2647 1 +DEAL::2648 1 +DEAL::2649 1 +DEAL::2650 1 +DEAL::2651 1 +DEAL::2652 1 +DEAL::2653 1 +DEAL::2654 1 +DEAL::2655 1 +DEAL::2656 1 +DEAL::2657 1 +DEAL::2658 1 +DEAL::2659 1 +DEAL::2660 1 +DEAL::2661 1 +DEAL::2662 1 +DEAL::2663 1 +DEAL::2664 1 +DEAL::2665 1 +DEAL::2666 0 +DEAL::2667 0 +DEAL::2668 0 +DEAL::2669 0 +DEAL::2670 0 +DEAL::2671 0 +DEAL::2672 0 +DEAL::2673 0 +DEAL::2674 0 +DEAL::2675 0 +DEAL::2676 0 +DEAL::2677 0 +DEAL::2678 0 +DEAL::2679 0 +DEAL::2680 0 +DEAL::2681 0 +DEAL::2682 1 +DEAL::2683 1 +DEAL::2684 1 +DEAL::2685 1 +DEAL::2686 1 +DEAL::2687 1 +DEAL::2688 1 +DEAL::2689 1 +DEAL::2690 1 +DEAL::2691 1 +DEAL::2692 1 +DEAL::2693 1 +DEAL::2694 1 +DEAL::2695 1 +DEAL::2696 1 +DEAL::2697 1 +DEAL::2698 1 +DEAL::2699 1 +DEAL::2700 1 +DEAL::2701 1 +DEAL::2702 1 +DEAL::2703 1 +DEAL::2704 1 +DEAL::2705 1 +DEAL::2706 1 +DEAL::2707 1 +DEAL::2708 1 +DEAL::2709 1 +DEAL::2710 1 +DEAL::2711 1 +DEAL::2712 1 +DEAL::2713 1 +DEAL::2714 1 +DEAL::2715 1 +DEAL::2716 1 +DEAL::2717 1 +DEAL::2718 1 +DEAL::2719 1 +DEAL::2720 1 +DEAL::2721 1 +DEAL::2722 1 +DEAL::2723 1 +DEAL::2724 1 +DEAL::2725 1 +DEAL::2726 1 +DEAL::2727 0 +DEAL::2728 0 +DEAL::2729 0 +DEAL::2730 0 +DEAL::2731 0 +DEAL::2732 0 +DEAL::2733 0 +DEAL::2734 0 +DEAL::2735 0 +DEAL::2736 0 +DEAL::2737 0 +DEAL::2738 0 +DEAL::2739 0 +DEAL::2740 0 +DEAL::2741 0 +DEAL::2742 0 +DEAL::2743 0 +DEAL::2744 0 +DEAL::2745 0 +DEAL::2746 0 +DEAL::2747 0 +DEAL::2748 0 +DEAL::2749 0 +DEAL::2750 0 +DEAL::2751 0 +DEAL::2752 0 +DEAL::2753 0 +DEAL::2754 0 +DEAL::2755 0 +DEAL::2756 0 +DEAL::2757 0 +DEAL::2758 0 +DEAL::2759 0 +DEAL::2760 0 +DEAL::2761 0 +DEAL::2762 0 +DEAL::2763 0 +DEAL::2764 0 +DEAL::2765 0 +DEAL::2766 0 +DEAL::2767 0 +DEAL::2768 0 +DEAL::2769 0 +DEAL::2770 0 +DEAL::2771 0 +DEAL::2772 0 +DEAL::2773 0 +DEAL::2774 0 +DEAL::2775 0 +DEAL::2776 0 +DEAL::2777 0 +DEAL::2778 0 +DEAL::2779 0 +DEAL::2780 2 +DEAL::2781 2 +DEAL::2782 2 +DEAL::2783 2 +DEAL::2784 2 +DEAL::2785 2 +DEAL::2786 2 +DEAL::2787 2 +DEAL::2788 2 +DEAL::2789 2 +DEAL::2790 2 +DEAL::2791 2 +DEAL::2792 2 +DEAL::2793 2 +DEAL::2794 2 +DEAL::2795 2 +DEAL::2796 4 +DEAL::2797 4 +DEAL::2798 4 +DEAL::2799 4 +DEAL::2800 4 +DEAL::2801 4 +DEAL::2802 4 +DEAL::2803 4 +DEAL::2804 4 +DEAL::2805 4 +DEAL::2806 4 +DEAL::2807 4 +DEAL::2808 4 +DEAL::2809 4 +DEAL::2810 4 +DEAL::2811 4 +DEAL::2812 3 +DEAL::2813 3 +DEAL::2814 3 +DEAL::2815 3 +DEAL::2816 3 +DEAL::2817 3 +DEAL::2818 3 +DEAL::2819 3 +DEAL::2820 3 +DEAL::2821 3 +DEAL::2822 3 +DEAL::2823 3 +DEAL::2824 3 +DEAL::2825 3 +DEAL::2826 3 +DEAL::2827 3 +DEAL::2828 3 +DEAL::2829 3 +DEAL::2830 3 +DEAL::2831 3 +DEAL::2832 3 +DEAL::2833 3 +DEAL::2834 3 +DEAL::2835 3 +DEAL::2836 3 +DEAL::2837 3 +DEAL::2838 3 +DEAL::2839 3 +DEAL::2840 4 +DEAL::2841 4 +DEAL::2842 4 +DEAL::2843 4 +DEAL::2844 4 +DEAL::2845 4 +DEAL::2846 4 +DEAL::2847 4 +DEAL::2848 4 +DEAL::2849 4 +DEAL::2850 4 +DEAL::2851 4 +DEAL::2852 4 +DEAL::2853 4 +DEAL::2854 4 +DEAL::2855 4 +DEAL::2856 4 +DEAL::2857 4 +DEAL::2858 4 +DEAL::2859 0 +DEAL::2860 0 +DEAL::2861 0 +DEAL::2862 0 +DEAL::2863 0 +DEAL::2864 0 +DEAL::2865 0 +DEAL::2866 0 +DEAL::2867 0 +DEAL::2868 0 +DEAL::2869 0 +DEAL::2870 0 +DEAL::2871 0 +DEAL::2872 0 +DEAL::2873 0 +DEAL::2874 0 +DEAL::2875 0 +DEAL::2876 0 +DEAL::2877 0 +DEAL::2878 0 +DEAL::2879 0 +DEAL::2880 0 +DEAL::2881 0 +DEAL::2882 0 +DEAL::2883 0 +DEAL::2884 0 +DEAL::2885 0 +DEAL::2886 0 +DEAL::2887 0 +DEAL::2888 0 +DEAL::2889 0 +DEAL::2890 0 +DEAL::2891 0 +DEAL::2892 0 +DEAL::2893 0 +DEAL::2894 0 +DEAL::2895 1 +DEAL::2896 1 +DEAL::2897 1 +DEAL::2898 1 +DEAL::2899 1 +DEAL::2900 1 +DEAL::2901 1 +DEAL::2902 1 +DEAL::2903 1 +DEAL::2904 1 +DEAL::2905 1 +DEAL::2906 1 +DEAL::2907 1 +DEAL::2908 1 +DEAL::2909 1 +DEAL::2910 1 +DEAL::2911 1 +DEAL::2912 1 +DEAL::2913 1 +DEAL::2914 1 +DEAL::2915 1 +DEAL::2916 1 +DEAL::2917 1 +DEAL::2918 1 +DEAL::2919 1 +DEAL::2920 1 +DEAL::2921 1 +DEAL::2922 1 +DEAL::2923 1 +DEAL::2924 1 +DEAL::2925 1 +DEAL::2926 1 +DEAL::2927 1 +DEAL::2928 4 +DEAL::2929 4 +DEAL::2930 4 +DEAL::2931 4 +DEAL::2932 4 +DEAL::2933 4 +DEAL::2934 4 +DEAL::2935 4 +DEAL::2936 4 +DEAL::2937 4 +DEAL::2938 4 +DEAL::2939 4 +DEAL::2940 4 +DEAL::2941 4 +DEAL::2942 4 +DEAL::2943 4 +DEAL::2944 4 +DEAL::2945 4 +DEAL::2946 4 +DEAL::2947 4 +DEAL::2948 4 +DEAL::2949 4 +DEAL::2950 4 +DEAL::2951 4 +DEAL::2952 4 +DEAL::2953 4 +DEAL::2954 4 +DEAL::2955 4 +DEAL::2956 4 +DEAL::2957 4 +DEAL::2958 4 +DEAL::2959 4 +DEAL::2960 4 +DEAL::2961 4 +DEAL::2962 4 +DEAL::2963 4 +DEAL::2964 4 +DEAL::2965 4 +DEAL::2966 4 +DEAL::2967 4 +DEAL::2968 0 +DEAL::2969 0 +DEAL::2970 0 +DEAL::2971 0 +DEAL::2972 0 +DEAL::2973 0 +DEAL::2974 0 +DEAL::2975 0 +DEAL::2976 0 +DEAL::2977 0 +DEAL::2978 0 +DEAL::2979 0 +DEAL::2980 0 +DEAL::2981 0 +DEAL::2982 0 +DEAL::2983 0 +DEAL::2984 3 +DEAL::2985 3 +DEAL::2986 3 +DEAL::2987 3 +DEAL::2988 3 +DEAL::2989 3 +DEAL::2990 3 +DEAL::2991 3 +DEAL::2992 4 +DEAL::2993 4 +DEAL::2994 4 +DEAL::2995 4 +DEAL::2996 4 +DEAL::2997 4 +DEAL::2998 4 +DEAL::2999 4 +DEAL::3000 4 +DEAL::3001 2 +DEAL::3002 2 +DEAL::3003 2 +DEAL::3004 2 +DEAL::3005 2 +DEAL::3006 2 +DEAL::3007 2 +DEAL::3008 2 +DEAL::3009 2 +DEAL::3010 2 +DEAL::3011 2 +DEAL::3012 2 +DEAL::3013 2 +DEAL::3014 2 +DEAL::3015 2 +DEAL::3016 2 +DEAL::3017 2 +DEAL::3018 2 +DEAL::3019 2 +DEAL::3020 2 +DEAL::3021 3 +DEAL::3022 3 +DEAL::3023 3 +DEAL::3024 3 +DEAL::3025 3 +DEAL::3026 3 +DEAL::3027 3 +DEAL::3028 3 +DEAL::3029 3 +DEAL::3030 3 +DEAL::3031 3 +DEAL::3032 3 +DEAL::3033 3 +DEAL::3034 3 +DEAL::3035 3 +DEAL::3036 3 +DEAL::3037 3 +DEAL::3038 3 +DEAL::3039 3 +DEAL::3040 3 +DEAL::3041 3 +DEAL::3042 3 +DEAL::3043 3 +DEAL::3044 3 +DEAL::3045 3 +DEAL::3046 0 +DEAL::3047 0 +DEAL::3048 0 +DEAL::3049 0 +DEAL::3050 0 +DEAL::3051 0 +DEAL::3052 0 +DEAL::3053 0 +DEAL::3054 0 +DEAL::3055 0 +DEAL::3056 0 +DEAL::3057 0 +DEAL::3058 0 +DEAL::3059 0 +DEAL::3060 0 +DEAL::3061 0 +DEAL::3062 0 +DEAL::3063 0 +DEAL::3064 0 +DEAL::3065 0 +DEAL::3066 0 +DEAL::3067 2 +DEAL::3068 2 +DEAL::3069 2 +DEAL::3070 2 +DEAL::3071 2 +DEAL::3072 2 +DEAL::3073 2 +DEAL::3074 2 +DEAL::3075 1 +DEAL::3076 1 +DEAL::3077 1 +DEAL::3078 1 +DEAL::3079 1 +DEAL::3080 1 +DEAL::3081 1 +DEAL::3082 1 +DEAL::3083 1 +DEAL::3084 1 +DEAL::3085 1 +DEAL::3086 1 +DEAL::3087 1 +DEAL::3088 1 +DEAL::3089 1 +DEAL::3090 1 +DEAL::3091 1 +DEAL::3092 1 +DEAL::3093 1 +DEAL::3094 3 +DEAL::3095 3 +DEAL::3096 3 +DEAL::3097 3 +DEAL::3098 3 +DEAL::3099 3 +DEAL::3100 3 +DEAL::3101 3 +DEAL::3102 3 +DEAL::3103 3 +DEAL::3104 3 +DEAL::3105 3 +DEAL::3106 3 +DEAL::3107 3 +DEAL::3108 3 +DEAL::3109 3 +DEAL::3110 3 +DEAL::3111 3 +DEAL::3112 3 +DEAL::3113 3 +DEAL::3114 4 +DEAL::3115 4 +DEAL::3116 4 +DEAL::3117 4 +DEAL::3118 4 +DEAL::3119 4 +DEAL::3120 4 +DEAL::3121 4 +DEAL::3122 4 +DEAL::3123 4 +DEAL::3124 4 +DEAL::3125 4 +DEAL::3126 4 +DEAL::3127 4 +DEAL::3128 4 +DEAL::3129 4 +DEAL::3130 4 +DEAL::3131 4 +DEAL::3132 2 +DEAL::3133 2 +DEAL::3134 2 +DEAL::3135 2 +DEAL::3136 2 +DEAL::3137 2 +DEAL::3138 2 +DEAL::3139 2 +DEAL::3140 2 +DEAL::3141 2 +DEAL::3142 2 +DEAL::3143 2 +DEAL::3144 2 +DEAL::3145 2 +DEAL::3146 2 +DEAL::3147 2 +DEAL::3148 2 +DEAL::3149 3 +DEAL::3150 3 +DEAL::3151 3 +DEAL::3152 3 +DEAL::3153 3 +DEAL::3154 3 +DEAL::3155 3 +DEAL::3156 3 +DEAL::3157 3 +DEAL::3158 3 +DEAL::3159 3 +DEAL::3160 3 +DEAL::3161 3 +DEAL::3162 3 +DEAL::3163 3 +DEAL::3164 3 +DEAL::3165 3 +DEAL::3166 3 +DEAL::3167 3 +DEAL::3168 3 +DEAL::3169 3 +DEAL::3170 0 +DEAL::3171 3 +DEAL::3172 3 +DEAL::3173 3 +DEAL::3174 3 +DEAL::3175 3 +DEAL::3176 3 +DEAL::3177 3 +DEAL::3178 3 +DEAL::3179 0 +DEAL::3180 3 +DEAL::3181 3 +DEAL::3182 3 +DEAL::3183 3 +DEAL::3184 3 +DEAL::3185 3 +DEAL::3186 3 +DEAL::3187 3 +DEAL::3188 3 +DEAL::3189 2 +DEAL::3190 2 +DEAL::3191 2 +DEAL::3192 2 +DEAL::3193 2 +DEAL::3194 2 +DEAL::3195 2 +DEAL::3196 2 +DEAL::3197 2 +DEAL::3198 2 +DEAL::3199 2 +DEAL::3200 2 +DEAL::3201 2 +DEAL::3202 2 +DEAL::3203 2 +DEAL::3204 2 +DEAL::3205 2 +DEAL::3206 2 +DEAL::3207 2 +DEAL::3208 1 +DEAL::3209 1 +DEAL::3210 1 +DEAL::3211 1 +DEAL::3212 1 +DEAL::3213 1 +DEAL::3214 1 +DEAL::3215 1 +DEAL::3216 1 +DEAL::3217 1 +DEAL::3218 1 +DEAL::3219 1 +DEAL::3220 1 +DEAL::3221 1 +DEAL::3222 1 +DEAL::3223 1 +DEAL::3224 1 +DEAL::3225 1 +DEAL::3226 0 +DEAL::3227 0 +DEAL::3228 0 +DEAL::3229 0 +DEAL::3230 0 +DEAL::3231 0 +DEAL::3232 0 +DEAL::3233 0 +DEAL::3234 0 +DEAL::3235 0 +DEAL::3236 0 +DEAL::3237 0 +DEAL::3238 0 +DEAL::3239 0 +DEAL::3240 0 +DEAL::3241 0 +DEAL::3242 0 +DEAL::3243 0 +DEAL::3244 4 +DEAL::3245 4 +DEAL::3246 4 +DEAL::3247 4 +DEAL::3248 4 +DEAL::3249 4 +DEAL::3250 4 +DEAL::3251 4 +DEAL::3252 4 +DEAL::3253 4 +DEAL::3254 4 +DEAL::3255 4 +DEAL::3256 4 +DEAL::3257 4 +DEAL::3258 4 +DEAL::3259 4 +DEAL::3260 4 +DEAL::3261 4 +DEAL::3262 4 +DEAL::3263 3 +DEAL::3264 3 +DEAL::3265 3 +DEAL::3266 3 +DEAL::3267 3 +DEAL::3268 3 +DEAL::3269 3 +DEAL::3270 3 +DEAL::3271 3 +DEAL::3272 3 +DEAL::3273 3 +DEAL::3274 3 +DEAL::3275 3 +DEAL::3276 3 +DEAL::3277 3 +DEAL::3278 3 +DEAL::3279 3 +DEAL::3280 3 +DEAL::3281 3 +DEAL::3282 3 +DEAL::3283 3 +DEAL::3284 2 +DEAL::3285 2 +DEAL::3286 2 +DEAL::3287 2 +DEAL::3288 2 +DEAL::3289 2 +DEAL::3290 2 +DEAL::3291 2 +DEAL::3292 2 +DEAL::3293 2 +DEAL::3294 2 +DEAL::3295 2 +DEAL::3296 2 +DEAL::3297 2 +DEAL::3298 2 +DEAL::3299 2 +DEAL::3300 2 +DEAL::3301 2 +DEAL::3302 3 +DEAL::3303 3 +DEAL::3304 3 +DEAL::3305 3 +DEAL::3306 3 +DEAL::3307 3 +DEAL::3308 3 +DEAL::3309 3 +DEAL::3310 3 +DEAL::3311 3 +DEAL::3312 3 +DEAL::3313 3 +DEAL::3314 3 +DEAL::3315 3 +DEAL::3316 3 +DEAL::3317 3 +DEAL::3318 3 +DEAL::3319 3 +DEAL::3320 3 +DEAL::3321 3 +DEAL::3322 3 +DEAL::3323 3 +DEAL::3324 3 +DEAL::3325 3 +DEAL::3326 3 +DEAL::3327 3 +DEAL::3328 3 +DEAL::3329 3 +DEAL::3330 3 +DEAL::3331 3 +DEAL::3332 3 +DEAL::3333 3 +DEAL::3334 3 +DEAL::3335 3 +DEAL::3336 3 +DEAL::3337 3 +DEAL::3338 0 +DEAL::3339 0 +DEAL::3340 0 +DEAL::3341 0 +DEAL::3342 0 +DEAL::3343 0 +DEAL::3344 0 +DEAL::3345 0 +DEAL::3346 0 +DEAL::3347 0 +DEAL::3348 0 +DEAL::3349 0 +DEAL::3350 0 +DEAL::3351 0 +DEAL::3352 0 +DEAL::3353 0 +DEAL::3354 0 +DEAL::3355 0 +DEAL::3356 4 +DEAL::3357 4 +DEAL::3358 4 +DEAL::3359 4 +DEAL::3360 4 +DEAL::3361 4 +DEAL::3362 4 +DEAL::3363 4 +DEAL::3364 4 +DEAL::3365 4 +DEAL::3366 4 +DEAL::3367 4 +DEAL::3368 4 +DEAL::3369 4 +DEAL::3370 4 +DEAL::3371 4 +DEAL::3372 4 +DEAL::3373 4 +DEAL::3374 1 +DEAL::3375 1 +DEAL::3376 1 +DEAL::3377 1 +DEAL::3378 1 +DEAL::3379 1 +DEAL::3380 1 +DEAL::3381 1 +DEAL::3382 1 +DEAL::3383 1 +DEAL::3384 1 +DEAL::3385 1 +DEAL::3386 1 +DEAL::3387 1 +DEAL::3388 1 +DEAL::3389 1 +DEAL::3390 1 +DEAL::3391 1 +DEAL::3392 1 +DEAL::3393 1 +DEAL::3394 1 +DEAL::3395 2 +DEAL::3396 2 +DEAL::3397 2 +DEAL::3398 2 +DEAL::3399 2 +DEAL::3400 2 +DEAL::3401 2 +DEAL::3402 2 +DEAL::3403 2 +DEAL::3404 2 +DEAL::3405 2 +DEAL::3406 2 +DEAL::3407 2 +DEAL::3408 2 +DEAL::3409 2 +DEAL::3410 2 +DEAL::3411 2 +DEAL::3412 2 +DEAL::3413 2 +DEAL::3414 2 +DEAL::3415 2 +DEAL::3416 2 +DEAL::3417 2 +DEAL::3418 2 +DEAL::3419 2 +DEAL::3420 2 +DEAL::3421 2 +DEAL::3422 2 +DEAL::3423 2 +DEAL::3424 2 +DEAL::3425 2 +DEAL::3426 2 +DEAL::3427 2 +DEAL::3428 2 +DEAL::3429 2 +DEAL::3430 2 +DEAL::3431 2 +DEAL::3432 2 +DEAL::3433 2 +DEAL::3434 2 +DEAL::3435 2 +DEAL::3436 2 +DEAL::3437 2 +DEAL::3438 2 +DEAL::3439 2 +DEAL::3440 2 +DEAL::3441 2 +DEAL::3442 2 +DEAL::3443 2 +DEAL::3444 2 +DEAL::3445 2 +DEAL::3446 2 +DEAL::3447 2 +DEAL::3448 3 +DEAL::3449 3 +DEAL::3450 3 +DEAL::3451 3 +DEAL::3452 3 +DEAL::3453 3 +DEAL::3454 3 +DEAL::3455 0 +DEAL::3456 0 +DEAL::3457 3 +DEAL::3458 0 +DEAL::3459 3 +DEAL::3460 3 +DEAL::3461 3 +DEAL::3462 3 +DEAL::3463 3 +DEAL::3464 3 +DEAL::3465 3 +DEAL::3466 3 +DEAL::3467 0 +DEAL::3468 3 +DEAL::3469 3 +DEAL::3470 3 +DEAL::3471 3 +DEAL::3472 3 +DEAL::3473 3 +DEAL::3474 3 +DEAL::3475 3 +DEAL::3476 3 +DEAL::3477 3 +DEAL::3478 3 +DEAL::3479 3 +DEAL::3480 3 +DEAL::3481 2 +DEAL::3482 2 +DEAL::3483 2 +DEAL::3484 2 +DEAL::3485 2 +DEAL::3486 2 +DEAL::3487 2 +DEAL::3488 2 +DEAL::3489 2 +DEAL::3490 2 +DEAL::3491 2 +DEAL::3492 2 +DEAL::3493 2 +DEAL::3494 2 +DEAL::3495 2 +DEAL::3496 2 +DEAL::3497 2 +DEAL::3498 2 +DEAL::3499 2 +DEAL::3500 2 +DEAL::3501 2 +DEAL::3502 1 +DEAL::3503 1 +DEAL::3504 1 +DEAL::3505 1 +DEAL::3506 1 +DEAL::3507 1 +DEAL::3508 1 +DEAL::3509 1 +DEAL::3510 1 +DEAL::3511 1 +DEAL::3512 1 +DEAL::3513 1 +DEAL::3514 1 +DEAL::3515 1 +DEAL::3516 1 +DEAL::3517 1 +DEAL::3518 1 +DEAL::3519 1 +DEAL::3520 1 +DEAL::3521 1 +DEAL::3522 1 +DEAL::3523 1 +DEAL::3524 1 +DEAL::3525 1 +DEAL::3526 1 +DEAL::3527 1 +DEAL::3528 1 +DEAL::3529 1 +DEAL::3530 1 +DEAL::3531 1 +DEAL::3532 1 +DEAL::3533 1 +DEAL::3534 1 +DEAL::3535 1 +DEAL::3536 1 +DEAL::3537 1 +DEAL::3538 1 +DEAL::3539 1 +DEAL::3540 1 +DEAL::3541 1 +DEAL::3542 1 +DEAL::3543 1 +DEAL::3544 1 +DEAL::3545 1 +DEAL::3546 1 +DEAL::3547 1 +DEAL::3548 1 +DEAL::3549 1 +DEAL::3550 1 +DEAL::3551 1 +DEAL::3552 1 +DEAL::3553 1 +DEAL::3554 1 +DEAL::3555 1 +DEAL::3556 1 +DEAL::3557 1 +DEAL::3558 1 +DEAL::3559 1 +DEAL::3560 0 +DEAL::3561 1 +DEAL::3562 1 +DEAL::3563 1 +DEAL::3564 1 +DEAL::3565 1 +DEAL::3566 1 +DEAL::3567 1 +DEAL::3568 0 +DEAL::3569 1 +DEAL::3570 0 +DEAL::3571 1 +DEAL::3572 1 +DEAL::3573 1 +DEAL::3574 0 +DEAL::3575 0 +DEAL::3576 0 +DEAL::3577 0 +DEAL::3578 0 +DEAL::3579 0 +DEAL::3580 0 +DEAL::3581 0 +DEAL::3582 0 +DEAL::3583 0 +DEAL::3584 0 +DEAL::3585 0 +DEAL::3586 0 +DEAL::3587 0 +DEAL::3588 0 +DEAL::3589 0 +DEAL::3590 0 +DEAL::3591 0 +DEAL::3592 0 +DEAL::3593 0 +DEAL::3594 0 +DEAL::3595 0 +DEAL::3596 0 +DEAL::3597 0 +DEAL::3598 0 +DEAL::3599 0 +DEAL::3600 0 +DEAL::3601 0 +DEAL::3602 0 +DEAL::3603 0 +DEAL::3604 0 +DEAL::3605 0 +DEAL::3606 0 +DEAL::3607 0 +DEAL::3608 0 +DEAL::3609 0 +DEAL::3610 0 +DEAL::3611 0 +DEAL::3612 0 +DEAL::3613 0 +DEAL::3614 0 +DEAL::3615 0 +DEAL::3616 3 +DEAL::3617 3 +DEAL::3618 3 +DEAL::3619 3 +DEAL::3620 3 +DEAL::3621 3 +DEAL::3622 3 +DEAL::3623 3 +DEAL::3624 3 +DEAL::3625 3 +DEAL::3626 3 +DEAL::3627 3 +DEAL::3628 3 +DEAL::3629 3 +DEAL::3630 3 +DEAL::3631 3 +DEAL::3632 3 +DEAL::3633 3 +DEAL::3634 3 +DEAL::3635 3 +DEAL::3636 4 +DEAL::3637 4 +DEAL::3638 4 +DEAL::3639 4 +DEAL::3640 4 +DEAL::3641 4 +DEAL::3642 4 +DEAL::3643 4 +DEAL::3644 4 +DEAL::3645 4 +DEAL::3646 4 +DEAL::3647 4 +DEAL::3648 4 +DEAL::3649 4 +DEAL::3650 4 +DEAL::3651 4 +DEAL::3652 4 +DEAL::3653 4 +DEAL::3654 4 +DEAL::3655 2 +DEAL::3656 2 +DEAL::3657 2 +DEAL::3658 2 +DEAL::3659 2 +DEAL::3660 2 +DEAL::3661 2 +DEAL::3662 2 +DEAL::3663 2 +DEAL::3664 2 +DEAL::3665 2 +DEAL::3666 2 +DEAL::3667 2 +DEAL::3668 2 +DEAL::3669 2 +DEAL::3670 2 +DEAL::3671 2 +DEAL::3672 2 +DEAL::3673 2 +DEAL::3674 2 +DEAL::3675 3 +DEAL::3676 3 +DEAL::3677 3 +DEAL::3678 3 +DEAL::3679 3 +DEAL::3680 3 +DEAL::3681 3 +DEAL::3682 3 +DEAL::3683 3 +DEAL::3684 3 +DEAL::3685 3 +DEAL::3686 3 +DEAL::3687 3 +DEAL::3688 3 +DEAL::3689 3 +DEAL::3690 3 +DEAL::3691 3 +DEAL::3692 3 +DEAL::3693 3 +DEAL::3694 3 +DEAL::3695 3 +DEAL::3696 3 +DEAL::3697 3 +DEAL::3698 3 +DEAL::3699 3 +DEAL::3700 3 +DEAL::3701 3 +DEAL::3702 3 +DEAL::3703 3 +DEAL::3704 3 +DEAL::3705 3 +DEAL::3706 3 +DEAL::3707 3 +DEAL::3708 3 +DEAL::3709 3 +DEAL::3710 3 +DEAL::3711 3 +DEAL::3712 0 +DEAL::3713 0 +DEAL::3714 0 +DEAL::3715 0 +DEAL::3716 0 +DEAL::3717 0 +DEAL::3718 0 +DEAL::3719 0 +DEAL::3720 0 +DEAL::3721 0 +DEAL::3722 0 +DEAL::3723 0 +DEAL::3724 0 +DEAL::3725 0 +DEAL::3726 0 +DEAL::3727 0 +DEAL::3728 0 +DEAL::3729 0 +DEAL::3730 0 +DEAL::3731 3 +DEAL::3732 3 +DEAL::3733 3 +DEAL::3734 3 +DEAL::3735 3 +DEAL::3736 3 +DEAL::3737 3 +DEAL::3738 3 +DEAL::3739 3 +DEAL::3740 3 +DEAL::3741 3 +DEAL::3742 3 +DEAL::3743 3 +DEAL::3744 3 +DEAL::3745 3 +DEAL::3746 3 +DEAL::3747 3 +DEAL::3748 3 +DEAL::3749 2 +DEAL::3750 2 +DEAL::3751 2 +DEAL::3752 2 +DEAL::3753 2 +DEAL::3754 2 +DEAL::3755 2 +DEAL::3756 2 +DEAL::3757 2 +DEAL::3758 2 +DEAL::3759 2 +DEAL::3760 2 +DEAL::3761 2 +DEAL::3762 2 +DEAL::3763 2 +DEAL::3764 2 +DEAL::3765 2 +DEAL::3766 2 +DEAL::3767 2 +DEAL::3768 1 +DEAL::3769 1 +DEAL::3770 1 +DEAL::3771 1 +DEAL::3772 1 +DEAL::3773 1 +DEAL::3774 1 +DEAL::3775 1 +DEAL::3776 1 +DEAL::3777 1 +DEAL::3778 1 +DEAL::3779 1 +DEAL::3780 1 +DEAL::3781 1 +DEAL::3782 1 +DEAL::3783 1 +DEAL::3784 1 +DEAL::3785 1 +DEAL::3786 0 +DEAL::3787 0 +DEAL::3788 0 +DEAL::3789 0 +DEAL::3790 0 +DEAL::3791 0 +DEAL::3792 0 +DEAL::3793 0 +DEAL::3794 0 +DEAL::3795 0 +DEAL::3796 0 +DEAL::3797 0 +DEAL::3798 0 +DEAL::3799 0 +DEAL::3800 0 +DEAL::3801 0 +DEAL::3802 0 +DEAL::3803 0 +DEAL::3804 0 +DEAL::3805 0 +DEAL::3806 0 +DEAL::3807 0 +DEAL::3808 0 +DEAL::3809 0 +DEAL::3810 0 +DEAL::3811 0 +DEAL::3812 0 +DEAL::3813 0 +DEAL::3814 0 +DEAL::3815 0 +DEAL::3816 0 +DEAL::3817 0 +DEAL::3818 0 +DEAL::3819 0 +DEAL::3820 0 +DEAL::3821 0 +DEAL::3822 0 +DEAL::3823 0 +DEAL::3824 4 +DEAL::3825 4 +DEAL::3826 4 +DEAL::3827 4 +DEAL::3828 4 +DEAL::3829 4 +DEAL::3830 4 +DEAL::3831 4 +DEAL::3832 4 +DEAL::3833 4 +DEAL::3834 4 +DEAL::3835 4 +DEAL::3836 4 +DEAL::3837 4 +DEAL::3838 4 +DEAL::3839 4 +DEAL::3840 4 +DEAL::3841 4 +DEAL::3842 4 +DEAL::3843 4 +DEAL::3844 4 +DEAL::3845 4 +DEAL::3846 4 +DEAL::3847 4 +DEAL::3848 4 +DEAL::3849 4 +DEAL::3850 4 +DEAL::3851 4 +DEAL::3852 4 +DEAL::3853 4 +DEAL::3854 4 +DEAL::3855 4 +DEAL::3856 4 +DEAL::3857 4 +DEAL::3858 4 +DEAL::3859 4 +DEAL::3860 4 +DEAL::3861 4 +DEAL::3862 4 +DEAL::3863 4 +DEAL::3864 4 +DEAL::3865 4 +DEAL::3866 4 +DEAL::3867 4 +DEAL::3868 4 +DEAL::3869 4 +DEAL::3870 4 +DEAL::3871 4 +DEAL::3872 4 +DEAL::3873 4 +DEAL::3874 4 +DEAL::3875 4 +DEAL::3876 2 +DEAL::3877 2 +DEAL::3878 2 +DEAL::3879 2 +DEAL::3880 2 +DEAL::3881 2 +DEAL::3882 2 +DEAL::3883 2 +DEAL::3884 2 +DEAL::3885 2 +DEAL::3886 2 +DEAL::3887 2 +DEAL::3888 2 +DEAL::3889 2 +DEAL::3890 2 +DEAL::3891 2 +DEAL::3892 2 +DEAL::3893 2 +DEAL::3894 2 +DEAL::3895 2 +DEAL::3896 2 +DEAL::3897 2 +DEAL::3898 2 +DEAL::3899 2 +DEAL::3900 2 +DEAL::3901 2 +DEAL::3902 2 +DEAL::3903 2 +DEAL::3904 2 +DEAL::3905 2 +DEAL::3906 2 +DEAL::3907 2 +DEAL::3908 2 +DEAL::3909 2 +DEAL::3910 2 +DEAL::3911 2 +DEAL::3912 2 +DEAL::3913 2 +DEAL::3914 2 +DEAL::3915 2 +DEAL::3916 2 +DEAL::3917 2 +DEAL::3918 2 +DEAL::3919 2 +DEAL::3920 2 +DEAL::3921 2 +DEAL::3922 2 +DEAL::3923 2 +DEAL::3924 2 +DEAL::3925 2 +DEAL::3926 3 +DEAL::3927 3 +DEAL::3928 3 +DEAL::3929 3 +DEAL::3930 3 +DEAL::3931 3 +DEAL::3932 3 +DEAL::3933 3 +DEAL::3934 3 +DEAL::3935 3 +DEAL::3936 3 +DEAL::3937 3 +DEAL::3938 3 +DEAL::3939 3 +DEAL::3940 3 +DEAL::3941 3 +DEAL::3942 3 +DEAL::3943 3 +DEAL::3944 3 +DEAL::3945 3 +DEAL::3946 3 +DEAL::3947 3 +DEAL::3948 3 +DEAL::3949 3 +DEAL::3950 3 +DEAL::3951 3 +DEAL::3952 3 +DEAL::3953 3 +DEAL::3954 3 +DEAL::3955 3 +DEAL::3956 3 +DEAL::3957 3 +DEAL::3958 0 +DEAL::3959 0 +DEAL::3960 0 +DEAL::3961 0 +DEAL::3962 0 +DEAL::3963 0 +DEAL::3964 0 +DEAL::3965 0 +DEAL::3966 0 +DEAL::3967 0 +DEAL::3968 0 +DEAL::3969 0 +DEAL::3970 0 +DEAL::3971 0 +DEAL::3972 0 +DEAL::3973 0 +DEAL::3974 0 +DEAL::3975 0 +DEAL::3976 0 +DEAL::3977 0 +DEAL::3978 0 +DEAL::3979 0 +DEAL::3980 0 +DEAL::3981 0 +DEAL::3982 0 +DEAL::3983 0 +DEAL::3984 0 +DEAL::3985 0 +DEAL::3986 0 +DEAL::3987 0 +DEAL::3988 0 +DEAL::3989 0 +DEAL::3990 0 +DEAL::3991 0 +DEAL::3992 0 +DEAL::3993 0 +DEAL::3994 0 +DEAL::3995 0 +DEAL::3996 2 +DEAL::3997 2 +DEAL::3998 2 +DEAL::3999 2 +DEAL::4000 2 +DEAL::4001 2 +DEAL::4002 2 +DEAL::4003 2 +DEAL::4004 2 +DEAL::4005 2 +DEAL::4006 2 +DEAL::4007 2 +DEAL::4008 2 +DEAL::4009 2 +DEAL::4010 2 +DEAL::4011 2 +DEAL::4012 2 +DEAL::4013 2 +DEAL::4014 2 +DEAL::4015 2 +DEAL::4016 2 +DEAL::4017 2 +DEAL::4018 2 +DEAL::4019 2 +DEAL::4020 2 +DEAL::4021 2 +DEAL::4022 2 +DEAL::4023 2 +DEAL::4024 2 +DEAL::4025 2 +DEAL::4026 2 +DEAL::4027 2 +DEAL::4028 2 +DEAL::4029 2 +DEAL::4030 2 +DEAL::4031 2 +DEAL::4032 2 +DEAL::4033 2 +DEAL::4034 2 +DEAL::4035 2 +DEAL::4036 4 +DEAL::4037 4 +DEAL::4038 4 +DEAL::4039 4 +DEAL::4040 4 +DEAL::4041 4 +DEAL::4042 4 +DEAL::4043 4 +DEAL::4044 4 +DEAL::4045 4 +DEAL::4046 4 +DEAL::4047 4 +DEAL::4048 4 +DEAL::4049 4 +DEAL::4050 4 +DEAL::4051 4 +DEAL::4052 4 +DEAL::4053 4 +DEAL::4054 4 +DEAL::4055 4 +DEAL::4056 4 +DEAL::4057 4 +DEAL::4058 4 +DEAL::4059 4 +DEAL::4060 4 +DEAL::4061 4 +DEAL::4062 4 +DEAL::4063 4 +DEAL::4064 4 +DEAL::4065 4 +DEAL::4066 4 +DEAL::4067 4 +DEAL::4068 4 +DEAL::4069 4 +DEAL::4070 4 +DEAL::4071 4 +DEAL::4072 4 +DEAL::4073 4 +DEAL::4074 1 +DEAL::4075 1 +DEAL::4076 1 +DEAL::4077 1 +DEAL::4078 1 +DEAL::4079 1 +DEAL::4080 1 +DEAL::4081 1 +DEAL::4082 1 +DEAL::4083 1 +DEAL::4084 1 +DEAL::4085 1 +DEAL::4086 1 +DEAL::4087 1 +DEAL::4088 1 +DEAL::4089 1 +DEAL::4090 1 +DEAL::4091 1 +DEAL::4092 1 +DEAL::4093 1 +DEAL::4094 0 +DEAL::4095 0 +DEAL::4096 0 +DEAL::4097 0 +DEAL::4098 0 +DEAL::4099 0 +DEAL::4100 0 +DEAL::4101 0 +DEAL::4102 0 +DEAL::4103 0 +DEAL::4104 0 +DEAL::4105 0 +DEAL::4106 0 +DEAL::4107 0 +DEAL::4108 0 +DEAL::4109 0 +DEAL::4110 0 +DEAL::4111 0 +DEAL::4112 0 +DEAL::4113 0 +DEAL::4114 0 +DEAL::4115 2 +DEAL::4116 2 +DEAL::4117 2 +DEAL::4118 2 +DEAL::4119 2 +DEAL::4120 2 +DEAL::4121 2 +DEAL::4122 2 +DEAL::4123 2 +DEAL::4124 2 +DEAL::4125 2 +DEAL::4126 2 +DEAL::4127 2 +DEAL::4128 2 +DEAL::4129 2 +DEAL::4130 2 +DEAL::4131 2 +DEAL::4132 2 +DEAL::4133 2 +DEAL::4134 2 +DEAL::4135 2 +DEAL::4136 2 +DEAL::4137 2 +DEAL::4138 2 +DEAL::4139 2 +DEAL::4140 2 +DEAL::4141 2 +DEAL::4142 2 +DEAL::4143 2 +DEAL::4144 2 +DEAL::4145 2 +DEAL::4146 2 +DEAL::4147 2 +DEAL::4148 2 +DEAL::4149 2 +DEAL::4150 2 +DEAL::4151 2 +DEAL::4152 2 +DEAL::4153 2 +DEAL::4154 3 +DEAL::4155 3 +DEAL::4156 3 +DEAL::4157 3 +DEAL::4158 3 +DEAL::4159 3 +DEAL::4160 3 +DEAL::4161 3 +DEAL::4162 3 +DEAL::4163 3 +DEAL::4164 3 +DEAL::4165 3 +DEAL::4166 3 +DEAL::4167 3 +DEAL::4168 3 +DEAL::4169 3 +DEAL::4170 3 +DEAL::4171 3 +DEAL::4172 3 +DEAL::4173 3 +DEAL::4174 3 +DEAL::4175 3 +DEAL::4176 3 +DEAL::4177 3 +DEAL::4178 3 +DEAL::4179 3 +DEAL::4180 3 +DEAL::4181 3 +DEAL::4182 3 +DEAL::4183 3 +DEAL::4184 3 +DEAL::4185 3 +DEAL::4186 3 +DEAL::4187 3 +DEAL::4188 3 +DEAL::4189 3 +DEAL::4190 3 +DEAL::4191 0 +DEAL::4192 0 +DEAL::4193 0 +DEAL::4194 0 +DEAL::4195 0 +DEAL::4196 0 +DEAL::4197 0 +DEAL::4198 0 +DEAL::4199 0 +DEAL::4200 0 +DEAL::4201 0 +DEAL::4202 0 +DEAL::4203 0 +DEAL::4204 0 +DEAL::4205 0 +DEAL::4206 0 +DEAL::4207 0 +DEAL::4208 0 +DEAL::4209 0 +DEAL::4210 0 +DEAL::4211 0 +DEAL::4212 0 +DEAL::4213 0 +DEAL::4214 0 +DEAL::4215 0 +DEAL::4216 3 +DEAL::4217 0 +DEAL::4218 0 +DEAL::4219 0 +DEAL::4220 0 +DEAL::4221 0 +DEAL::4222 3 +DEAL::4223 3 +DEAL::4224 2 +DEAL::4225 2 +DEAL::4226 2 +DEAL::4227 2 +DEAL::4228 2 +DEAL::4229 2 +DEAL::4230 2 +DEAL::4231 2 +DEAL::4232 2 +DEAL::4233 2 +DEAL::4234 2 +DEAL::4235 2 +DEAL::4236 2 +DEAL::4237 2 +DEAL::4238 2 +DEAL::4239 2 +DEAL::4240 2 +DEAL::4241 2 +DEAL::4242 2 +DEAL::4243 2 +DEAL::4244 2 +DEAL::4245 4 +DEAL::4246 4 +DEAL::4247 4 +DEAL::4248 4 +DEAL::4249 4 +DEAL::4250 4 +DEAL::4251 4 +DEAL::4252 4 +DEAL::4253 4 +DEAL::4254 4 +DEAL::4255 4 +DEAL::4256 4 +DEAL::4257 4 +DEAL::4258 4 +DEAL::4259 4 +DEAL::4260 4 +DEAL::4261 4 +DEAL::4262 4 +DEAL::4263 4 +DEAL::4264 4 +DEAL::4265 4 +DEAL::4266 4 +DEAL::4267 4 +DEAL::4268 4 +DEAL::4269 4 +DEAL::4270 4 +DEAL::4271 4 +DEAL::4272 4 +DEAL::4273 4 +DEAL::4274 4 +DEAL::4275 4 +DEAL::4276 4 +DEAL::4277 4 +DEAL::4278 4 +DEAL::4279 1 +DEAL::4280 1 +DEAL::4281 1 +DEAL::4282 1 +DEAL::4283 1 +DEAL::4284 1 +DEAL::4285 1 +DEAL::4286 1 +DEAL::4287 1 +DEAL::4288 1 +DEAL::4289 1 +DEAL::4290 1 +DEAL::4291 1 +DEAL::4292 1 +DEAL::4293 1 +DEAL::4294 1 +DEAL::4295 1 +DEAL::4296 1 +DEAL::4297 1 +DEAL::4298 1 +DEAL::4299 1 +DEAL::4300 1 +DEAL::4301 1 +DEAL::4302 1 +DEAL::4303 1 +DEAL::4304 1 +DEAL::4305 1 +DEAL::4306 1 +DEAL::4307 1 +DEAL::4308 1 +DEAL::4309 1 +DEAL::4310 1 +DEAL::4311 1 +DEAL::4312 1 +DEAL::4313 1 +DEAL::4314 1 +DEAL::4315 1 +DEAL::4316 1 +DEAL::4317 1 +DEAL::4318 1 +DEAL::4319 1 +DEAL::4320 1 +DEAL::4321 1 +DEAL::4322 1 +DEAL::4323 1 +DEAL::4324 1 +DEAL::4325 1 +DEAL::4326 1 +DEAL::4327 1 +DEAL::4328 1 +DEAL::4329 1 +DEAL::4330 1 +DEAL::4331 1 +DEAL::4332 1 +DEAL::4333 1 +DEAL::4334 1 +DEAL::4335 1 +DEAL::4336 1 +DEAL::4337 1 +DEAL::4338 1 +DEAL::4339 1 +DEAL::4340 1 +DEAL::4341 1 +DEAL::4342 1 +DEAL::4343 1 +DEAL::4344 1 +DEAL::4345 1 +DEAL::4346 1 +DEAL::4347 1 +DEAL::4348 1 +DEAL::4349 1 +DEAL::4350 1 +DEAL::4351 1 +DEAL::4352 1 +DEAL::4353 1 +DEAL::4354 1 +DEAL::4355 1 +DEAL::4356 1 +DEAL::4357 1 +DEAL::4358 1 +DEAL::4359 1 +DEAL::4360 1 +DEAL::4361 1 +DEAL::4362 1 +DEAL::4363 1 +DEAL::4364 1 +DEAL::4365 1 +DEAL::4366 1 +DEAL::4367 1 +DEAL::4368 1 +DEAL::4369 1 +DEAL::4370 1 +DEAL::4371 1 +DEAL::4372 1 +DEAL::4373 1 +DEAL::4374 1 +DEAL::4375 1 +DEAL::4376 0 +DEAL::4377 0 +DEAL::4378 0 +DEAL::4379 0 +DEAL::4380 0 +DEAL::4381 0 +DEAL::4382 0 +DEAL::4383 0 +DEAL::4384 0 +DEAL::4385 0 +DEAL::4386 0 +DEAL::4387 0 +DEAL::4388 0 +DEAL::4389 0 +DEAL::4390 0 +DEAL::4391 0 +DEAL::4392 0 +DEAL::4393 0 +DEAL::4394 0 +DEAL::4395 0 +DEAL::4396 0 +DEAL::4397 0 +DEAL::4398 0 +DEAL::4399 0 +DEAL::4400 0 +DEAL::4401 0 +DEAL::4402 0 +DEAL::4403 0 +DEAL::4404 0 +DEAL::4405 0 +DEAL::4406 0 +DEAL::4407 0 +DEAL::4408 0 +DEAL::4409 0 +DEAL::4410 0 +DEAL::4411 0 +DEAL::4412 0 +DEAL::4413 0 +DEAL::4414 0 +DEAL::4415 0 +DEAL::4416 0 +DEAL::4417 0 +DEAL::4418 0 +DEAL::4419 0 +DEAL::4420 0 +DEAL::4421 0 +DEAL::4422 0 +DEAL::4423 0 +DEAL::4424 0 +DEAL::4425 0 +DEAL::4426 0 +DEAL::4427 0 +DEAL::4428 0 +DEAL::4429 0 +DEAL::4430 0 +DEAL::4431 0 +DEAL::4432 0 +DEAL::4433 0 +DEAL::4434 0 +DEAL::4435 0 +DEAL::4436 0 +DEAL::4437 0 +DEAL::4438 0 +DEAL::4439 0 +DEAL::4440 0 +DEAL::4441 0 +DEAL::4442 0 +DEAL::4443 0 +DEAL::4444 0 +DEAL::4445 0 +DEAL::4446 0 +DEAL::4447 0 +DEAL::4448 0 +DEAL::4449 0 +DEAL::4450 0 +DEAL::4451 0 +DEAL::4452 0 +DEAL::4453 3 +DEAL::4454 3 +DEAL::4455 3 +DEAL::4456 3 +DEAL::4457 3 +DEAL::4458 3 +DEAL::4459 3 +DEAL::4460 3 +DEAL::4461 3 +DEAL::4462 3 +DEAL::4463 3 +DEAL::4464 3 +DEAL::4465 3 +DEAL::4466 3 +DEAL::4467 3 +DEAL::4468 3 +DEAL::4469 3 +DEAL::4470 3 +DEAL::4471 3 +DEAL::4472 3 +DEAL::4473 3 +DEAL::4474 3 +DEAL::4475 3 +DEAL::4476 3 +DEAL::4477 3 +DEAL::4478 3 +DEAL::4479 3 +DEAL::4480 3 +DEAL::4481 3 +DEAL::4482 3 +DEAL::4483 3 +DEAL::4484 3 +DEAL::4485 3 +DEAL::4486 3 +DEAL::4487 3 +DEAL::4488 3 +DEAL::4489 3 +DEAL::4490 3 +DEAL::4491 3 +DEAL::4492 3 +DEAL::4493 3 +DEAL::4494 3 +DEAL::4495 2 +DEAL::4496 2 +DEAL::4497 2 +DEAL::4498 2 +DEAL::4499 2 +DEAL::4500 2 +DEAL::4501 2 +DEAL::4502 2 +DEAL::4503 2 +DEAL::4504 2 +DEAL::4505 2 +DEAL::4506 2 +DEAL::4507 2 +DEAL::4508 2 +DEAL::4509 2 +DEAL::4510 2 +DEAL::4511 2 +DEAL::4512 2 +DEAL::4513 2 +DEAL::4514 2 +DEAL::4515 2 +DEAL::4516 3 +DEAL::4517 3 +DEAL::4518 3 +DEAL::4519 3 +DEAL::4520 3 +DEAL::4521 3 +DEAL::4522 3 +DEAL::4523 3 +DEAL::4524 3 +DEAL::4525 3 +DEAL::4526 3 +DEAL::4527 3 +DEAL::4528 3 +DEAL::4529 3 +DEAL::4530 3 +DEAL::4531 3 +DEAL::4532 3 +DEAL::4533 3 +DEAL::4534 3 +DEAL::4535 3 +DEAL::4536 3 +DEAL::4537 0 +DEAL::4538 0 +DEAL::4539 0 +DEAL::4540 0 +DEAL::4541 0 +DEAL::4542 0 +DEAL::4543 0 +DEAL::4544 0 +DEAL::4545 0 +DEAL::4546 0 +DEAL::4547 0 +DEAL::4548 0 +DEAL::4549 0 +DEAL::4550 0 +DEAL::4551 0 +DEAL::4552 0 +DEAL::4553 0 +DEAL::4554 0 +DEAL::4555 0 +DEAL::4556 0 +DEAL::4557 0 +DEAL::4558 2 +DEAL::4559 2 +DEAL::4560 2 +DEAL::4561 2 +DEAL::4562 2 +DEAL::4563 2 +DEAL::4564 2 +DEAL::4565 2 +DEAL::4566 2 +DEAL::4567 2 +DEAL::4568 2 +DEAL::4569 2 +DEAL::4570 2 +DEAL::4571 2 +DEAL::4572 2 +DEAL::4573 2 +DEAL::4574 2 +DEAL::4575 2 +DEAL::4576 2 +DEAL::4577 2 +DEAL::4578 2 +DEAL::4579 4 +DEAL::4580 4 +DEAL::4581 4 +DEAL::4582 4 +DEAL::4583 4 +DEAL::4584 4 +DEAL::4585 4 +DEAL::4586 4 +DEAL::4587 4 +DEAL::4588 4 +DEAL::4589 4 +DEAL::4590 4 +DEAL::4591 4 +DEAL::4592 4 +DEAL::4593 4 +DEAL::4594 4 +DEAL::4595 4 +DEAL::4596 4 +DEAL::4597 0 +DEAL::4598 0 +DEAL::4599 0 +DEAL::4600 0 +DEAL::4601 0 +DEAL::4602 0 +DEAL::4603 0 +DEAL::4604 0 +DEAL::4605 0 +DEAL::4606 0 +DEAL::4607 0 +DEAL::4608 0 +DEAL::4609 0 +DEAL::4610 0 +DEAL::4611 0 +DEAL::4612 0 +DEAL::4613 0 +DEAL::4614 0 +DEAL::4615 2 +DEAL::4616 2 +DEAL::4617 2 +DEAL::4618 2 +DEAL::4619 2 +DEAL::4620 2 +DEAL::4621 2 +DEAL::4622 2 +DEAL::4623 2 +DEAL::4624 2 +DEAL::4625 2 +DEAL::4626 2 +DEAL::4627 2 +DEAL::4628 2 +DEAL::4629 2 +DEAL::4630 2 +DEAL::4631 2 +DEAL::4632 2 +DEAL::4633 2 +DEAL::4634 2 +DEAL::4635 2 +DEAL::4636 3 +DEAL::4637 3 +DEAL::4638 3 +DEAL::4639 3 +DEAL::4640 3 +DEAL::4641 3 +DEAL::4642 3 +DEAL::4643 3 +DEAL::4644 3 +DEAL::4645 3 +DEAL::4646 3 +DEAL::4647 3 +DEAL::4648 3 +DEAL::4649 3 +DEAL::4650 3 +DEAL::4651 3 +DEAL::4652 3 +DEAL::4653 3 +DEAL::4654 3 +DEAL::4655 3 +DEAL::4656 3 +DEAL::4657 1 +DEAL::4658 0 +DEAL::4659 0 +DEAL::4660 1 +DEAL::4661 1 +DEAL::4662 1 +DEAL::4663 1 +DEAL::4664 1 +DEAL::4665 1 +DEAL::4666 1 +DEAL::4667 1 +DEAL::4668 1 +DEAL::4669 1 +DEAL::4670 0 +DEAL::4671 0 +DEAL::4672 0 +DEAL::4673 0 +DEAL::4674 0 +DEAL::4675 0 +DEAL::4676 0 +DEAL::4677 0 +DEAL::4678 4 +DEAL::4679 4 +DEAL::4680 4 +DEAL::4681 4 +DEAL::4682 4 +DEAL::4683 4 +DEAL::4684 4 +DEAL::4685 4 +DEAL::4686 4 +DEAL::4687 4 +DEAL::4688 4 +DEAL::4689 4 +DEAL::4690 4 +DEAL::4691 4 +DEAL::4692 4 +DEAL::4693 4 +DEAL::4694 4 +DEAL::4695 4 +DEAL::4696 4 +DEAL::4697 4 +DEAL::4698 4 +DEAL::4699 1 +DEAL::4700 1 +DEAL::4701 1 +DEAL::4702 1 +DEAL::4703 1 +DEAL::4704 1 +DEAL::4705 1 +DEAL::4706 1 +DEAL::4707 1 +DEAL::4708 1 +DEAL::4709 1 +DEAL::4710 1 +DEAL::4711 1 +DEAL::4712 1 +DEAL::4713 1 +DEAL::4714 1 +DEAL::4715 1 +DEAL::4716 1 +DEAL::4717 1 +DEAL::4718 1 +DEAL::4719 1 +DEAL::4720 0 +DEAL::4721 0 +DEAL::4722 0 +DEAL::4723 0 +DEAL::4724 0 +DEAL::4725 0 +DEAL::4726 0 +DEAL::4727 0 +DEAL::4728 0 +DEAL::4729 0 +DEAL::4730 0 +DEAL::4731 0 +DEAL::4732 0 +DEAL::4733 0 +DEAL::4734 0 +DEAL::4735 0 +DEAL::4736 0 +DEAL::4737 0 +DEAL::4738 2 +DEAL::4739 2 +DEAL::4740 1 +DEAL::4741 2 +DEAL::4742 2 +DEAL::4743 2 +DEAL::4744 1 +DEAL::4745 2 +DEAL::4746 1 +DEAL::4747 2 +DEAL::4748 2 +DEAL::4749 1 +DEAL::4750 2 +DEAL::4751 1 +DEAL::4752 1 +DEAL::4753 1 +DEAL::4754 1 +DEAL::4755 1 +DEAL::4756 1 +DEAL::4757 1 +DEAL::4758 1 +DEAL::4759 2 +DEAL::4760 2 +DEAL::4761 2 +DEAL::4762 2 +DEAL::4763 2 +DEAL::4764 2 +DEAL::4765 2 +DEAL::4766 2 +DEAL::4767 2 +DEAL::4768 2 +DEAL::4769 2 +DEAL::4770 2 +DEAL::4771 2 +DEAL::4772 2 +DEAL::4773 2 +DEAL::4774 2 +DEAL::4775 2 +DEAL::4776 2 +DEAL::4777 2 +DEAL::4778 4 +DEAL::4779 4 +DEAL::4780 4 +DEAL::4781 4 +DEAL::4782 4 +DEAL::4783 4 +DEAL::4784 4 +DEAL::4785 4 +DEAL::4786 4 +DEAL::4787 4 +DEAL::4788 4 +DEAL::4789 4 +DEAL::4790 4 +DEAL::4791 4 +DEAL::4792 4 +DEAL::4793 4 +DEAL::4794 4 +DEAL::4795 4 +DEAL::4796 4 +DEAL::4797 4 +DEAL::4798 4 +DEAL::4799 1 +DEAL::4800 1 +DEAL::4801 1 +DEAL::4802 1 +DEAL::4803 1 +DEAL::4804 1 +DEAL::4805 1 +DEAL::4806 1 +DEAL::4807 1 +DEAL::4808 1 +DEAL::4809 1 +DEAL::4810 1 +DEAL::4811 1 +DEAL::4812 1 +DEAL::4813 1 +DEAL::4814 1 +DEAL::4815 1 +DEAL::4816 1 +DEAL::4817 1 +DEAL::4818 1 +DEAL::4819 1 +DEAL::4820 0 +DEAL::4821 0 +DEAL::4822 0 +DEAL::4823 0 +DEAL::4824 0 +DEAL::4825 0 +DEAL::4826 0 +DEAL::4827 0 +DEAL::4828 0 +DEAL::4829 0 +DEAL::4830 0 +DEAL::4831 0 +DEAL::4832 0 +DEAL::4833 0 +DEAL::4834 0 +DEAL::4835 0 +DEAL::4836 0 +DEAL::4837 0 +DEAL::4838 0 +DEAL::4839 0 +DEAL::4840 0 +DEAL::4841 0 +DEAL::4842 0 +DEAL::4843 0 +DEAL::4844 0 +DEAL::4845 0 +DEAL::4846 0 +DEAL::4847 0 +DEAL::4848 0 +DEAL::4849 0 +DEAL::4850 0 +DEAL::4851 0 +DEAL::4852 0 +DEAL::4853 0 +DEAL::4854 0 +DEAL::4855 0 +DEAL::4856 0 +DEAL::4857 0 +DEAL::4858 0 +DEAL::4859 2 +DEAL::4860 2 +DEAL::4861 2 +DEAL::4862 2 +DEAL::4863 2 +DEAL::4864 2 +DEAL::4865 2 +DEAL::4866 2 +DEAL::4867 2 +DEAL::4868 2 +DEAL::4869 2 +DEAL::4870 2 +DEAL::4871 2 +DEAL::4872 2 +DEAL::4873 2 +DEAL::4874 2 +DEAL::4875 2 +DEAL::4876 2 +DEAL::4877 4 +DEAL::4878 4 +DEAL::4879 4 +DEAL::4880 4 +DEAL::4881 4 +DEAL::4882 4 +DEAL::4883 4 +DEAL::4884 4 +DEAL::4885 4 +DEAL::4886 4 +DEAL::4887 4 +DEAL::4888 4 +DEAL::4889 4 +DEAL::4890 4 +DEAL::4891 4 +DEAL::4892 4 +DEAL::4893 4 +DEAL::4894 4 +DEAL::4895 4 +DEAL::4896 4 +DEAL::4897 4 +DEAL::4898 4 +DEAL::4899 4 +DEAL::4900 4 +DEAL::4901 4 +DEAL::4902 4 +DEAL::4903 4 +DEAL::4904 4 +DEAL::4905 4 +DEAL::4906 4 +DEAL::4907 4 +DEAL::4908 4 +DEAL::4909 4 +DEAL::4910 4 +DEAL::4911 4 +DEAL::4912 4 +DEAL::4913 4 +DEAL::4914 4 +DEAL::4915 4 +DEAL::4916 4 +DEAL::4917 4 +DEAL::4918 4 +DEAL::4919 4 +DEAL::4920 4 +DEAL::4921 4 +DEAL::4922 4 +DEAL::4923 4 +DEAL::4924 4 +DEAL::4925 4 +DEAL::4926 4 +DEAL::4927 4 +DEAL::4928 4 +DEAL::4929 4 +DEAL::4930 4 +DEAL::4931 4 +DEAL::4932 4 +DEAL::4933 4 +DEAL::4934 4 +DEAL::4935 4 +DEAL::4936 4 +DEAL::4937 4 +DEAL::4938 4 +DEAL::4939 4 +DEAL::4940 1 +DEAL::4941 1 +DEAL::4942 1 +DEAL::4943 1 +DEAL::4944 1 +DEAL::4945 1 +DEAL::4946 1 +DEAL::4947 1 +DEAL::4948 1 +DEAL::4949 1 +DEAL::4950 1 +DEAL::4951 1 +DEAL::4952 1 +DEAL::4953 1 +DEAL::4954 1 +DEAL::4955 1 +DEAL::4956 1 +DEAL::4957 1 +DEAL::4958 1 +DEAL::4959 1 +DEAL::4960 1 +DEAL::4961 4 +DEAL::4962 4 +DEAL::4963 4 +DEAL::4964 4 +DEAL::4965 4 +DEAL::4966 4 +DEAL::4967 4 +DEAL::4968 4 +DEAL::4969 4 +DEAL::4970 4 +DEAL::4971 4 +DEAL::4972 4 +DEAL::4973 4 +DEAL::4974 4 +DEAL::4975 4 +DEAL::4976 4 +DEAL::4977 4 +DEAL::4978 4 +DEAL::4979 4 +DEAL::4980 4 +DEAL::4981 4 +DEAL::4982 4 +DEAL::4983 4 +DEAL::4984 4 +DEAL::4985 4 +DEAL::4986 4 +DEAL::4987 4 +DEAL::4988 4 +DEAL::4989 4 +DEAL::4990 4 +DEAL::4991 4 +DEAL::4992 4 +DEAL::4993 4 +DEAL::4994 4 +DEAL::4995 4 +DEAL::4996 4 +DEAL::4997 4 +DEAL::4998 4 +DEAL::4999 4 +DEAL::5000 4 +DEAL::5001 4 +DEAL::5002 4 +DEAL::5003 2 +DEAL::5004 1 +DEAL::5005 1 +DEAL::5006 2 +DEAL::5007 2 +DEAL::5008 2 +DEAL::5009 2 +DEAL::5010 2 +DEAL::5011 2 +DEAL::5012 2 +DEAL::5013 2 +DEAL::5014 2 +DEAL::5015 2 +DEAL::5016 1 +DEAL::5017 1 +DEAL::5018 1 +DEAL::5019 1 +DEAL::5020 1 +DEAL::5021 1 +DEAL::5022 1 +DEAL::5023 1 +DEAL::5024 1 +DEAL::5025 1 +DEAL::5026 1 +DEAL::5027 1 +DEAL::5028 1 +DEAL::5029 1 +DEAL::5030 1 +DEAL::5031 1 +DEAL::5032 1 +DEAL::5033 1 +DEAL::5034 1 +DEAL::5035 1 +DEAL::5036 1 +DEAL::5037 1 +DEAL::5038 1 +DEAL::5039 1 +DEAL::5040 1 +DEAL::5041 1 +DEAL::5042 1 +DEAL::5043 4 +DEAL::5044 4 +DEAL::5045 4 +DEAL::5046 4 +DEAL::5047 4 +DEAL::5048 4 +DEAL::5049 4 +DEAL::5050 4 +DEAL::5051 4 +DEAL::5052 4 +DEAL::5053 4 +DEAL::5054 4 +DEAL::5055 4 +DEAL::5056 4 +DEAL::5057 4 +DEAL::5058 4 +DEAL::5059 4 +DEAL::5060 4 +DEAL::5061 4 +DEAL::5062 4 +DEAL::5063 4 +DEAL::5064 1 +DEAL::5065 1 +DEAL::5066 1 +DEAL::5067 1 +DEAL::5068 1 +DEAL::5069 1 +DEAL::5070 1 +DEAL::5071 1 +DEAL::5072 1 +DEAL::5073 1 +DEAL::5074 1 +DEAL::5075 1 +DEAL::5076 1 +DEAL::5077 1 +DEAL::5078 1 +DEAL::5079 1 +DEAL::5080 1 +DEAL::5081 1 +DEAL::5082 1 +DEAL::5083 1 +DEAL::5084 1 +DEAL::5085 0 +DEAL::5086 0 +DEAL::5087 0 +DEAL::5088 1 +DEAL::5089 1 +DEAL::5090 1 +DEAL::5091 1 +DEAL::5092 1 +DEAL::5093 0 +DEAL::5094 0 +DEAL::5095 0 +DEAL::5096 0 +DEAL::5097 0 +DEAL::5098 0 +DEAL::5099 0 +DEAL::5100 0 +DEAL::5101 0 +DEAL::5102 0 +DEAL::5103 0 +DEAL::5104 0 +DEAL::5105 0 +DEAL::5106 1 +DEAL::5107 1 +DEAL::5108 1 +DEAL::5109 1 +DEAL::5110 1 +DEAL::5111 1 +DEAL::5112 1 +DEAL::5113 1 +DEAL::5114 1 +DEAL::5115 1 +DEAL::5116 1 +DEAL::5117 1 +DEAL::5118 1 +DEAL::5119 1 +DEAL::5120 1 +DEAL::5121 1 +DEAL::5122 1 +DEAL::5123 1 +DEAL::5124 1 +DEAL::5125 1 +DEAL::5126 1 +DEAL::5127 1 +DEAL::5128 0 +DEAL::5129 1 +DEAL::5130 0 +DEAL::5131 1 +DEAL::5132 1 +DEAL::5133 1 +DEAL::5134 0 +DEAL::5135 0 +DEAL::5136 0 +DEAL::5137 0 +DEAL::5138 0 +DEAL::5139 1 +DEAL::5140 0 +DEAL::5141 1 +DEAL::5142 1 +DEAL::5143 0 +DEAL::5144 0 +DEAL::5145 0 +DEAL::5146 1 +DEAL::5147 1 +DEAL::5148 1 +DEAL::5149 1 +DEAL::5150 1 +DEAL::5151 1 +DEAL::5152 1 +DEAL::5153 1 +DEAL::5154 1 +DEAL::5155 1 +DEAL::5156 1 +DEAL::5157 1 +DEAL::5158 1 +DEAL::5159 1 +DEAL::5160 1 +DEAL::5161 1 +DEAL::5162 1 +DEAL::5163 1 +DEAL::5164 1 +DEAL::5165 1 +DEAL::5166 1 +DEAL::5167 3 +DEAL::5168 3 +DEAL::5169 3 +DEAL::5170 3 +DEAL::5171 3 +DEAL::5172 3 +DEAL::5173 3 +DEAL::5174 3 +DEAL::5175 4 +DEAL::5176 4 +DEAL::5177 4 +DEAL::5178 4 +DEAL::5179 4 +DEAL::5180 4 +DEAL::5181 4 +DEAL::5182 4 +DEAL::5183 4 +DEAL::5184 4 +DEAL::5185 4 +DEAL::5186 4 +DEAL::5187 4 +DEAL::5188 4 +DEAL::5189 4 +DEAL::5190 4 +DEAL::5191 4 +DEAL::5192 4 +DEAL::5193 3 +DEAL::5194 3 +DEAL::5195 3 +DEAL::5196 3 +DEAL::5197 3 +DEAL::5198 3 +DEAL::5199 3 +DEAL::5200 3 +DEAL::5201 3 +DEAL::5202 3 +DEAL::5203 3 +DEAL::5204 3 +DEAL::5205 3 +DEAL::5206 3 +DEAL::5207 3 +DEAL::5208 3 +DEAL::5209 3 +DEAL::5210 3 +DEAL::5211 3 +DEAL::5212 3 +DEAL::5213 3 +DEAL::5214 3 +DEAL::5215 3 +DEAL::5216 3 +DEAL::5217 3 +DEAL::5218 3 +DEAL::5219 3 +DEAL::5220 3 +DEAL::5221 3 +DEAL::5222 3 +DEAL::5223 3 +DEAL::5224 3 +DEAL::5225 3 +DEAL::5226 3 +DEAL::5227 3 +DEAL::5228 3 +DEAL::5229 3 +DEAL::5230 3 +DEAL::5231 3 +DEAL::5232 3 +DEAL::5233 3 +DEAL::5234 3 +DEAL::5235 3 +DEAL::5236 3 +DEAL::5237 3 +DEAL::5238 3 +DEAL::5239 3 +DEAL::5240 3 +DEAL::5241 3 +DEAL::5242 3 +DEAL::5243 3 +DEAL::5244 3 +DEAL::5245 3 +DEAL::5246 3 +DEAL::5247 3 +DEAL::5248 3 +DEAL::5249 3 +DEAL::5250 3 +DEAL::5251 3 +DEAL::5252 3 +DEAL::5253 3 +DEAL::5254 3 +DEAL::5255 3 +DEAL::5256 3 +DEAL::5257 3 +DEAL::5258 3 +DEAL::5259 3 +DEAL::5260 3 +DEAL::5261 3 +DEAL::5262 3 +DEAL::5263 3 +DEAL::5264 3 +DEAL::5265 3 +DEAL::5266 3 +DEAL::5267 3 +DEAL::5268 3 +DEAL::5269 3 +DEAL::5270 3 +DEAL::5271 3 +DEAL::5272 2 +DEAL::5273 2 +DEAL::5274 2 +DEAL::5275 2 +DEAL::5276 2 +DEAL::5277 2 +DEAL::5278 2 +DEAL::5279 2 +DEAL::5280 2 +DEAL::5281 2 +DEAL::5282 2 +DEAL::5283 2 +DEAL::5284 2 +DEAL::5285 2 +DEAL::5286 2 +DEAL::5287 2 +DEAL::5288 2 +DEAL::5289 2 +DEAL::5290 3 +DEAL::5291 3 +DEAL::5292 3 +DEAL::5293 3 +DEAL::5294 3 +DEAL::5295 3 +DEAL::5296 3 +DEAL::5297 3 +DEAL::5298 3 +DEAL::5299 3 +DEAL::5300 3 +DEAL::5301 3 +DEAL::5302 3 +DEAL::5303 3 +DEAL::5304 3 +DEAL::5305 3 +DEAL::5306 3 +DEAL::5307 3 +DEAL::5308 3 +DEAL::5309 3 +DEAL::5310 3 +DEAL::5311 3 +DEAL::5312 3 +DEAL::5313 3 +DEAL::5314 3 +DEAL::5315 3 +DEAL::5316 3 +DEAL::5317 3 +DEAL::5318 3 +DEAL::5319 3 +DEAL::5320 3 +DEAL::5321 3 +DEAL::5322 3 +DEAL::5323 3 +DEAL::5324 3 +DEAL::5325 3 +DEAL::5326 3 +DEAL::5327 3 +DEAL::5328 4 +DEAL::5329 4 +DEAL::5330 4 +DEAL::5331 4 +DEAL::5332 4 +DEAL::5333 4 +DEAL::5334 4 +DEAL::5335 4 +DEAL::5336 4 +DEAL::5337 4 +DEAL::5338 4 +DEAL::5339 4 +DEAL::5340 4 +DEAL::5341 4 +DEAL::5342 4 +DEAL::5343 4 +DEAL::5344 4 +DEAL::5345 4 +DEAL::5346 4 +DEAL::5347 4 +DEAL::5348 4 +DEAL::5349 4 +DEAL::5350 4 +DEAL::5351 4 +DEAL::5352 4 +DEAL::5353 4 +DEAL::5354 4 +DEAL::5355 4 +DEAL::5356 4 +DEAL::5357 4 +DEAL::5358 4 +DEAL::5359 4 +DEAL::5360 4 +DEAL::5361 4 +DEAL::5362 4 +DEAL::5363 4 +DEAL::5364 4 +DEAL::5365 2 +DEAL::5366 2 +DEAL::5367 2 +DEAL::5368 2 +DEAL::5369 2 +DEAL::5370 2 +DEAL::5371 2 +DEAL::5372 2 +DEAL::5373 2 +DEAL::5374 2 +DEAL::5375 2 +DEAL::5376 2 +DEAL::5377 2 +DEAL::5378 2 +DEAL::5379 2 +DEAL::5380 2 +DEAL::5381 2 +DEAL::5382 2 +DEAL::5383 2 +DEAL::5384 2 +DEAL::5385 2 +DEAL::5386 3 +DEAL::5387 3 +DEAL::5388 3 +DEAL::5389 3 +DEAL::5390 3 +DEAL::5391 3 +DEAL::5392 3 +DEAL::5393 3 +DEAL::5394 3 +DEAL::5395 3 +DEAL::5396 3 +DEAL::5397 3 +DEAL::5398 3 +DEAL::5399 3 +DEAL::5400 3 +DEAL::5401 3 +DEAL::5402 3 +DEAL::5403 3 +DEAL::5404 3 +DEAL::5405 3 +DEAL::5406 3 +DEAL::5407 3 +DEAL::5408 3 +DEAL::5409 3 +DEAL::5410 3 +DEAL::5411 3 +DEAL::5412 3 +DEAL::5413 3 +DEAL::5414 3 +DEAL::5415 3 +DEAL::5416 3 +DEAL::5417 3 +DEAL::5418 3 +DEAL::5419 3 +DEAL::5420 3 +DEAL::5421 3 +DEAL::5422 3 +DEAL::5423 3 +DEAL::5424 3 +DEAL::5425 3 +DEAL::5426 3 +DEAL::5427 3 +DEAL::5428 3 +DEAL::5429 3 +DEAL::5430 3 +DEAL::5431 3 +DEAL::5432 3 +DEAL::5433 3 +DEAL::5434 3 +DEAL::5435 3 +DEAL::5436 3 +DEAL::5437 3 +DEAL::5438 3 +DEAL::5439 3 +DEAL::5440 3 +DEAL::5441 3 +DEAL::5442 3 +DEAL::5443 3 +DEAL::5444 3 +DEAL::5445 3 +DEAL::5446 3 +DEAL::5447 3 +DEAL::5448 3 +DEAL::5449 3 +DEAL::5450 3 +DEAL::5451 3 +DEAL::5452 2 +DEAL::5453 2 +DEAL::5454 2 +DEAL::5455 2 +DEAL::5456 2 +DEAL::5457 2 +DEAL::5458 2 +DEAL::5459 2 +DEAL::5460 2 +DEAL::5461 2 +DEAL::5462 2 +DEAL::5463 2 +DEAL::5464 2 +DEAL::5465 2 +DEAL::5466 2 +DEAL::5467 2 +DEAL::5468 2 +DEAL::5469 2 +DEAL::5470 2 +DEAL::5471 2 +DEAL::5472 2 +DEAL::5473 2 +DEAL::5474 2 +DEAL::5475 2 +DEAL::5476 2 +DEAL::5477 2 +DEAL::5478 2 +DEAL::5479 2 +DEAL::5480 2 +DEAL::5481 2 +DEAL::5482 2 +DEAL::5483 2 +DEAL::5484 2 +DEAL::5485 2 +DEAL::5486 2 +DEAL::5487 2 +DEAL::5488 2 +DEAL::5489 2 +DEAL::5490 1 +DEAL::5491 1 +DEAL::5492 1 +DEAL::5493 1 +DEAL::5494 1 +DEAL::5495 1 +DEAL::5496 1 +DEAL::5497 1 +DEAL::5498 1 +DEAL::5499 1 +DEAL::5500 1 +DEAL::5501 1 +DEAL::5502 1 +DEAL::5503 1 +DEAL::5504 1 +DEAL::5505 1 +DEAL::5506 1 +DEAL::5507 1 +DEAL::5508 1 +DEAL::5509 1 +DEAL::5510 1 +DEAL::5511 4 +DEAL::5512 4 +DEAL::5513 4 +DEAL::5514 4 +DEAL::5515 4 +DEAL::5516 4 +DEAL::5517 4 +DEAL::5518 4 +DEAL::5519 4 +DEAL::5520 4 +DEAL::5521 4 +DEAL::5522 4 +DEAL::5523 4 +DEAL::5524 4 +DEAL::5525 4 +DEAL::5526 4 +DEAL::5527 4 +DEAL::5528 4 +DEAL::5529 4 +DEAL::5530 2 +DEAL::5531 2 +DEAL::5532 2 +DEAL::5533 2 +DEAL::5534 2 +DEAL::5535 2 +DEAL::5536 2 +DEAL::5537 2 +DEAL::5538 2 +DEAL::5539 2 +DEAL::5540 2 +DEAL::5541 2 +DEAL::5542 2 +DEAL::5543 2 +DEAL::5544 2 +DEAL::5545 2 +DEAL::5546 2 +DEAL::5547 2 +DEAL::5548 2 +DEAL::5549 2 +DEAL::5550 2 +DEAL::5551 0 +DEAL::5552 0 +DEAL::5553 0 +DEAL::5554 0 +DEAL::5555 0 +DEAL::5556 0 +DEAL::5557 0 +DEAL::5558 0 +DEAL::5559 3 +DEAL::5560 0 +DEAL::5561 0 +DEAL::5562 3 +DEAL::5563 0 +DEAL::5564 0 +DEAL::5565 0 +DEAL::5566 0 +DEAL::5567 0 +DEAL::5568 0 +DEAL::5569 3 +DEAL::5570 3 +DEAL::5571 3 +DEAL::5572 2 +DEAL::5573 2 +DEAL::5574 2 +DEAL::5575 2 +DEAL::5576 2 +DEAL::5577 2 +DEAL::5578 2 +DEAL::5579 2 +DEAL::5580 2 +DEAL::5581 2 +DEAL::5582 2 +DEAL::5583 2 +DEAL::5584 2 +DEAL::5585 2 +DEAL::5586 2 +DEAL::5587 2 +DEAL::5588 2 +DEAL::5589 2 +DEAL::5590 2 +DEAL::5591 2 +DEAL::5592 2 +DEAL::5593 0 +DEAL::5594 0 +DEAL::5595 0 +DEAL::5596 0 +DEAL::5597 0 +DEAL::5598 0 +DEAL::5599 0 +DEAL::5600 0 +DEAL::5601 0 +DEAL::5602 0 +DEAL::5603 0 +DEAL::5604 0 +DEAL::5605 0 +DEAL::5606 0 +DEAL::5607 0 +DEAL::5608 0 +DEAL::5609 0 +DEAL::5610 0 +DEAL::5611 0 +DEAL::5612 0 +DEAL::5613 0 +DEAL::5614 4 +DEAL::5615 4 +DEAL::5616 4 +DEAL::5617 4 +DEAL::5618 4 +DEAL::5619 4 +DEAL::5620 4 +DEAL::5621 4 +DEAL::5622 4 +DEAL::5623 4 +DEAL::5624 4 +DEAL::5625 4 +DEAL::5626 4 +DEAL::5627 4 +DEAL::5628 4 +DEAL::5629 4 +DEAL::5630 4 +DEAL::5631 4 +DEAL::5632 4 +DEAL::5633 4 +DEAL::5634 4 +DEAL::5635 2 +DEAL::5636 2 +DEAL::5637 2 +DEAL::5638 2 +DEAL::5639 2 +DEAL::5640 2 +DEAL::5641 2 +DEAL::5642 2 +DEAL::5643 2 +DEAL::5644 2 +DEAL::5645 2 +DEAL::5646 2 +DEAL::5647 2 +DEAL::5648 2 +DEAL::5649 2 +DEAL::5650 2 +DEAL::5651 2 +DEAL::5652 2 +DEAL::5653 2 +DEAL::5654 2 +DEAL::5655 2 +DEAL::5656 3 +DEAL::5657 3 +DEAL::5658 3 +DEAL::5659 3 +DEAL::5660 3 +DEAL::5661 3 +DEAL::5662 3 +DEAL::5663 3 +DEAL::5664 3 +DEAL::5665 3 +DEAL::5666 3 +DEAL::5667 3 +DEAL::5668 3 +DEAL::5669 3 +DEAL::5670 3 +DEAL::5671 3 +DEAL::5672 3 +DEAL::5673 3 +DEAL::5674 3 +DEAL::5675 3 +DEAL::5676 3 +DEAL::5677 0 +DEAL::5678 0 +DEAL::5679 0 +DEAL::5680 0 +DEAL::5681 0 +DEAL::5682 0 +DEAL::5683 0 +DEAL::5684 0 +DEAL::5685 0 +DEAL::5686 0 +DEAL::5687 0 +DEAL::5688 0 +DEAL::5689 0 +DEAL::5690 0 +DEAL::5691 0 +DEAL::5692 0 +DEAL::5693 0 +DEAL::5694 0 +DEAL::5695 0 +DEAL::5696 0 +DEAL::5697 0 +DEAL::5698 4 +DEAL::5699 4 +DEAL::5700 4 +DEAL::5701 4 +DEAL::5702 4 +DEAL::5703 4 +DEAL::5704 4 +DEAL::5705 4 +DEAL::5706 4 +DEAL::5707 4 +DEAL::5708 4 +DEAL::5709 4 +DEAL::5710 4 +DEAL::5711 4 +DEAL::5712 4 +DEAL::5713 4 +DEAL::5714 4 +DEAL::5715 4 +DEAL::5716 4 +DEAL::5717 4 +DEAL::5718 4 +DEAL::5719 2 +DEAL::5720 2 +DEAL::5721 2 +DEAL::5722 2 +DEAL::5723 2 +DEAL::5724 2 +DEAL::5725 2 +DEAL::5726 2 +DEAL::5727 2 +DEAL::5728 2 +DEAL::5729 2 +DEAL::5730 2 +DEAL::5731 2 +DEAL::5732 2 +DEAL::5733 2 +DEAL::5734 2 +DEAL::5735 2 +DEAL::5736 2 +DEAL::5737 2 +DEAL::5738 2 +DEAL::5739 2 +DEAL::5740 2 +DEAL::5741 2 +DEAL::5742 2 +DEAL::5743 2 +DEAL::5744 2 +DEAL::5745 2 +DEAL::5746 2 +DEAL::5747 2 +DEAL::5748 2 +DEAL::5749 2 +DEAL::5750 2 +DEAL::5751 2 +DEAL::5752 2 +DEAL::5753 2 +DEAL::5754 2 +DEAL::5755 2 +DEAL::5756 2 +DEAL::5757 2 +DEAL::5758 2 +DEAL::5759 2 +DEAL::5760 2 +DEAL::5761 3 +DEAL::5762 3 +DEAL::5763 3 +DEAL::5764 3 +DEAL::5765 3 +DEAL::5766 3 +DEAL::5767 3 +DEAL::5768 3 +DEAL::5769 3 +DEAL::5770 3 +DEAL::5771 3 +DEAL::5772 3 +DEAL::5773 3 +DEAL::5774 3 +DEAL::5775 3 +DEAL::5776 3 +DEAL::5777 3 +DEAL::5778 3 +DEAL::5779 3 +DEAL::5780 3 +DEAL::5781 3 +DEAL::5782 3 +DEAL::5783 3 +DEAL::5784 3 +DEAL::5785 3 +DEAL::5786 3 +DEAL::5787 3 +DEAL::5788 3 +DEAL::5789 3 +DEAL::5790 3 +DEAL::5791 3 +DEAL::5792 3 +DEAL::5793 3 +DEAL::5794 3 +DEAL::5795 3 +DEAL::5796 3 +DEAL::5797 3 +DEAL::5798 3 +DEAL::5799 3 +DEAL::5800 1 +DEAL::5801 1 +DEAL::5802 1 +DEAL::5803 1 +DEAL::5804 1 +DEAL::5805 1 +DEAL::5806 1 +DEAL::5807 1 +DEAL::5808 1 +DEAL::5809 1 +DEAL::5810 1 +DEAL::5811 1 +DEAL::5812 1 +DEAL::5813 1 +DEAL::5814 1 +DEAL::5815 1 +DEAL::5816 1 +DEAL::5817 1 +DEAL::5818 1 +DEAL::5819 1 +DEAL::5820 1 +DEAL::5821 1 +DEAL::5822 1 +DEAL::5823 1 +DEAL::5824 1 +DEAL::5825 1 +DEAL::5826 1 +DEAL::5827 1 +DEAL::5828 1 +DEAL::5829 1 +DEAL::5830 1 +DEAL::5831 1 +DEAL::5832 1 +DEAL::5833 1 +DEAL::5834 1 +DEAL::5835 1 +DEAL::5836 1 +DEAL::5837 1 +DEAL::5838 1 +DEAL::5839 1 +DEAL::5840 1 +DEAL::5841 1 +DEAL::5842 1 +DEAL::5843 1 +DEAL::5844 1 +DEAL::5845 1 +DEAL::5846 1 +DEAL::5847 1 +DEAL::5848 1 +DEAL::5849 1 +DEAL::5850 1 +DEAL::5851 1 +DEAL::5852 1 +DEAL::5853 1 +DEAL::5854 1 +DEAL::5855 1 +DEAL::5856 1 +DEAL::5857 1 +DEAL::5858 1 +DEAL::5859 1 +DEAL::5860 1 +DEAL::5861 1 +DEAL::5862 1 +DEAL::5863 0 +DEAL::5864 0 +DEAL::5865 0 +DEAL::5866 0 +DEAL::5867 0 +DEAL::5868 0 +DEAL::5869 0 +DEAL::5870 0 +DEAL::5871 0 +DEAL::5872 0 +DEAL::5873 0 +DEAL::5874 0 +DEAL::5875 0 +DEAL::5876 0 +DEAL::5877 0 +DEAL::5878 0 +DEAL::5879 0 +DEAL::5880 0 +DEAL::5881 0 +DEAL::5882 0 +DEAL::5883 0 +DEAL::5884 3 +DEAL::5885 3 +DEAL::5886 3 +DEAL::5887 3 +DEAL::5888 3 +DEAL::5889 3 +DEAL::5890 3 +DEAL::5891 3 +DEAL::5892 3 +DEAL::5893 3 +DEAL::5894 3 +DEAL::5895 3 +DEAL::5896 3 +DEAL::5897 3 +DEAL::5898 3 +DEAL::5899 3 +DEAL::5900 3 +DEAL::5901 3 +DEAL::5902 3 +DEAL::5903 3 +DEAL::5904 3 +DEAL::5905 3 +DEAL::5906 3 +DEAL::5907 3 +DEAL::5908 3 +DEAL::5909 3 +DEAL::5910 3 +DEAL::5911 3 +DEAL::5912 3 +DEAL::5913 3 +DEAL::5914 3 +DEAL::5915 3 +DEAL::5916 3 +DEAL::5917 3 +DEAL::5918 3 +DEAL::5919 3 +DEAL::5920 3 +DEAL::5921 3 +DEAL::5922 3 +DEAL::5923 3 +DEAL::5924 3 +DEAL::5925 3 +DEAL::5926 3 +DEAL::5927 3 +DEAL::5928 3 +DEAL::5929 3 +DEAL::5930 3 +DEAL::5931 3 +DEAL::5932 3 +DEAL::5933 3 +DEAL::5934 3 +DEAL::5935 3 +DEAL::5936 3 +DEAL::5937 3 +DEAL::5938 3 +DEAL::5939 3 +DEAL::5940 4 +DEAL::5941 4 +DEAL::5942 4 +DEAL::5943 4 +DEAL::5944 4 +DEAL::5945 4 +DEAL::5946 4 +DEAL::5947 4 +DEAL::5948 4 +DEAL::5949 4 +DEAL::5950 4 +DEAL::5951 4 +DEAL::5952 4 +DEAL::5953 4 +DEAL::5954 4 +DEAL::5955 4 +DEAL::5956 4 +DEAL::5957 4 +DEAL::5958 4 +DEAL::5959 4 +DEAL::5960 4 +DEAL::5961 3 +DEAL::5962 3 +DEAL::5963 3 +DEAL::5964 3 +DEAL::5965 3 +DEAL::5966 3 +DEAL::5967 3 +DEAL::5968 3 +DEAL::5969 3 +DEAL::5970 3 +DEAL::5971 3 +DEAL::5972 3 +DEAL::5973 3 +DEAL::5974 3 +DEAL::5975 3 +DEAL::5976 3 +DEAL::5977 3 +DEAL::5978 3 +DEAL::5979 3 +DEAL::5980 3 +DEAL::5981 3 +DEAL::5982 3 +DEAL::5983 3 +DEAL::5984 3 +DEAL::5985 3 +DEAL::5986 3 +DEAL::5987 3 +DEAL::5988 3 +DEAL::5989 3 +DEAL::5990 3 +DEAL::5991 3 +DEAL::5992 3 +DEAL::5993 3 +DEAL::5994 3 +DEAL::5995 3 +DEAL::5996 3 +DEAL::5997 3 +DEAL::5998 3 +DEAL::5999 3 +DEAL::6000 3 +DEAL::6001 3 +DEAL::6002 3 +DEAL::6003 2 +DEAL::6004 2 +DEAL::6005 2 +DEAL::6006 2 +DEAL::6007 2 +DEAL::6008 2 +DEAL::6009 2 +DEAL::6010 2 +DEAL::6011 2 +DEAL::6012 2 +DEAL::6013 2 +DEAL::6014 2 +DEAL::6015 2 +DEAL::6016 2 +DEAL::6017 2 +DEAL::6018 2 +DEAL::6019 2 +DEAL::6020 2 +DEAL::6021 2 +DEAL::6022 2 +DEAL::6023 2 +DEAL::6024 3 +DEAL::6025 3 +DEAL::6026 3 +DEAL::6027 3 +DEAL::6028 3 +DEAL::6029 3 +DEAL::6030 3 +DEAL::6031 3 +DEAL::6032 3 +DEAL::6033 3 +DEAL::6034 3 +DEAL::6035 3 +DEAL::6036 3 +DEAL::6037 3 +DEAL::6038 3 +DEAL::6039 3 +DEAL::6040 3 +DEAL::6041 3 +DEAL::6042 3 +DEAL::6043 3 +DEAL::6044 3 +DEAL::3D +DEAL::Cell association: +DEAL::0 4.00000 +DEAL::1 0 +DEAL::2 0 +DEAL::3 4.00000 +DEAL::4 2.00000 +DEAL::5 4.00000 +DEAL::6 2.00000 +DEAL::7 4.00000 +DEAL::8 1.00000 +DEAL::9 1.00000 +DEAL::10 1.00000 +DEAL::11 1.00000 +DEAL::12 1.00000 +DEAL::13 1.00000 +DEAL::14 0 +DEAL::15 0 +DEAL::16 0 +DEAL::17 0 +DEAL::18 0 +DEAL::19 0 +DEAL::20 1.00000 +DEAL::21 1.00000 +DEAL::22 2.00000 +DEAL::23 2.00000 +DEAL::24 2.00000 +DEAL::25 2.00000 +DEAL::26 3.00000 +DEAL::27 3.00000 +DEAL::28 3.00000 +DEAL::29 3.00000 +DEAL::30 3.00000 +DEAL::31 1.00000 +DEAL::32 1.00000 +DEAL::33 1.00000 +DEAL::34 1.00000 +DEAL::35 1.00000 +DEAL::36 1.00000 +DEAL::37 1.00000 +DEAL::38 1.00000 +DEAL::39 1.00000 +DEAL::40 1.00000 +DEAL::41 1.00000 +DEAL::42 1.00000 +DEAL::43 0 +DEAL::44 1.00000 +DEAL::45 0 +DEAL::46 0 +DEAL::47 0 +DEAL::48 0 +DEAL::49 0 +DEAL::50 1.00000 +DEAL::51 1.00000 +DEAL::52 1.00000 +DEAL::53 2.00000 +DEAL::54 2.00000 +DEAL::55 2.00000 +DEAL::56 2.00000 +DEAL::57 2.00000 +DEAL::58 0 +DEAL::59 0 +DEAL::60 0 +DEAL::61 2.00000 +DEAL::62 0 +DEAL::63 2.00000 +DEAL::64 2.00000 +DEAL::65 2.00000 +DEAL::66 2.00000 +DEAL::67 2.00000 +DEAL::68 2.00000 +DEAL::69 2.00000 +DEAL::70 2.00000 +DEAL::71 2.00000 +DEAL::72 2.00000 +DEAL::73 2.00000 +DEAL::74 1.00000 +DEAL::75 1.00000 +DEAL::76 1.00000 +DEAL::77 1.00000 +DEAL::78 1.00000 +DEAL::79 1.00000 +DEAL::80 1.00000 +DEAL::81 1.00000 +DEAL::82 1.00000 +DEAL::83 1.00000 +DEAL::84 1.00000 +DEAL::85 1.00000 +DEAL::86 1.00000 +DEAL::87 1.00000 +DEAL::88 1.00000 +DEAL::89 3.00000 +DEAL::90 1.00000 +DEAL::91 3.00000 +DEAL::92 3.00000 +DEAL::93 3.00000 +DEAL::94 3.00000 +DEAL::95 1.00000 +DEAL::96 3.00000 +DEAL::97 3.00000 +DEAL::98 3.00000 +DEAL::99 3.00000 +DEAL::100 4.00000 +DEAL::101 4.00000 +DEAL::102 4.00000 +DEAL::103 4.00000 +DEAL::104 4.00000 +DEAL::105 4.00000 +DEAL::106 4.00000 +DEAL::107 0 +DEAL::108 0 +DEAL::109 0 +DEAL::110 0 +DEAL::111 0 +DEAL::112 0 +DEAL::113 0 +DEAL::114 0 +DEAL::115 0 +DEAL::116 0 +DEAL::117 0 +DEAL::118 0 +DEAL::119 0 +DEAL::120 0 +DEAL::121 0 +DEAL::122 2.00000 +DEAL::123 2.00000 +DEAL::124 2.00000 +DEAL::125 4.00000 +DEAL::126 2.00000 +DEAL::127 4.00000 +DEAL::128 2.00000 +DEAL::129 2.00000 +DEAL::130 2.00000 +DEAL::131 2.00000 +DEAL::132 4.00000 +DEAL::133 2.00000 +DEAL::134 4.00000 +DEAL::135 4.00000 +DEAL::136 2.00000 +DEAL::137 2.00000 +DEAL::138 2.00000 +DEAL::139 2.00000 +DEAL::140 2.00000 +DEAL::141 2.00000 +DEAL::142 2.00000 +DEAL::143 4.00000 +DEAL::144 4.00000 +DEAL::145 3.00000 +DEAL::146 3.00000 +DEAL::147 4.00000 +DEAL::148 4.00000 +DEAL::149 4.00000 +DEAL::150 3.00000 +DEAL::151 3.00000 +DEAL::152 3.00000 +DEAL::153 3.00000 +DEAL::154 3.00000 +DEAL::155 3.00000 +DEAL::156 3.00000 +DEAL::157 3.00000 +DEAL::158 3.00000 +DEAL::159 3.00000 +DEAL::160 3.00000 +DEAL::161 3.00000 +DEAL::162 3.00000 +DEAL::163 3.00000 +DEAL::164 4.00000 +DEAL::165 4.00000 +DEAL::166 4.00000 +DEAL::167 4.00000 +DEAL::168 4.00000 +DEAL::169 4.00000 +DEAL::170 4.00000 +DEAL::171 0 +DEAL::172 0 +DEAL::173 0 +DEAL::174 0 +DEAL::175 0 +DEAL::176 0 +DEAL::177 0 +DEAL::178 0 +DEAL::179 0 +DEAL::180 0 +DEAL::181 1.00000 +DEAL::182 1.00000 +DEAL::183 0 +DEAL::184 0 +DEAL::185 0 +DEAL::186 0 +DEAL::187 0 +DEAL::188 0 +DEAL::189 1.00000 +DEAL::190 1.00000 +DEAL::191 0 +DEAL::192 0 +DEAL::193 0 +DEAL::194 3.00000 +DEAL::195 1.00000 +DEAL::196 1.00000 +DEAL::197 1.00000 +DEAL::198 1.00000 +DEAL::199 0 +DEAL::200 1.00000 +DEAL::201 0 +DEAL::202 1.00000 +DEAL::203 1.00000 +DEAL::204 1.00000 +DEAL::205 1.00000 +DEAL::206 1.00000 +DEAL::207 1.00000 +DEAL::208 2.00000 +DEAL::209 1.00000 +DEAL::210 1.00000 +DEAL::211 1.00000 +DEAL::212 1.00000 +DEAL::213 1.00000 +DEAL::214 1.00000 +DEAL::215 1.00000 +DEAL::216 1.00000 +DEAL::217 1.00000 +DEAL::218 1.00000 +DEAL::219 1.00000 +DEAL::220 1.00000 +DEAL::221 1.00000 +DEAL::222 1.00000 +DEAL::223 1.00000 +DEAL::224 1.00000 +DEAL::225 1.00000 +DEAL::226 3.00000 +DEAL::227 1.00000 +DEAL::228 1.00000 +DEAL::229 1.00000 +DEAL::230 3.00000 +DEAL::231 1.00000 +DEAL::232 3.00000 +DEAL::233 3.00000 +DEAL::234 3.00000 +DEAL::235 1.00000 +DEAL::236 1.00000 +DEAL::237 1.00000 +DEAL::238 1.00000 +DEAL::239 1.00000 +DEAL::240 1.00000 +DEAL::241 1.00000 +DEAL::242 1.00000 +DEAL::243 1.00000 +DEAL::244 1.00000 +DEAL::245 1.00000 +DEAL::246 4.00000 +DEAL::247 1.00000 +DEAL::248 2.00000 +DEAL::249 3.00000 +DEAL::250 3.00000 +DEAL::251 4.00000 +DEAL::252 2.00000 +DEAL::253 4.00000 +DEAL::254 4.00000 +DEAL::255 2.00000 +DEAL::256 2.00000 +DEAL::257 4.00000 +DEAL::258 4.00000 +DEAL::259 3.00000 +DEAL::260 4.00000 +DEAL::261 3.00000 +DEAL::262 3.00000 +DEAL::263 3.00000 +DEAL::264 3.00000 +DEAL::265 3.00000 +DEAL::266 3.00000 +DEAL::267 3.00000 +DEAL::268 2.00000 +DEAL::269 3.00000 +DEAL::270 3.00000 +DEAL::271 3.00000 +DEAL::272 2.00000 +DEAL::273 3.00000 +DEAL::274 4.00000 +DEAL::275 2.00000 +DEAL::276 2.00000 +DEAL::277 4.00000 +DEAL::278 4.00000 +DEAL::279 2.00000 +DEAL::280 2.00000 +DEAL::281 4.00000 +DEAL::282 4.00000 +DEAL::283 3.00000 +DEAL::284 3.00000 +DEAL::285 3.00000 +DEAL::286 3.00000 +DEAL::287 3.00000 +DEAL::288 4.00000 +DEAL::289 3.00000 +DEAL::290 4.00000 +DEAL::291 0 +DEAL::292 0 +DEAL::293 0 +DEAL::294 0 +DEAL::295 0 +DEAL::296 0 +DEAL::297 0 +DEAL::298 0 +DEAL::299 0 +DEAL::300 0 +DEAL::301 0 +DEAL::302 4.00000 +DEAL::303 0 +DEAL::304 4.00000 +DEAL::305 4.00000 +DEAL::306 4.00000 +DEAL::307 0 +DEAL::308 0 +DEAL::309 0 +DEAL::310 0 +DEAL::311 0 +DEAL::312 0 +DEAL::313 0 +DEAL::314 0 +DEAL::315 4.00000 +DEAL::316 4.00000 +DEAL::317 4.00000 +DEAL::318 4.00000 +DEAL::319 4.00000 +DEAL::320 4.00000 +DEAL::321 4.00000 +DEAL::322 4.00000 +DEAL::323 2.00000 +DEAL::324 2.00000 +DEAL::325 2.00000 +DEAL::326 2.00000 +DEAL::327 2.00000 +DEAL::328 2.00000 +DEAL::329 2.00000 +DEAL::330 2.00000 +DEAL::331 0 +DEAL::332 0 +DEAL::333 3.00000 +DEAL::334 3.00000 +DEAL::335 4.00000 +DEAL::336 4.00000 +DEAL::337 3.00000 +DEAL::338 3.00000 +DEAL::339 4.00000 +DEAL::340 4.00000 +DEAL::341 4.00000 +DEAL::342 4.00000 +DEAL::343 4.00000 +DEAL::344 4.00000 +DEAL::345 4.00000 +DEAL::346 4.00000 +DEAL::347 4.00000 +DEAL::348 4.00000 +DEAL::349 4.00000 +DEAL::350 4.00000 +DEAL::351 4.00000 +DEAL::352 4.00000 +DEAL::353 4.00000 +DEAL::354 4.00000 +DEAL::355 3.00000 +DEAL::356 3.00000 +DEAL::357 3.00000 +DEAL::358 3.00000 +DEAL::359 3.00000 +DEAL::360 3.00000 +DEAL::361 3.00000 +DEAL::362 3.00000 +DEAL::363 4.00000 +DEAL::364 4.00000 +DEAL::365 3.00000 +DEAL::366 4.00000 +DEAL::367 4.00000 +DEAL::368 4.00000 +DEAL::369 4.00000 +DEAL::370 4.00000 +DEAL::371 4.00000 +DEAL::372 4.00000 +DEAL::373 4.00000 +DEAL::374 4.00000 +DEAL::375 4.00000 +DEAL::376 4.00000 +DEAL::377 4.00000 +DEAL::378 4.00000 +DEAL::379 2.00000 +DEAL::380 2.00000 +DEAL::381 4.00000 +DEAL::382 4.00000 +DEAL::383 2.00000 +DEAL::384 2.00000 +DEAL::385 4.00000 +DEAL::386 4.00000 +DEAL::387 4.00000 +DEAL::388 4.00000 +DEAL::389 4.00000 +DEAL::390 4.00000 +DEAL::391 4.00000 +DEAL::392 4.00000 +DEAL::393 4.00000 +DEAL::394 4.00000 +DEAL::395 2.00000 +DEAL::396 2.00000 +DEAL::397 4.00000 +DEAL::398 4.00000 +DEAL::399 2.00000 +DEAL::400 2.00000 +DEAL::401 4.00000 +DEAL::402 4.00000 +DEAL::403 4.00000 +DEAL::404 4.00000 +DEAL::405 4.00000 +DEAL::406 4.00000 +DEAL::407 4.00000 +DEAL::408 4.00000 +DEAL::409 4.00000 +DEAL::410 4.00000 +DEAL::411 4.00000 +DEAL::412 4.00000 +DEAL::413 4.00000 +DEAL::414 4.00000 +DEAL::415 4.00000 +DEAL::416 4.00000 +DEAL::417 4.00000 +DEAL::418 4.00000 +DEAL::419 1.00000 +DEAL::420 1.00000 +DEAL::421 1.00000 +DEAL::422 1.00000 +DEAL::423 1.00000 +DEAL::424 1.00000 +DEAL::425 1.00000 +DEAL::426 1.00000 +DEAL::427 0 +DEAL::428 0 +DEAL::429 0 +DEAL::430 0 +DEAL::431 0 +DEAL::432 0 +DEAL::433 0 +DEAL::434 2.00000 +DEAL::435 2.00000 +DEAL::436 2.00000 +DEAL::437 2.00000 +DEAL::438 2.00000 +DEAL::439 2.00000 +DEAL::440 2.00000 +DEAL::441 3.00000 +DEAL::442 3.00000 +DEAL::443 3.00000 +DEAL::444 3.00000 +DEAL::445 3.00000 +DEAL::446 3.00000 +DEAL::447 3.00000 +DEAL::448 1.00000 +DEAL::449 1.00000 +DEAL::450 1.00000 +DEAL::451 1.00000 +DEAL::452 1.00000 +DEAL::453 1.00000 +DEAL::454 1.00000 +DEAL::455 1.00000 +DEAL::456 0 +DEAL::457 0 +DEAL::458 0 +DEAL::459 0 +DEAL::460 0 +DEAL::461 0 +DEAL::462 0 +DEAL::463 0 +DEAL::464 1.00000 +DEAL::465 1.00000 +DEAL::466 1.00000 +DEAL::467 1.00000 +DEAL::468 1.00000 +DEAL::469 2.00000 +DEAL::470 1.00000 +DEAL::471 2.00000 +DEAL::472 3.00000 +DEAL::473 3.00000 +DEAL::474 3.00000 +DEAL::475 3.00000 +DEAL::476 3.00000 +DEAL::477 3.00000 +DEAL::478 3.00000 +DEAL::479 3.00000 +DEAL::480 3.00000 +DEAL::481 3.00000 +DEAL::482 3.00000 +DEAL::483 3.00000 +DEAL::484 3.00000 +DEAL::485 3.00000 +DEAL::486 3.00000 +DEAL::487 3.00000 +DEAL::488 1.00000 +DEAL::489 1.00000 +DEAL::490 1.00000 +DEAL::491 1.00000 +DEAL::492 1.00000 +DEAL::493 1.00000 +DEAL::494 1.00000 +DEAL::495 1.00000 +DEAL::496 1.00000 +DEAL::497 1.00000 +DEAL::498 1.00000 +DEAL::499 1.00000 +DEAL::500 1.00000 +DEAL::501 1.00000 +DEAL::502 1.00000 +DEAL::503 1.00000 +DEAL::504 0 +DEAL::505 0 +DEAL::506 0 +DEAL::507 0 +DEAL::508 0 +DEAL::509 0 +DEAL::510 0 +DEAL::511 0 +DEAL::512 0 +DEAL::513 0 +DEAL::514 0 +DEAL::515 0 +DEAL::516 0 +DEAL::517 0 +DEAL::518 0 +DEAL::519 0 +DEAL::520 0 +DEAL::521 0 +DEAL::522 0 +DEAL::523 0 +DEAL::524 0 +DEAL::525 0 +DEAL::526 0 +DEAL::527 0 +DEAL::528 0 +DEAL::529 0 +DEAL::530 0 +DEAL::531 0 +DEAL::532 0 +DEAL::533 0 +DEAL::534 0 +DEAL::535 0 +DEAL::536 0 +DEAL::537 1.00000 +DEAL::538 0 +DEAL::539 1.00000 +DEAL::540 0 +DEAL::541 1.00000 +DEAL::542 0 +DEAL::543 1.00000 +DEAL::544 0 +DEAL::545 2.00000 +DEAL::546 0 +DEAL::547 2.00000 +DEAL::548 0 +DEAL::549 2.00000 +DEAL::550 0 +DEAL::551 2.00000 +DEAL::552 2.00000 +DEAL::553 2.00000 +DEAL::554 2.00000 +DEAL::555 2.00000 +DEAL::556 2.00000 +DEAL::557 2.00000 +DEAL::558 2.00000 +DEAL::559 2.00000 +DEAL::560 2.00000 +DEAL::561 2.00000 +DEAL::562 2.00000 +DEAL::563 2.00000 +DEAL::564 2.00000 +DEAL::565 2.00000 +DEAL::566 2.00000 +DEAL::567 2.00000 +DEAL::568 2.00000 +DEAL::569 2.00000 +DEAL::570 2.00000 +DEAL::571 2.00000 +DEAL::572 2.00000 +DEAL::573 2.00000 +DEAL::574 2.00000 +DEAL::575 2.00000 +DEAL::576 2.00000 +DEAL::577 2.00000 +DEAL::578 2.00000 +DEAL::579 2.00000 +DEAL::580 2.00000 +DEAL::581 2.00000 +DEAL::582 2.00000 +DEAL::583 2.00000 +DEAL::584 2.00000 +DEAL::585 2.00000 +DEAL::586 2.00000 +DEAL::587 2.00000 +DEAL::588 2.00000 +DEAL::589 2.00000 +DEAL::590 2.00000 +DEAL::591 2.00000 +DEAL::592 1.00000 +DEAL::593 1.00000 +DEAL::594 1.00000 +DEAL::595 1.00000 +DEAL::596 1.00000 +DEAL::597 1.00000 +DEAL::598 1.00000 +DEAL::599 1.00000 +DEAL::600 1.00000 +DEAL::601 1.00000 +DEAL::602 1.00000 +DEAL::603 1.00000 +DEAL::604 1.00000 +DEAL::605 1.00000 +DEAL::606 1.00000 +DEAL::607 1.00000 +DEAL::608 3.00000 +DEAL::609 3.00000 +DEAL::610 3.00000 +DEAL::611 3.00000 +DEAL::612 3.00000 +DEAL::613 3.00000 +DEAL::614 3.00000 +DEAL::615 3.00000 +DEAL::616 3.00000 +DEAL::617 3.00000 +DEAL::618 3.00000 +DEAL::619 3.00000 +DEAL::620 3.00000 +DEAL::621 3.00000 +DEAL::622 3.00000 +DEAL::623 3.00000 +DEAL::624 3.00000 +DEAL::625 3.00000 +DEAL::626 3.00000 +DEAL::627 3.00000 +DEAL::628 3.00000 +DEAL::629 3.00000 +DEAL::630 3.00000 +DEAL::631 3.00000 +DEAL::632 3.00000 +DEAL::633 3.00000 +DEAL::634 3.00000 +DEAL::635 3.00000 +DEAL::636 3.00000 +DEAL::637 3.00000 +DEAL::638 3.00000 +DEAL::639 3.00000 +DEAL::640 4.00000 +DEAL::641 4.00000 +DEAL::642 4.00000 +DEAL::643 4.00000 +DEAL::644 4.00000 +DEAL::645 4.00000 +DEAL::646 4.00000 +DEAL::647 4.00000 +DEAL::648 0 +DEAL::649 0 +DEAL::650 0 +DEAL::651 0 +DEAL::652 0 +DEAL::653 0 +DEAL::654 0 +DEAL::655 0 +DEAL::656 2.00000 +DEAL::657 2.00000 +DEAL::658 2.00000 +DEAL::659 2.00000 +DEAL::660 2.00000 +DEAL::661 2.00000 +DEAL::662 2.00000 +DEAL::663 2.00000 +DEAL::664 2.00000 +DEAL::665 2.00000 +DEAL::666 2.00000 +DEAL::667 2.00000 +DEAL::668 4.00000 +DEAL::669 4.00000 +DEAL::670 4.00000 +DEAL::671 4.00000 +DEAL::672 2.00000 +DEAL::673 2.00000 +DEAL::674 2.00000 +DEAL::675 2.00000 +DEAL::676 2.00000 +DEAL::677 2.00000 +DEAL::678 2.00000 +DEAL::679 2.00000 +DEAL::680 4.00000 +DEAL::681 4.00000 +DEAL::682 4.00000 +DEAL::683 4.00000 +DEAL::684 4.00000 +DEAL::685 4.00000 +DEAL::686 4.00000 +DEAL::687 4.00000 +DEAL::688 3.00000 +DEAL::689 3.00000 +DEAL::690 3.00000 +DEAL::691 3.00000 +DEAL::692 3.00000 +DEAL::693 3.00000 +DEAL::694 3.00000 +DEAL::695 3.00000 +DEAL::696 3.00000 +DEAL::697 3.00000 +DEAL::698 3.00000 +DEAL::699 3.00000 +DEAL::700 3.00000 +DEAL::701 3.00000 +DEAL::702 3.00000 +DEAL::703 3.00000 +DEAL::704 4.00000 +DEAL::705 4.00000 +DEAL::706 4.00000 +DEAL::707 4.00000 +DEAL::708 4.00000 +DEAL::709 4.00000 +DEAL::710 4.00000 +DEAL::711 4.00000 +DEAL::712 0 +DEAL::713 0 +DEAL::714 0 +DEAL::715 0 +DEAL::716 0 +DEAL::717 0 +DEAL::718 0 +DEAL::719 0 +DEAL::720 2.00000 +DEAL::721 2.00000 +DEAL::722 2.00000 +DEAL::723 2.00000 +DEAL::724 2.00000 +DEAL::725 2.00000 +DEAL::726 2.00000 +DEAL::727 2.00000 +DEAL::728 3.00000 +DEAL::729 3.00000 +DEAL::730 3.00000 +DEAL::731 3.00000 +DEAL::732 3.00000 +DEAL::733 3.00000 +DEAL::734 3.00000 +DEAL::735 3.00000 +DEAL::DoF association: +DEAL::0 4 +DEAL::1 4 +DEAL::2 3 +DEAL::3 4 +DEAL::4 3 +DEAL::5 4 +DEAL::6 3 +DEAL::7 4 +DEAL::8 4 +DEAL::9 4 +DEAL::10 4 +DEAL::11 4 +DEAL::12 4 +DEAL::13 4 +DEAL::14 4 +DEAL::15 4 +DEAL::16 4 +DEAL::17 4 +DEAL::18 4 +DEAL::19 4 +DEAL::20 4 +DEAL::21 4 +DEAL::22 4 +DEAL::23 4 +DEAL::24 4 +DEAL::25 4 +DEAL::26 4 +DEAL::27 0 +DEAL::28 4 +DEAL::29 4 +DEAL::30 4 +DEAL::31 0 +DEAL::32 0 +DEAL::33 4 +DEAL::34 4 +DEAL::35 0 +DEAL::36 0 +DEAL::37 0 +DEAL::38 0 +DEAL::39 0 +DEAL::40 4 +DEAL::41 0 +DEAL::42 0 +DEAL::43 0 +DEAL::44 0 +DEAL::45 0 +DEAL::46 4 +DEAL::47 0 +DEAL::48 0 +DEAL::49 0 +DEAL::50 0 +DEAL::51 0 +DEAL::52 0 +DEAL::53 0 +DEAL::54 0 +DEAL::55 0 +DEAL::56 4 +DEAL::57 0 +DEAL::58 0 +DEAL::59 4 +DEAL::60 0 +DEAL::61 0 +DEAL::62 0 +DEAL::63 0 +DEAL::64 0 +DEAL::65 0 +DEAL::66 0 +DEAL::67 0 +DEAL::68 0 +DEAL::69 0 +DEAL::70 0 +DEAL::71 0 +DEAL::72 0 +DEAL::73 0 +DEAL::74 0 +DEAL::75 0 +DEAL::76 0 +DEAL::77 0 +DEAL::78 2 +DEAL::79 2 +DEAL::80 2 +DEAL::81 4 +DEAL::82 2 +DEAL::83 4 +DEAL::84 4 +DEAL::85 4 +DEAL::86 4 +DEAL::87 4 +DEAL::88 2 +DEAL::89 2 +DEAL::90 2 +DEAL::91 4 +DEAL::92 4 +DEAL::93 4 +DEAL::94 4 +DEAL::95 4 +DEAL::96 2 +DEAL::97 2 +DEAL::98 2 +DEAL::99 2 +DEAL::100 2 +DEAL::101 2 +DEAL::102 2 +DEAL::103 2 +DEAL::104 2 +DEAL::105 2 +DEAL::106 2 +DEAL::107 2 +DEAL::108 2 +DEAL::109 2 +DEAL::110 2 +DEAL::111 2 +DEAL::112 2 +DEAL::113 2 +DEAL::114 4 +DEAL::115 2 +DEAL::116 4 +DEAL::117 2 +DEAL::118 4 +DEAL::119 2 +DEAL::120 4 +DEAL::121 4 +DEAL::122 2 +DEAL::123 4 +DEAL::124 4 +DEAL::125 4 +DEAL::126 4 +DEAL::127 4 +DEAL::128 4 +DEAL::129 4 +DEAL::130 4 +DEAL::131 4 +DEAL::132 2 +DEAL::133 2 +DEAL::134 2 +DEAL::135 2 +DEAL::136 2 +DEAL::137 2 +DEAL::138 2 +DEAL::139 2 +DEAL::140 2 +DEAL::141 2 +DEAL::142 2 +DEAL::143 2 +DEAL::144 4 +DEAL::145 4 +DEAL::146 4 +DEAL::147 4 +DEAL::148 4 +DEAL::149 4 +DEAL::150 4 +DEAL::151 4 +DEAL::152 4 +DEAL::153 4 +DEAL::154 4 +DEAL::155 4 +DEAL::156 4 +DEAL::157 4 +DEAL::158 4 +DEAL::159 4 +DEAL::160 4 +DEAL::161 4 +DEAL::162 1 +DEAL::163 1 +DEAL::164 1 +DEAL::165 1 +DEAL::166 1 +DEAL::167 1 +DEAL::168 1 +DEAL::169 1 +DEAL::170 1 +DEAL::171 1 +DEAL::172 1 +DEAL::173 1 +DEAL::174 1 +DEAL::175 1 +DEAL::176 1 +DEAL::177 1 +DEAL::178 1 +DEAL::179 1 +DEAL::180 1 +DEAL::181 1 +DEAL::182 1 +DEAL::183 1 +DEAL::184 1 +DEAL::185 1 +DEAL::186 1 +DEAL::187 1 +DEAL::188 1 +DEAL::189 1 +DEAL::190 1 +DEAL::191 1 +DEAL::192 1 +DEAL::193 1 +DEAL::194 1 +DEAL::195 1 +DEAL::196 1 +DEAL::197 1 +DEAL::198 1 +DEAL::199 1 +DEAL::200 1 +DEAL::201 1 +DEAL::202 1 +DEAL::203 1 +DEAL::204 1 +DEAL::205 1 +DEAL::206 1 +DEAL::207 1 +DEAL::208 1 +DEAL::209 1 +DEAL::210 1 +DEAL::211 1 +DEAL::212 1 +DEAL::213 1 +DEAL::214 1 +DEAL::215 1 +DEAL::216 1 +DEAL::217 1 +DEAL::218 1 +DEAL::219 1 +DEAL::220 1 +DEAL::221 1 +DEAL::222 1 +DEAL::223 1 +DEAL::224 1 +DEAL::225 0 +DEAL::226 0 +DEAL::227 1 +DEAL::228 1 +DEAL::229 1 +DEAL::230 0 +DEAL::231 1 +DEAL::232 0 +DEAL::233 1 +DEAL::234 1 +DEAL::235 1 +DEAL::236 1 +DEAL::237 1 +DEAL::238 1 +DEAL::239 1 +DEAL::240 1 +DEAL::241 1 +DEAL::242 1 +DEAL::243 0 +DEAL::244 1 +DEAL::245 0 +DEAL::246 0 +DEAL::247 0 +DEAL::248 1 +DEAL::249 1 +DEAL::250 1 +DEAL::251 1 +DEAL::252 1 +DEAL::253 0 +DEAL::254 1 +DEAL::255 1 +DEAL::256 1 +DEAL::257 1 +DEAL::258 1 +DEAL::259 1 +DEAL::260 1 +DEAL::261 1 +DEAL::262 1 +DEAL::263 1 +DEAL::264 1 +DEAL::265 1 +DEAL::266 1 +DEAL::267 0 +DEAL::268 0 +DEAL::269 0 +DEAL::270 0 +DEAL::271 0 +DEAL::272 0 +DEAL::273 0 +DEAL::274 0 +DEAL::275 0 +DEAL::276 0 +DEAL::277 0 +DEAL::278 0 +DEAL::279 0 +DEAL::280 0 +DEAL::281 0 +DEAL::282 0 +DEAL::283 0 +DEAL::284 0 +DEAL::285 0 +DEAL::286 0 +DEAL::287 0 +DEAL::288 0 +DEAL::289 0 +DEAL::290 0 +DEAL::291 0 +DEAL::292 0 +DEAL::293 0 +DEAL::294 0 +DEAL::295 0 +DEAL::296 0 +DEAL::297 0 +DEAL::298 0 +DEAL::299 0 +DEAL::300 0 +DEAL::301 0 +DEAL::302 0 +DEAL::303 0 +DEAL::304 0 +DEAL::305 0 +DEAL::306 0 +DEAL::307 0 +DEAL::308 0 +DEAL::309 0 +DEAL::310 0 +DEAL::311 0 +DEAL::312 0 +DEAL::313 0 +DEAL::314 0 +DEAL::315 0 +DEAL::316 0 +DEAL::317 1 +DEAL::318 0 +DEAL::319 0 +DEAL::320 0 +DEAL::321 0 +DEAL::322 0 +DEAL::323 0 +DEAL::324 0 +DEAL::325 0 +DEAL::326 0 +DEAL::327 0 +DEAL::328 0 +DEAL::329 0 +DEAL::330 0 +DEAL::331 0 +DEAL::332 2 +DEAL::333 0 +DEAL::334 0 +DEAL::335 0 +DEAL::336 0 +DEAL::337 0 +DEAL::338 0 +DEAL::339 0 +DEAL::340 0 +DEAL::341 0 +DEAL::342 0 +DEAL::343 0 +DEAL::344 0 +DEAL::345 0 +DEAL::346 0 +DEAL::347 0 +DEAL::348 0 +DEAL::349 0 +DEAL::350 0 +DEAL::351 0 +DEAL::352 0 +DEAL::353 0 +DEAL::354 0 +DEAL::355 0 +DEAL::356 0 +DEAL::357 0 +DEAL::358 0 +DEAL::359 0 +DEAL::360 0 +DEAL::361 0 +DEAL::362 0 +DEAL::363 0 +DEAL::364 0 +DEAL::365 0 +DEAL::366 0 +DEAL::367 0 +DEAL::368 0 +DEAL::369 0 +DEAL::370 0 +DEAL::371 0 +DEAL::372 1 +DEAL::373 1 +DEAL::374 0 +DEAL::375 0 +DEAL::376 1 +DEAL::377 1 +DEAL::378 1 +DEAL::379 1 +DEAL::380 1 +DEAL::381 0 +DEAL::382 2 +DEAL::383 1 +DEAL::384 2 +DEAL::385 1 +DEAL::386 1 +DEAL::387 1 +DEAL::388 1 +DEAL::389 1 +DEAL::390 1 +DEAL::391 1 +DEAL::392 1 +DEAL::393 2 +DEAL::394 1 +DEAL::395 1 +DEAL::396 2 +DEAL::397 3 +DEAL::398 3 +DEAL::399 1 +DEAL::400 1 +DEAL::401 3 +DEAL::402 1 +DEAL::403 2 +DEAL::404 3 +DEAL::405 3 +DEAL::406 2 +DEAL::407 1 +DEAL::408 1 +DEAL::409 3 +DEAL::410 1 +DEAL::411 1 +DEAL::412 1 +DEAL::413 2 +DEAL::414 2 +DEAL::415 2 +DEAL::416 2 +DEAL::417 2 +DEAL::418 1 +DEAL::419 2 +DEAL::420 2 +DEAL::421 2 +DEAL::422 2 +DEAL::423 2 +DEAL::424 2 +DEAL::425 2 +DEAL::426 2 +DEAL::427 2 +DEAL::428 1 +DEAL::429 2 +DEAL::430 2 +DEAL::431 0 +DEAL::432 4 +DEAL::433 2 +DEAL::434 0 +DEAL::435 2 +DEAL::436 2 +DEAL::437 2 +DEAL::438 0 +DEAL::439 0 +DEAL::440 2 +DEAL::441 0 +DEAL::442 2 +DEAL::443 2 +DEAL::444 2 +DEAL::445 2 +DEAL::446 2 +DEAL::447 2 +DEAL::448 4 +DEAL::449 4 +DEAL::450 2 +DEAL::451 4 +DEAL::452 3 +DEAL::453 2 +DEAL::454 2 +DEAL::455 2 +DEAL::456 2 +DEAL::457 2 +DEAL::458 2 +DEAL::459 2 +DEAL::460 2 +DEAL::461 2 +DEAL::462 2 +DEAL::463 4 +DEAL::464 2 +DEAL::465 2 +DEAL::466 2 +DEAL::467 2 +DEAL::468 2 +DEAL::469 2 +DEAL::470 2 +DEAL::471 1 +DEAL::472 3 +DEAL::473 3 +DEAL::474 3 +DEAL::475 3 +DEAL::476 3 +DEAL::477 3 +DEAL::478 3 +DEAL::479 3 +DEAL::480 3 +DEAL::481 3 +DEAL::482 1 +DEAL::483 3 +DEAL::484 3 +DEAL::485 3 +DEAL::486 3 +DEAL::487 3 +DEAL::488 3 +DEAL::489 3 +DEAL::490 3 +DEAL::491 3 +DEAL::492 3 +DEAL::493 3 +DEAL::494 3 +DEAL::495 3 +DEAL::496 3 +DEAL::497 3 +DEAL::498 3 +DEAL::499 3 +DEAL::500 3 +DEAL::501 3 +DEAL::502 3 +DEAL::503 3 +DEAL::504 3 +DEAL::505 3 +DEAL::506 3 +DEAL::507 3 +DEAL::508 3 +DEAL::509 3 +DEAL::510 3 +DEAL::511 3 +DEAL::512 3 +DEAL::513 3 +DEAL::514 3 +DEAL::515 3 +DEAL::516 3 +DEAL::517 3 +DEAL::518 3 +DEAL::519 3 +DEAL::520 3 +DEAL::521 3 +DEAL::522 3 +DEAL::523 3 +DEAL::524 3 +DEAL::525 3 +DEAL::526 3 +DEAL::527 3 +DEAL::528 3 +DEAL::529 3 +DEAL::530 3 +DEAL::531 3 +DEAL::532 3 +DEAL::533 3 +DEAL::534 4 +DEAL::535 3 +DEAL::536 3 +DEAL::537 3 +DEAL::538 3 +DEAL::539 3 +DEAL::540 3 +DEAL::541 3 +DEAL::542 3 +DEAL::543 3 +DEAL::544 3 +DEAL::545 3 +DEAL::546 3 +DEAL::547 3 +DEAL::548 3 +DEAL::549 3 +DEAL::550 3 +DEAL::551 3 +DEAL::552 3 +DEAL::553 3 +DEAL::554 3 +DEAL::555 3 +DEAL::556 3 +DEAL::557 3 +DEAL::558 3 +DEAL::559 3 +DEAL::560 3 +DEAL::561 3 +DEAL::562 3 +DEAL::563 3 +DEAL::564 1 +DEAL::565 1 +DEAL::566 1 +DEAL::567 1 +DEAL::568 1 +DEAL::569 1 +DEAL::570 1 +DEAL::571 1 +DEAL::572 1 +DEAL::573 1 +DEAL::574 1 +DEAL::575 1 +DEAL::576 1 +DEAL::577 1 +DEAL::578 1 +DEAL::579 1 +DEAL::580 1 +DEAL::581 1 +DEAL::582 1 +DEAL::583 1 +DEAL::584 1 +DEAL::585 1 +DEAL::586 1 +DEAL::587 1 +DEAL::588 1 +DEAL::589 1 +DEAL::590 1 +DEAL::591 1 +DEAL::592 0 +DEAL::593 1 +DEAL::594 1 +DEAL::595 1 +DEAL::596 1 +DEAL::597 1 +DEAL::598 0 +DEAL::599 1 +DEAL::600 1 +DEAL::601 1 +DEAL::602 0 +DEAL::603 1 +DEAL::604 1 +DEAL::605 1 +DEAL::606 1 +DEAL::607 1 +DEAL::608 1 +DEAL::609 1 +DEAL::610 1 +DEAL::611 1 +DEAL::612 1 +DEAL::613 1 +DEAL::614 1 +DEAL::615 1 +DEAL::616 1 +DEAL::617 1 +DEAL::618 1 +DEAL::619 0 +DEAL::620 1 +DEAL::621 1 +DEAL::622 1 +DEAL::623 1 +DEAL::624 1 +DEAL::625 0 +DEAL::626 0 +DEAL::627 0 +DEAL::628 1 +DEAL::629 0 +DEAL::630 1 +DEAL::631 0 +DEAL::632 1 +DEAL::633 1 +DEAL::634 1 +DEAL::635 1 +DEAL::636 1 +DEAL::637 1 +DEAL::638 1 +DEAL::639 1 +DEAL::640 1 +DEAL::641 1 +DEAL::642 0 +DEAL::643 1 +DEAL::644 1 +DEAL::645 1 +DEAL::646 0 +DEAL::647 1 +DEAL::648 1 +DEAL::649 0 +DEAL::650 1 +DEAL::651 1 +DEAL::652 1 +DEAL::653 1 +DEAL::654 0 +DEAL::655 1 +DEAL::656 0 +DEAL::657 1 +DEAL::658 1 +DEAL::659 1 +DEAL::660 1 +DEAL::661 1 +DEAL::662 0 +DEAL::663 1 +DEAL::664 0 +DEAL::665 1 +DEAL::666 1 +DEAL::667 1 +DEAL::668 1 +DEAL::669 1 +DEAL::670 1 +DEAL::671 1 +DEAL::672 1 +DEAL::673 1 +DEAL::674 1 +DEAL::675 1 +DEAL::676 1 +DEAL::677 0 +DEAL::678 1 +DEAL::679 1 +DEAL::680 1 +DEAL::681 0 +DEAL::682 1 +DEAL::683 1 +DEAL::684 1 +DEAL::685 0 +DEAL::686 1 +DEAL::687 1 +DEAL::688 1 +DEAL::689 1 +DEAL::690 1 +DEAL::691 1 +DEAL::692 1 +DEAL::693 1 +DEAL::694 1 +DEAL::695 1 +DEAL::696 1 +DEAL::697 1 +DEAL::698 1 +DEAL::699 1 +DEAL::700 1 +DEAL::701 1 +DEAL::702 1 +DEAL::703 1 +DEAL::704 1 +DEAL::705 1 +DEAL::706 1 +DEAL::707 1 +DEAL::708 1 +DEAL::709 1 +DEAL::710 1 +DEAL::711 1 +DEAL::712 1 +DEAL::713 1 +DEAL::714 1 +DEAL::715 1 +DEAL::716 1 +DEAL::717 1 +DEAL::718 1 +DEAL::719 1 +DEAL::720 1 +DEAL::721 0 +DEAL::722 1 +DEAL::723 0 +DEAL::724 1 +DEAL::725 0 +DEAL::726 1 +DEAL::727 1 +DEAL::728 0 +DEAL::729 1 +DEAL::730 1 +DEAL::731 1 +DEAL::732 1 +DEAL::733 0 +DEAL::734 0 +DEAL::735 0 +DEAL::736 0 +DEAL::737 0 +DEAL::738 1 +DEAL::739 1 +DEAL::740 3 +DEAL::741 1 +DEAL::742 1 +DEAL::743 1 +DEAL::744 1 +DEAL::745 1 +DEAL::746 1 +DEAL::747 1 +DEAL::748 0 +DEAL::749 0 +DEAL::750 0 +DEAL::751 0 +DEAL::752 0 +DEAL::753 0 +DEAL::754 0 +DEAL::755 0 +DEAL::756 0 +DEAL::757 0 +DEAL::758 0 +DEAL::759 0 +DEAL::760 0 +DEAL::761 0 +DEAL::762 0 +DEAL::763 0 +DEAL::764 0 +DEAL::765 0 +DEAL::766 0 +DEAL::767 0 +DEAL::768 0 +DEAL::769 0 +DEAL::770 0 +DEAL::771 0 +DEAL::772 0 +DEAL::773 0 +DEAL::774 0 +DEAL::775 0 +DEAL::776 0 +DEAL::777 0 +DEAL::778 0 +DEAL::779 0 +DEAL::780 0 +DEAL::781 0 +DEAL::782 0 +DEAL::783 0 +DEAL::784 0 +DEAL::785 0 +DEAL::786 0 +DEAL::787 0 +DEAL::788 0 +DEAL::789 0 +DEAL::790 0 +DEAL::791 0 +DEAL::792 0 +DEAL::793 0 +DEAL::794 0 +DEAL::795 0 +DEAL::796 0 +DEAL::797 0 +DEAL::798 0 +DEAL::799 0 +DEAL::800 0 +DEAL::801 0 +DEAL::802 0 +DEAL::803 0 +DEAL::804 0 +DEAL::805 0 +DEAL::806 0 +DEAL::807 0 +DEAL::808 0 +DEAL::809 0 +DEAL::810 0 +DEAL::811 0 +DEAL::812 0 +DEAL::813 0 +DEAL::814 1 +DEAL::815 1 +DEAL::816 1 +DEAL::817 2 +DEAL::818 1 +DEAL::819 2 +DEAL::820 1 +DEAL::821 2 +DEAL::822 1 +DEAL::823 1 +DEAL::824 1 +DEAL::825 1 +DEAL::826 1 +DEAL::827 1 +DEAL::828 2 +DEAL::829 1 +DEAL::830 1 +DEAL::831 1 +DEAL::832 1 +DEAL::833 2 +DEAL::834 1 +DEAL::835 1 +DEAL::836 1 +DEAL::837 1 +DEAL::838 1 +DEAL::839 2 +DEAL::840 1 +DEAL::841 1 +DEAL::842 1 +DEAL::843 1 +DEAL::844 2 +DEAL::845 1 +DEAL::846 1 +DEAL::847 1 +DEAL::848 2 +DEAL::849 1 +DEAL::850 2 +DEAL::851 1 +DEAL::852 1 +DEAL::853 1 +DEAL::854 1 +DEAL::855 2 +DEAL::856 1 +DEAL::857 1 +DEAL::858 1 +DEAL::859 1 +DEAL::860 2 +DEAL::861 2 +DEAL::862 1 +DEAL::863 1 +DEAL::864 2 +DEAL::865 4 +DEAL::866 1 +DEAL::867 2 +DEAL::868 4 +DEAL::869 1 +DEAL::870 2 +DEAL::871 1 +DEAL::872 1 +DEAL::873 1 +DEAL::874 1 +DEAL::875 2 +DEAL::876 1 +DEAL::877 2 +DEAL::878 2 +DEAL::879 2 +DEAL::880 2 +DEAL::881 2 +DEAL::882 2 +DEAL::883 2 +DEAL::884 2 +DEAL::885 2 +DEAL::886 2 +DEAL::887 2 +DEAL::888 2 +DEAL::889 1 +DEAL::890 2 +DEAL::891 2 +DEAL::892 1 +DEAL::893 2 +DEAL::894 2 +DEAL::895 2 +DEAL::896 1 +DEAL::897 2 +DEAL::898 1 +DEAL::899 2 +DEAL::900 1 +DEAL::901 2 +DEAL::902 1 +DEAL::903 2 +DEAL::904 2 +DEAL::905 2 +DEAL::906 1 +DEAL::907 2 +DEAL::908 2 +DEAL::909 1 +DEAL::910 2 +DEAL::911 1 +DEAL::912 2 +DEAL::913 2 +DEAL::914 2 +DEAL::915 2 +DEAL::916 2 +DEAL::917 2 +DEAL::918 2 +DEAL::919 2 +DEAL::920 2 +DEAL::921 2 +DEAL::922 2 +DEAL::923 2 +DEAL::924 2 +DEAL::925 2 +DEAL::926 2 +DEAL::927 2 +DEAL::928 2 +DEAL::929 2 +DEAL::930 2 +DEAL::931 2 +DEAL::932 2 +DEAL::933 2 +DEAL::934 2 +DEAL::935 2 +DEAL::936 0 +DEAL::937 1 +DEAL::938 0 +DEAL::939 1 +DEAL::940 0 +DEAL::941 2 +DEAL::942 0 +DEAL::943 2 +DEAL::944 1 +DEAL::945 1 +DEAL::946 1 +DEAL::947 1 +DEAL::948 0 +DEAL::949 2 +DEAL::950 0 +DEAL::951 2 +DEAL::952 0 +DEAL::953 0 +DEAL::954 0 +DEAL::955 2 +DEAL::956 0 +DEAL::957 0 +DEAL::958 0 +DEAL::959 0 +DEAL::960 1 +DEAL::961 0 +DEAL::962 0 +DEAL::963 1 +DEAL::964 0 +DEAL::965 0 +DEAL::966 0 +DEAL::967 0 +DEAL::968 0 +DEAL::969 0 +DEAL::970 0 +DEAL::971 0 +DEAL::972 2 +DEAL::973 2 +DEAL::974 0 +DEAL::975 2 +DEAL::976 0 +DEAL::977 2 +DEAL::978 2 +DEAL::979 0 +DEAL::980 2 +DEAL::981 0 +DEAL::982 0 +DEAL::983 0 +DEAL::984 0 +DEAL::985 0 +DEAL::986 2 +DEAL::987 2 +DEAL::988 2 +DEAL::989 2 +DEAL::990 2 +DEAL::991 2 +DEAL::992 2 +DEAL::993 2 +DEAL::994 2 +DEAL::995 2 +DEAL::996 2 +DEAL::997 2 +DEAL::998 2 +DEAL::999 0 +DEAL::1000 2 +DEAL::1001 0 +DEAL::1002 2 +DEAL::1003 2 +DEAL::1004 2 +DEAL::1005 2 +DEAL::1006 2 +DEAL::1007 1 +DEAL::1008 1 +DEAL::1009 2 +DEAL::1010 2 +DEAL::1011 2 +DEAL::1012 2 +DEAL::1013 2 +DEAL::1014 2 +DEAL::1015 2 +DEAL::1016 2 +DEAL::1017 1 +DEAL::1018 2 +DEAL::1019 2 +DEAL::1020 2 +DEAL::1021 2 +DEAL::1022 1 +DEAL::1023 2 +DEAL::1024 2 +DEAL::1025 2 +DEAL::1026 2 +DEAL::1027 2 +DEAL::1028 2 +DEAL::1029 2 +DEAL::1030 2 +DEAL::1031 2 +DEAL::1032 1 +DEAL::1033 2 +DEAL::1034 2 +DEAL::1035 2 +DEAL::1036 2 +DEAL::1037 2 +DEAL::1038 1 +DEAL::1039 2 +DEAL::1040 2 +DEAL::1041 2 +DEAL::1042 2 +DEAL::1043 2 +DEAL::1044 2 +DEAL::1045 2 +DEAL::1046 2 +DEAL::1047 2 +DEAL::1048 2 +DEAL::1049 2 +DEAL::1050 2 +DEAL::1051 2 +DEAL::1052 2 +DEAL::1053 2 +DEAL::1054 2 +DEAL::1055 2 +DEAL::1056 2 +DEAL::1057 2 +DEAL::1058 2 +DEAL::1059 2 +DEAL::1060 2 +DEAL::1061 2 +DEAL::1062 2 +DEAL::1063 2 +DEAL::1064 2 +DEAL::1065 2 +DEAL::1066 2 +DEAL::1067 2 +DEAL::1068 2 +DEAL::1069 2 +DEAL::1070 2 +DEAL::1071 2 +DEAL::1072 2 +DEAL::1073 2 +DEAL::1074 2 +DEAL::1075 2 +DEAL::1076 2 +DEAL::1077 2 +DEAL::1078 2 +DEAL::1079 2 +DEAL::1080 2 +DEAL::1081 2 +DEAL::1082 2 +DEAL::1083 2 +DEAL::1084 2 +DEAL::1085 2 +DEAL::1086 2 +DEAL::1087 2 +DEAL::1088 2 +DEAL::1089 2 +DEAL::1090 2 +DEAL::1091 2 +DEAL::1092 2 +DEAL::1093 2 +DEAL::1094 2 +DEAL::1095 2 +DEAL::1096 2 +DEAL::1097 2 +DEAL::1098 2 +DEAL::1099 2 +DEAL::1100 2 +DEAL::1101 2 +DEAL::1102 2 +DEAL::1103 2 +DEAL::1104 2 +DEAL::1105 2 +DEAL::1106 2 +DEAL::1107 2 +DEAL::1108 2 +DEAL::1109 2 +DEAL::1110 2 +DEAL::1111 2 +DEAL::1112 2 +DEAL::1113 2 +DEAL::1114 2 +DEAL::1115 2 +DEAL::1116 2 +DEAL::1117 2 +DEAL::1118 2 +DEAL::1119 2 +DEAL::1120 2 +DEAL::1121 2 +DEAL::1122 2 +DEAL::1123 2 +DEAL::1124 2 +DEAL::1125 2 +DEAL::1126 2 +DEAL::1127 2 +DEAL::1128 2 +DEAL::1129 2 +DEAL::1130 2 +DEAL::1131 2 +DEAL::1132 2 +DEAL::1133 2 +DEAL::1134 2 +DEAL::1135 2 +DEAL::1136 2 +DEAL::1137 2 +DEAL::1138 2 +DEAL::1139 2 +DEAL::1140 2 +DEAL::1141 2 +DEAL::1142 2 +DEAL::1143 2 +DEAL::1144 2 +DEAL::1145 2 +DEAL::1146 2 +DEAL::1147 2 +DEAL::1148 1 +DEAL::1149 1 +DEAL::1150 1 +DEAL::1151 1 +DEAL::1152 1 +DEAL::1153 1 +DEAL::1154 1 +DEAL::1155 1 +DEAL::1156 1 +DEAL::1157 1 +DEAL::1158 1 +DEAL::1159 1 +DEAL::1160 1 +DEAL::1161 1 +DEAL::1162 1 +DEAL::1163 1 +DEAL::1164 1 +DEAL::1165 1 +DEAL::1166 1 +DEAL::1167 1 +DEAL::1168 1 +DEAL::1169 1 +DEAL::1170 1 +DEAL::1171 1 +DEAL::1172 1 +DEAL::1173 1 +DEAL::1174 1 +DEAL::1175 1 +DEAL::1176 1 +DEAL::1177 1 +DEAL::1178 1 +DEAL::1179 1 +DEAL::1180 1 +DEAL::1181 1 +DEAL::1182 1 +DEAL::1183 1 +DEAL::1184 1 +DEAL::1185 1 +DEAL::1186 1 +DEAL::1187 1 +DEAL::1188 1 +DEAL::1189 1 +DEAL::1190 1 +DEAL::1191 1 +DEAL::1192 1 +DEAL::1193 1 +DEAL::1194 1 +DEAL::1195 1 +DEAL::1196 1 +DEAL::1197 1 +DEAL::1198 1 +DEAL::1199 1 +DEAL::1200 1 +DEAL::1201 1 +DEAL::1202 1 +DEAL::1203 1 +DEAL::1204 1 +DEAL::1205 1 +DEAL::1206 1 +DEAL::1207 1 +DEAL::1208 1 +DEAL::1209 1 +DEAL::1210 1 +DEAL::1211 1 +DEAL::1212 1 +DEAL::1213 1 +DEAL::1214 1 +DEAL::1215 1 +DEAL::1216 1 +DEAL::1217 1 +DEAL::1218 1 +DEAL::1219 1 +DEAL::1220 1 +DEAL::1221 1 +DEAL::1222 1 +DEAL::1223 1 +DEAL::1224 1 +DEAL::1225 1 +DEAL::1226 1 +DEAL::1227 1 +DEAL::1228 1 +DEAL::1229 1 +DEAL::1230 1 +DEAL::1231 1 +DEAL::1232 1 +DEAL::1233 1 +DEAL::1234 1 +DEAL::1235 1 +DEAL::1236 1 +DEAL::1237 1 +DEAL::1238 1 +DEAL::1239 1 +DEAL::1240 1 +DEAL::1241 1 +DEAL::1242 1 +DEAL::1243 1 +DEAL::1244 1 +DEAL::1245 1 +DEAL::1246 1 +DEAL::1247 1 +DEAL::1248 1 +DEAL::1249 1 +DEAL::1250 1 +DEAL::1251 1 +DEAL::1252 1 +DEAL::1253 1 +DEAL::1254 1 +DEAL::1255 1 +DEAL::1256 1 +DEAL::1257 1 +DEAL::1258 1 +DEAL::1259 3 +DEAL::1260 1 +DEAL::1261 1 +DEAL::1262 1 +DEAL::1263 1 +DEAL::1264 1 +DEAL::1265 1 +DEAL::1266 1 +DEAL::1267 1 +DEAL::1268 1 +DEAL::1269 1 +DEAL::1270 1 +DEAL::1271 1 +DEAL::1272 3 +DEAL::1273 1 +DEAL::1274 1 +DEAL::1275 1 +DEAL::1276 1 +DEAL::1277 1 +DEAL::1278 1 +DEAL::1279 1 +DEAL::1280 1 +DEAL::1281 1 +DEAL::1282 1 +DEAL::1283 1 +DEAL::1284 1 +DEAL::1285 1 +DEAL::1286 3 +DEAL::1287 3 +DEAL::1288 1 +DEAL::1289 1 +DEAL::1290 1 +DEAL::1291 3 +DEAL::1292 3 +DEAL::1293 1 +DEAL::1294 1 +DEAL::1295 1 +DEAL::1296 1 +DEAL::1297 1 +DEAL::1298 1 +DEAL::1299 3 +DEAL::1300 3 +DEAL::1301 3 +DEAL::1302 1 +DEAL::1303 1 +DEAL::1304 1 +DEAL::1305 1 +DEAL::1306 1 +DEAL::1307 1 +DEAL::1308 1 +DEAL::1309 1 +DEAL::1310 1 +DEAL::1311 1 +DEAL::1312 3 +DEAL::1313 1 +DEAL::1314 1 +DEAL::1315 1 +DEAL::1316 1 +DEAL::1317 1 +DEAL::1318 3 +DEAL::1319 3 +DEAL::1320 3 +DEAL::1321 3 +DEAL::1322 1 +DEAL::1323 1 +DEAL::1324 1 +DEAL::1325 3 +DEAL::1326 3 +DEAL::1327 3 +DEAL::1328 1 +DEAL::1329 3 +DEAL::1330 3 +DEAL::1331 0 +DEAL::1332 1 +DEAL::1333 1 +DEAL::1334 1 +DEAL::1335 1 +DEAL::1336 3 +DEAL::1337 1 +DEAL::1338 3 +DEAL::1339 1 +DEAL::1340 1 +DEAL::1341 1 +DEAL::1342 3 +DEAL::1343 1 +DEAL::1344 3 +DEAL::1345 3 +DEAL::1346 3 +DEAL::1347 3 +DEAL::1348 3 +DEAL::1349 3 +DEAL::1350 3 +DEAL::1351 3 +DEAL::1352 3 +DEAL::1353 3 +DEAL::1354 1 +DEAL::1355 3 +DEAL::1356 1 +DEAL::1357 3 +DEAL::1358 1 +DEAL::1359 1 +DEAL::1360 3 +DEAL::1361 3 +DEAL::1362 3 +DEAL::1363 3 +DEAL::1364 0 +DEAL::1365 3 +DEAL::1366 3 +DEAL::1367 3 +DEAL::1368 4 +DEAL::1369 4 +DEAL::1370 4 +DEAL::1371 3 +DEAL::1372 1 +DEAL::1373 3 +DEAL::1374 1 +DEAL::1375 3 +DEAL::1376 1 +DEAL::1377 3 +DEAL::1378 0 +DEAL::1379 3 +DEAL::1380 4 +DEAL::1381 3 +DEAL::1382 3 +DEAL::1383 3 +DEAL::1384 3 +DEAL::1385 3 +DEAL::1386 3 +DEAL::1387 3 +DEAL::1388 4 +DEAL::1389 4 +DEAL::1390 3 +DEAL::1391 3 +DEAL::1392 3 +DEAL::1393 3 +DEAL::1394 3 +DEAL::1395 3 +DEAL::1396 1 +DEAL::1397 3 +DEAL::1398 3 +DEAL::1399 1 +DEAL::1400 3 +DEAL::1401 3 +DEAL::1402 1 +DEAL::1403 1 +DEAL::1404 1 +DEAL::1405 3 +DEAL::1406 1 +DEAL::1407 1 +DEAL::1408 3 +DEAL::1409 1 +DEAL::1410 1 +DEAL::1411 1 +DEAL::1412 3 +DEAL::1413 1 +DEAL::1414 1 +DEAL::1415 1 +DEAL::1416 1 +DEAL::1417 1 +DEAL::1418 3 +DEAL::1419 1 +DEAL::1420 3 +DEAL::1421 3 +DEAL::1422 3 +DEAL::1423 3 +DEAL::1424 3 +DEAL::1425 1 +DEAL::1426 3 +DEAL::1427 3 +DEAL::1428 3 +DEAL::1429 3 +DEAL::1430 3 +DEAL::1431 3 +DEAL::1432 3 +DEAL::1433 1 +DEAL::1434 1 +DEAL::1435 3 +DEAL::1436 3 +DEAL::1437 3 +DEAL::1438 3 +DEAL::1439 3 +DEAL::1440 3 +DEAL::1441 3 +DEAL::1442 3 +DEAL::1443 3 +DEAL::1444 3 +DEAL::1445 3 +DEAL::1446 3 +DEAL::1447 3 +DEAL::1448 3 +DEAL::1449 3 +DEAL::1450 3 +DEAL::1451 3 +DEAL::1452 3 +DEAL::1453 3 +DEAL::1454 3 +DEAL::1455 1 +DEAL::1456 3 +DEAL::1457 3 +DEAL::1458 3 +DEAL::1459 3 +DEAL::1460 1 +DEAL::1461 3 +DEAL::1462 3 +DEAL::1463 3 +DEAL::1464 3 +DEAL::1465 3 +DEAL::1466 3 +DEAL::1467 3 +DEAL::1468 3 +DEAL::1469 3 +DEAL::1470 4 +DEAL::1471 3 +DEAL::1472 4 +DEAL::1473 4 +DEAL::1474 4 +DEAL::1475 4 +DEAL::1476 4 +DEAL::1477 3 +DEAL::1478 4 +DEAL::1479 4 +DEAL::1480 4 +DEAL::1481 4 +DEAL::1482 4 +DEAL::1483 4 +DEAL::1484 4 +DEAL::1485 4 +DEAL::1486 4 +DEAL::1487 4 +DEAL::1488 4 +DEAL::1489 4 +DEAL::1490 4 +DEAL::1491 4 +DEAL::1492 4 +DEAL::1493 4 +DEAL::1494 4 +DEAL::1495 4 +DEAL::1496 4 +DEAL::1497 4 +DEAL::1498 4 +DEAL::1499 4 +DEAL::1500 4 +DEAL::1501 4 +DEAL::1502 4 +DEAL::1503 4 +DEAL::1504 4 +DEAL::1505 4 +DEAL::1506 4 +DEAL::1507 4 +DEAL::1508 4 +DEAL::1509 4 +DEAL::1510 4 +DEAL::1511 4 +DEAL::1512 4 +DEAL::1513 4 +DEAL::1514 4 +DEAL::1515 4 +DEAL::1516 3 +DEAL::1517 4 +DEAL::1518 4 +DEAL::1519 4 +DEAL::1520 4 +DEAL::1521 4 +DEAL::1522 4 +DEAL::1523 4 +DEAL::1524 4 +DEAL::1525 4 +DEAL::1526 4 +DEAL::1527 4 +DEAL::1528 4 +DEAL::1529 4 +DEAL::1530 4 +DEAL::1531 4 +DEAL::1532 4 +DEAL::1533 4 +DEAL::1534 4 +DEAL::1535 4 +DEAL::1536 4 +DEAL::1537 4 +DEAL::1538 4 +DEAL::1539 4 +DEAL::1540 4 +DEAL::1541 4 +DEAL::1542 4 +DEAL::1543 4 +DEAL::1544 4 +DEAL::1545 4 +DEAL::1546 4 +DEAL::1547 4 +DEAL::1548 4 +DEAL::1549 4 +DEAL::1550 4 +DEAL::1551 4 +DEAL::1552 4 +DEAL::1553 4 +DEAL::1554 4 +DEAL::1555 4 +DEAL::1556 4 +DEAL::1557 4 +DEAL::1558 4 +DEAL::1559 4 +DEAL::1560 4 +DEAL::1561 4 +DEAL::1562 4 +DEAL::1563 4 +DEAL::1564 4 +DEAL::1565 4 +DEAL::1566 4 +DEAL::1567 4 +DEAL::1568 4 +DEAL::1569 4 +DEAL::1570 4 +DEAL::1571 4 +DEAL::1572 4 +DEAL::1573 4 +DEAL::1574 4 +DEAL::1575 4 +DEAL::1576 4 +DEAL::1577 4 +DEAL::1578 4 +DEAL::1579 4 +DEAL::1580 4 +DEAL::1581 4 +DEAL::1582 4 +DEAL::1583 0 +DEAL::1584 0 +DEAL::1585 0 +DEAL::1586 0 +DEAL::1587 0 +DEAL::1588 0 +DEAL::1589 0 +DEAL::1590 0 +DEAL::1591 0 +DEAL::1592 0 +DEAL::1593 0 +DEAL::1594 0 +DEAL::1595 0 +DEAL::1596 0 +DEAL::1597 0 +DEAL::1598 0 +DEAL::1599 0 +DEAL::1600 0 +DEAL::1601 0 +DEAL::1602 0 +DEAL::1603 0 +DEAL::1604 0 +DEAL::1605 0 +DEAL::1606 0 +DEAL::1607 0 +DEAL::1608 0 +DEAL::1609 0 +DEAL::1610 0 +DEAL::1611 0 +DEAL::1612 0 +DEAL::1613 0 +DEAL::1614 0 +DEAL::1615 0 +DEAL::1616 0 +DEAL::1617 0 +DEAL::1618 0 +DEAL::1619 0 +DEAL::1620 0 +DEAL::1621 0 +DEAL::1622 0 +DEAL::1623 0 +DEAL::1624 0 +DEAL::1625 0 +DEAL::1626 0 +DEAL::1627 0 +DEAL::1628 0 +DEAL::1629 0 +DEAL::1630 0 +DEAL::1631 0 +DEAL::1632 0 +DEAL::1633 0 +DEAL::1634 0 +DEAL::1635 0 +DEAL::1636 0 +DEAL::1637 0 +DEAL::1638 0 +DEAL::1639 0 +DEAL::1640 0 +DEAL::1641 0 +DEAL::1642 0 +DEAL::1643 0 +DEAL::1644 0 +DEAL::1645 0 +DEAL::1646 0 +DEAL::1647 0 +DEAL::1648 0 +DEAL::1649 0 +DEAL::1650 0 +DEAL::1651 0 +DEAL::1652 0 +DEAL::1653 0 +DEAL::1654 0 +DEAL::1655 0 +DEAL::1656 0 +DEAL::1657 0 +DEAL::1658 0 +DEAL::1659 0 +DEAL::1660 0 +DEAL::1661 0 +DEAL::1662 0 +DEAL::1663 0 +DEAL::1664 0 +DEAL::1665 0 +DEAL::1666 0 +DEAL::1667 0 +DEAL::1668 0 +DEAL::1669 0 +DEAL::1670 0 +DEAL::1671 0 +DEAL::1672 0 +DEAL::1673 0 +DEAL::1674 0 +DEAL::1675 0 +DEAL::1676 0 +DEAL::1677 0 +DEAL::1678 0 +DEAL::1679 0 +DEAL::1680 0 +DEAL::1681 0 +DEAL::1682 0 +DEAL::1683 0 +DEAL::1684 0 +DEAL::1685 0 +DEAL::1686 0 +DEAL::1687 0 +DEAL::1688 4 +DEAL::1689 0 +DEAL::1690 4 +DEAL::1691 0 +DEAL::1692 4 +DEAL::1693 0 +DEAL::1694 0 +DEAL::1695 0 +DEAL::1696 2 +DEAL::1697 0 +DEAL::1698 0 +DEAL::1699 0 +DEAL::1700 2 +DEAL::1701 0 +DEAL::1702 0 +DEAL::1703 0 +DEAL::1704 0 +DEAL::1705 4 +DEAL::1706 0 +DEAL::1707 0 +DEAL::1708 0 +DEAL::1709 0 +DEAL::1710 0 +DEAL::1711 0 +DEAL::1712 0 +DEAL::1713 0 +DEAL::1714 0 +DEAL::1715 0 +DEAL::1716 4 +DEAL::1717 4 +DEAL::1718 0 +DEAL::1719 2 +DEAL::1720 0 +DEAL::1721 0 +DEAL::1722 0 +DEAL::1723 0 +DEAL::1724 0 +DEAL::1725 0 +DEAL::1726 0 +DEAL::1727 0 +DEAL::1728 0 +DEAL::1729 0 +DEAL::1730 0 +DEAL::1731 0 +DEAL::1732 0 +DEAL::1733 0 +DEAL::1734 0 +DEAL::1735 0 +DEAL::1736 0 +DEAL::1737 0 +DEAL::1738 4 +DEAL::1739 0 +DEAL::1740 0 +DEAL::1741 0 +DEAL::1742 4 +DEAL::1743 0 +DEAL::1744 0 +DEAL::1745 0 +DEAL::1746 0 +DEAL::1747 0 +DEAL::1748 4 +DEAL::1749 0 +DEAL::1750 0 +DEAL::1751 0 +DEAL::1752 0 +DEAL::1753 0 +DEAL::1754 0 +DEAL::1755 0 +DEAL::1756 4 +DEAL::1757 4 +DEAL::1758 4 +DEAL::1759 0 +DEAL::1760 0 +DEAL::1761 0 +DEAL::1762 0 +DEAL::1763 2 +DEAL::1764 2 +DEAL::1765 2 +DEAL::1766 4 +DEAL::1767 4 +DEAL::1768 2 +DEAL::1769 2 +DEAL::1770 2 +DEAL::1771 2 +DEAL::1772 2 +DEAL::1773 4 +DEAL::1774 2 +DEAL::1775 2 +DEAL::1776 2 +DEAL::1777 2 +DEAL::1778 2 +DEAL::1779 2 +DEAL::1780 2 +DEAL::1781 2 +DEAL::1782 2 +DEAL::1783 2 +DEAL::1784 2 +DEAL::1785 2 +DEAL::1786 2 +DEAL::1787 2 +DEAL::1788 2 +DEAL::1789 2 +DEAL::1790 2 +DEAL::1791 2 +DEAL::1792 2 +DEAL::1793 2 +DEAL::1794 2 +DEAL::1795 2 +DEAL::1796 2 +DEAL::1797 2 +DEAL::1798 2 +DEAL::1799 2 +DEAL::1800 2 +DEAL::1801 4 +DEAL::1802 4 +DEAL::1803 4 +DEAL::1804 2 +DEAL::1805 2 +DEAL::1806 2 +DEAL::1807 4 +DEAL::1808 4 +DEAL::1809 4 +DEAL::1810 4 +DEAL::1811 2 +DEAL::1812 2 +DEAL::1813 2 +DEAL::1814 2 +DEAL::1815 2 +DEAL::1816 2 +DEAL::1817 2 +DEAL::1818 2 +DEAL::1819 2 +DEAL::1820 2 +DEAL::1821 2 +DEAL::1822 2 +DEAL::1823 2 +DEAL::1824 2 +DEAL::1825 2 +DEAL::1826 2 +DEAL::1827 2 +DEAL::1828 4 +DEAL::1829 2 +DEAL::1830 4 +DEAL::1831 4 +DEAL::1832 4 +DEAL::1833 4 +DEAL::1834 2 +DEAL::1835 2 +DEAL::1836 2 +DEAL::1837 2 +DEAL::1838 2 +DEAL::1839 2 +DEAL::1840 2 +DEAL::1841 4 +DEAL::1842 4 +DEAL::1843 0 +DEAL::1844 4 +DEAL::1845 4 +DEAL::1846 4 +DEAL::1847 2 +DEAL::1848 2 +DEAL::1849 2 +DEAL::1850 2 +DEAL::1851 2 +DEAL::1852 2 +DEAL::1853 2 +DEAL::1854 2 +DEAL::1855 2 +DEAL::1856 2 +DEAL::1857 2 +DEAL::1858 2 +DEAL::1859 2 +DEAL::1860 2 +DEAL::1861 2 +DEAL::1862 2 +DEAL::1863 4 +DEAL::1864 2 +DEAL::1865 2 +DEAL::1866 2 +DEAL::1867 4 +DEAL::1868 4 +DEAL::1869 2 +DEAL::1870 2 +DEAL::1871 2 +DEAL::1872 4 +DEAL::1873 4 +DEAL::1874 2 +DEAL::1875 4 +DEAL::1876 2 +DEAL::1877 4 +DEAL::1878 4 +DEAL::1879 4 +DEAL::1880 4 +DEAL::1881 4 +DEAL::1882 4 +DEAL::1883 2 +DEAL::1884 4 +DEAL::1885 4 +DEAL::1886 4 +DEAL::1887 4 +DEAL::1888 2 +DEAL::1889 4 +DEAL::1890 2 +DEAL::1891 2 +DEAL::1892 2 +DEAL::1893 2 +DEAL::1894 2 +DEAL::1895 4 +DEAL::1896 4 +DEAL::1897 4 +DEAL::1898 4 +DEAL::1899 4 +DEAL::1900 4 +DEAL::1901 4 +DEAL::1902 4 +DEAL::1903 4 +DEAL::1904 4 +DEAL::1905 4 +DEAL::1906 4 +DEAL::1907 4 +DEAL::1908 4 +DEAL::1909 4 +DEAL::1910 2 +DEAL::1911 4 +DEAL::1912 2 +DEAL::1913 4 +DEAL::1914 4 +DEAL::1915 4 +DEAL::1916 4 +DEAL::1917 2 +DEAL::1918 2 +DEAL::1919 2 +DEAL::1920 2 +DEAL::1921 2 +DEAL::1922 2 +DEAL::1923 2 +DEAL::1924 2 +DEAL::1925 2 +DEAL::1926 2 +DEAL::1927 2 +DEAL::1928 2 +DEAL::1929 2 +DEAL::1930 2 +DEAL::1931 2 +DEAL::1932 2 +DEAL::1933 2 +DEAL::1934 2 +DEAL::1935 2 +DEAL::1936 2 +DEAL::1937 2 +DEAL::1938 2 +DEAL::1939 2 +DEAL::1940 2 +DEAL::1941 2 +DEAL::1942 2 +DEAL::1943 2 +DEAL::1944 2 +DEAL::1945 2 +DEAL::1946 2 +DEAL::1947 2 +DEAL::1948 2 +DEAL::1949 2 +DEAL::1950 2 +DEAL::1951 2 +DEAL::1952 2 +DEAL::1953 2 +DEAL::1954 2 +DEAL::1955 2 +DEAL::1956 2 +DEAL::1957 2 +DEAL::1958 2 +DEAL::1959 2 +DEAL::1960 2 +DEAL::1961 2 +DEAL::1962 2 +DEAL::1963 2 +DEAL::1964 2 +DEAL::1965 2 +DEAL::1966 2 +DEAL::1967 2 +DEAL::1968 2 +DEAL::1969 2 +DEAL::1970 2 +DEAL::1971 2 +DEAL::1972 2 +DEAL::1973 2 +DEAL::1974 2 +DEAL::1975 2 +DEAL::1976 2 +DEAL::1977 2 +DEAL::1978 2 +DEAL::1979 2 +DEAL::1980 2 +DEAL::1981 2 +DEAL::1982 2 +DEAL::1983 2 +DEAL::1984 2 +DEAL::1985 2 +DEAL::1986 2 +DEAL::1987 2 +DEAL::1988 2 +DEAL::1989 2 +DEAL::1990 2 +DEAL::1991 2 +DEAL::1992 2 +DEAL::1993 0 +DEAL::1994 4 +DEAL::1995 4 +DEAL::1996 4 +DEAL::1997 4 +DEAL::1998 4 +DEAL::1999 4 +DEAL::2000 4 +DEAL::2001 0 +DEAL::2002 0 +DEAL::2003 0 +DEAL::2004 3 +DEAL::2005 0 +DEAL::2006 4 +DEAL::2007 4 +DEAL::2008 4 +DEAL::2009 4 +DEAL::2010 4 +DEAL::2011 4 +DEAL::2012 4 +DEAL::2013 4 +DEAL::2014 4 +DEAL::2015 4 +DEAL::2016 4 +DEAL::2017 4 +DEAL::2018 4 +DEAL::2019 4 +DEAL::2020 4 +DEAL::2021 3 +DEAL::2022 4 +DEAL::2023 4 +DEAL::2024 4 +DEAL::2025 3 +DEAL::2026 3 +DEAL::2027 4 +DEAL::2028 4 +DEAL::2029 3 +DEAL::2030 3 +DEAL::2031 3 +DEAL::2032 3 +DEAL::2033 3 +DEAL::2034 3 +DEAL::2035 3 +DEAL::2036 3 +DEAL::2037 4 +DEAL::2038 4 +DEAL::2039 3 +DEAL::2040 4 +DEAL::2041 3 +DEAL::2042 3 +DEAL::2043 3 +DEAL::2044 3 +DEAL::2045 4 +DEAL::2046 4 +DEAL::2047 4 +DEAL::2048 4 +DEAL::2049 4 +DEAL::2050 4 +DEAL::2051 4 +DEAL::2052 4 +DEAL::2053 4 +DEAL::2054 4 +DEAL::2055 4 +DEAL::2056 4 +DEAL::2057 4 +DEAL::2058 4 +DEAL::2059 4 +DEAL::2060 4 +DEAL::2061 4 +DEAL::2062 3 +DEAL::2063 4 +DEAL::2064 4 +DEAL::2065 4 +DEAL::2066 4 +DEAL::2067 4 +DEAL::2068 3 +DEAL::2069 3 +DEAL::2070 3 +DEAL::2071 3 +DEAL::2072 4 +DEAL::2073 4 +DEAL::2074 3 +DEAL::2075 4 +DEAL::2076 4 +DEAL::2077 4 +DEAL::2078 4 +DEAL::2079 4 +DEAL::2080 4 +DEAL::2081 4 +DEAL::2082 4 +DEAL::2083 4 +DEAL::2084 3 +DEAL::2085 3 +DEAL::2086 3 +DEAL::2087 3 +DEAL::2088 3 +DEAL::2089 3 +DEAL::2090 3 +DEAL::2091 3 +DEAL::2092 3 +DEAL::2093 3 +DEAL::2094 3 +DEAL::2095 3 +DEAL::2096 3 +DEAL::2097 3 +DEAL::2098 3 +DEAL::2099 3 +DEAL::2100 3 +DEAL::2101 3 +DEAL::2102 3 +DEAL::2103 3 +DEAL::2104 3 +DEAL::2105 3 +DEAL::2106 3 +DEAL::2107 3 +DEAL::2108 3 +DEAL::2109 3 +DEAL::2110 3 +DEAL::2111 3 +DEAL::2112 3 +DEAL::2113 3 +DEAL::2114 3 +DEAL::2115 3 +DEAL::2116 3 +DEAL::2117 3 +DEAL::2118 3 +DEAL::2119 3 +DEAL::2120 3 +DEAL::2121 3 +DEAL::2122 3 +DEAL::2123 3 +DEAL::2124 3 +DEAL::2125 3 +DEAL::2126 3 +DEAL::2127 3 +DEAL::2128 3 +DEAL::2129 3 +DEAL::2130 3 +DEAL::2131 3 +DEAL::2132 3 +DEAL::2133 3 +DEAL::2134 3 +DEAL::2135 3 +DEAL::2136 3 +DEAL::2137 3 +DEAL::2138 3 +DEAL::2139 3 +DEAL::2140 3 +DEAL::2141 3 +DEAL::2142 3 +DEAL::2143 4 +DEAL::2144 3 +DEAL::2145 3 +DEAL::2146 3 +DEAL::2147 3 +DEAL::2148 3 +DEAL::2149 3 +DEAL::2150 3 +DEAL::2151 3 +DEAL::2152 3 +DEAL::2153 3 +DEAL::2154 3 +DEAL::2155 3 +DEAL::2156 3 +DEAL::2157 3 +DEAL::2158 3 +DEAL::2159 3 +DEAL::2160 3 +DEAL::2161 3 +DEAL::2162 3 +DEAL::2163 3 +DEAL::2164 3 +DEAL::2165 3 +DEAL::2166 3 +DEAL::2167 3 +DEAL::2168 3 +DEAL::2169 3 +DEAL::2170 3 +DEAL::2171 3 +DEAL::2172 3 +DEAL::2173 3 +DEAL::2174 3 +DEAL::2175 3 +DEAL::2176 3 +DEAL::2177 3 +DEAL::2178 3 +DEAL::2179 3 +DEAL::2180 3 +DEAL::2181 3 +DEAL::2182 3 +DEAL::2183 3 +DEAL::2184 3 +DEAL::2185 3 +DEAL::2186 3 +DEAL::2187 3 +DEAL::2188 3 +DEAL::2189 3 +DEAL::2190 3 +DEAL::2191 3 +DEAL::2192 4 +DEAL::2193 3 +DEAL::2194 3 +DEAL::2195 3 +DEAL::2196 4 +DEAL::2197 3 +DEAL::2198 3 +DEAL::2199 3 +DEAL::2200 3 +DEAL::2201 3 +DEAL::2202 3 +DEAL::2203 3 +DEAL::2204 3 +DEAL::2205 3 +DEAL::2206 3 +DEAL::2207 3 +DEAL::2208 3 +DEAL::2209 3 +DEAL::2210 4 +DEAL::2211 3 +DEAL::2212 3 +DEAL::2213 3 +DEAL::2214 4 +DEAL::2215 3 +DEAL::2216 3 +DEAL::2217 3 +DEAL::2218 3 +DEAL::2219 4 +DEAL::2220 3 +DEAL::2221 3 +DEAL::2222 3 +DEAL::2223 3 +DEAL::2224 3 +DEAL::2225 3 +DEAL::2226 3 +DEAL::2227 3 +DEAL::2228 4 +DEAL::2229 4 +DEAL::2230 4 +DEAL::2231 3 +DEAL::2232 4 +DEAL::2233 3 +DEAL::2234 4 +DEAL::2235 3 +DEAL::2236 3 +DEAL::2237 4 +DEAL::2238 3 +DEAL::2239 4 +DEAL::2240 4 +DEAL::2241 3 +DEAL::2242 3 +DEAL::2243 3 +DEAL::2244 4 +DEAL::2245 3 +DEAL::2246 4 +DEAL::2247 3 +DEAL::2248 4 +DEAL::2249 4 +DEAL::2250 4 +DEAL::2251 4 +DEAL::2252 4 +DEAL::2253 3 +DEAL::2254 3 +DEAL::2255 4 +DEAL::2256 4 +DEAL::2257 4 +DEAL::2258 4 +DEAL::2259 4 +DEAL::2260 4 +DEAL::2261 4 +DEAL::2262 4 +DEAL::2263 3 +DEAL::2264 4 +DEAL::2265 4 +DEAL::2266 4 +DEAL::2267 4 +DEAL::2268 4 +DEAL::2269 4 +DEAL::2270 4 +DEAL::2271 4 +DEAL::2272 4 +DEAL::2273 4 +DEAL::2274 4 +DEAL::2275 4 +DEAL::2276 4 +DEAL::2277 4 +DEAL::2278 4 +DEAL::2279 4 +DEAL::2280 4 +DEAL::2281 4 +DEAL::2282 4 +DEAL::2283 4 +DEAL::2284 4 +DEAL::2285 4 +DEAL::2286 4 +DEAL::2287 4 +DEAL::2288 4 +DEAL::2289 4 +DEAL::2290 3 +DEAL::2291 4 +DEAL::2292 4 +DEAL::2293 4 +DEAL::2294 4 +DEAL::2295 4 +DEAL::2296 4 +DEAL::2297 4 +DEAL::2298 4 +DEAL::2299 4 +DEAL::2300 4 +DEAL::2301 4 +DEAL::2302 4 +DEAL::2303 4 +DEAL::2304 4 +DEAL::2305 4 +DEAL::2306 4 +DEAL::2307 4 +DEAL::2308 4 +DEAL::2309 4 +DEAL::2310 4 +DEAL::2311 4 +DEAL::2312 4 +DEAL::2313 4 +DEAL::2314 4 +DEAL::2315 4 +DEAL::2316 4 +DEAL::2317 4 +DEAL::2318 4 +DEAL::2319 4 +DEAL::2320 4 +DEAL::2321 4 +DEAL::2322 4 +DEAL::2323 4 +DEAL::2324 4 +DEAL::2325 4 +DEAL::2326 4 +DEAL::2327 4 +DEAL::2328 4 +DEAL::2329 4 +DEAL::2330 4 +DEAL::2331 4 +DEAL::2332 4 +DEAL::2333 4 +DEAL::2334 0 +DEAL::2335 0 +DEAL::2336 0 +DEAL::2337 0 +DEAL::2338 0 +DEAL::2339 0 +DEAL::2340 0 +DEAL::2341 0 +DEAL::2342 0 +DEAL::2343 0 +DEAL::2344 0 +DEAL::2345 0 +DEAL::2346 0 +DEAL::2347 0 +DEAL::2348 0 +DEAL::2349 0 +DEAL::2350 0 +DEAL::2351 0 +DEAL::2352 1 +DEAL::2353 1 +DEAL::2354 1 +DEAL::2355 0 +DEAL::2356 1 +DEAL::2357 0 +DEAL::2358 0 +DEAL::2359 0 +DEAL::2360 0 +DEAL::2361 0 +DEAL::2362 1 +DEAL::2363 1 +DEAL::2364 1 +DEAL::2365 0 +DEAL::2366 0 +DEAL::2367 0 +DEAL::2368 0 +DEAL::2369 0 +DEAL::2370 0 +DEAL::2371 0 +DEAL::2372 0 +DEAL::2373 0 +DEAL::2374 0 +DEAL::2375 0 +DEAL::2376 1 +DEAL::2377 1 +DEAL::2378 0 +DEAL::2379 0 +DEAL::2380 0 +DEAL::2381 0 +DEAL::2382 0 +DEAL::2383 0 +DEAL::2384 0 +DEAL::2385 0 +DEAL::2386 0 +DEAL::2387 0 +DEAL::2388 0 +DEAL::2389 0 +DEAL::2390 0 +DEAL::2391 0 +DEAL::2392 0 +DEAL::2393 0 +DEAL::2394 0 +DEAL::2395 0 +DEAL::2396 0 +DEAL::2397 0 +DEAL::2398 0 +DEAL::2399 0 +DEAL::2400 0 +DEAL::2401 0 +DEAL::2402 0 +DEAL::2403 0 +DEAL::2404 0 +DEAL::2405 0 +DEAL::2406 0 +DEAL::2407 0 +DEAL::2408 0 +DEAL::2409 1 +DEAL::2410 0 +DEAL::2411 0 +DEAL::2412 0 +DEAL::2413 1 +DEAL::2414 0 +DEAL::2415 0 +DEAL::2416 1 +DEAL::2417 0 +DEAL::2418 0 +DEAL::2419 1 +DEAL::2420 0 +DEAL::2421 1 +DEAL::2422 0 +DEAL::2423 0 +DEAL::2424 0 +DEAL::2425 1 +DEAL::2426 0 +DEAL::2427 1 +DEAL::2428 1 +DEAL::2429 1 +DEAL::2430 1 +DEAL::2431 1 +DEAL::2432 1 +DEAL::2433 1 +DEAL::2434 0 +DEAL::2435 1 +DEAL::2436 1 +DEAL::2437 1 +DEAL::2438 1 +DEAL::2439 1 +DEAL::2440 1 +DEAL::2441 1 +DEAL::2442 1 +DEAL::2443 1 +DEAL::2444 0 +DEAL::2445 0 +DEAL::2446 0 +DEAL::2447 0 +DEAL::2448 0 +DEAL::2449 0 +DEAL::2450 0 +DEAL::2451 0 +DEAL::2452 0 +DEAL::2453 0 +DEAL::2454 0 +DEAL::2455 0 +DEAL::2456 0 +DEAL::2457 0 +DEAL::2458 0 +DEAL::2459 0 +DEAL::2460 0 +DEAL::2461 0 +DEAL::2462 0 +DEAL::2463 0 +DEAL::2464 0 +DEAL::2465 0 +DEAL::2466 0 +DEAL::2467 0 +DEAL::2468 0 +DEAL::2469 0 +DEAL::2470 1 +DEAL::2471 0 +DEAL::2472 0 +DEAL::2473 0 +DEAL::2474 1 +DEAL::2475 0 +DEAL::2476 0 +DEAL::2477 0 +DEAL::2478 0 +DEAL::2479 0 +DEAL::2480 0 +DEAL::2481 0 +DEAL::2482 0 +DEAL::2483 3 +DEAL::2484 0 +DEAL::2485 0 +DEAL::2486 1 +DEAL::2487 0 +DEAL::2488 1 +DEAL::2489 0 +DEAL::2490 0 +DEAL::2491 3 +DEAL::2492 1 +DEAL::2493 0 +DEAL::2494 0 +DEAL::2495 3 +DEAL::2496 1 +DEAL::2497 1 +DEAL::2498 1 +DEAL::2499 1 +DEAL::2500 1 +DEAL::2501 1 +DEAL::2502 3 +DEAL::2503 0 +DEAL::2504 0 +DEAL::2505 3 +DEAL::2506 0 +DEAL::2507 0 +DEAL::2508 0 +DEAL::2509 0 +DEAL::2510 0 +DEAL::2511 3 +DEAL::2512 0 +DEAL::2513 0 +DEAL::2514 3 +DEAL::2515 3 +DEAL::2516 0 +DEAL::2517 0 +DEAL::2518 3 +DEAL::2519 4 +DEAL::2520 3 +DEAL::2521 1 +DEAL::2522 1 +DEAL::2523 1 +DEAL::2524 1 +DEAL::2525 1 +DEAL::2526 1 +DEAL::2527 1 +DEAL::2528 1 +DEAL::2529 1 +DEAL::2530 0 +DEAL::2531 1 +DEAL::2532 1 +DEAL::2533 1 +DEAL::2534 1 +DEAL::2535 1 +DEAL::2536 1 +DEAL::2537 1 +DEAL::2538 1 +DEAL::2539 1 +DEAL::2540 1 +DEAL::2541 1 +DEAL::2542 1 +DEAL::2543 1 +DEAL::2544 1 +DEAL::2545 1 +DEAL::2546 1 +DEAL::2547 1 +DEAL::2548 1 +DEAL::2549 1 +DEAL::2550 1 +DEAL::2551 1 +DEAL::2552 1 +DEAL::2553 1 +DEAL::2554 1 +DEAL::2555 1 +DEAL::2556 1 +DEAL::2557 1 +DEAL::2558 1 +DEAL::2559 1 +DEAL::2560 1 +DEAL::2561 1 +DEAL::2562 1 +DEAL::2563 1 +DEAL::2564 1 +DEAL::2565 1 +DEAL::2566 1 +DEAL::2567 0 +DEAL::2568 1 +DEAL::2569 1 +DEAL::2570 1 +DEAL::2571 1 +DEAL::2572 1 +DEAL::2573 1 +DEAL::2574 1 +DEAL::2575 1 +DEAL::2576 1 +DEAL::2577 1 +DEAL::2578 0 +DEAL::2579 1 +DEAL::2580 0 +DEAL::2581 1 +DEAL::2582 0 +DEAL::2583 0 +DEAL::2584 0 +DEAL::2585 0 +DEAL::2586 1 +DEAL::2587 1 +DEAL::2588 1 +DEAL::2589 1 +DEAL::2590 1 +DEAL::2591 1 +DEAL::2592 0 +DEAL::2593 0 +DEAL::2594 1 +DEAL::2595 0 +DEAL::2596 1 +DEAL::2597 1 +DEAL::2598 1 +DEAL::2599 1 +DEAL::2600 1 +DEAL::2601 1 +DEAL::2602 1 +DEAL::2603 1 +DEAL::2604 1 +DEAL::2605 1 +DEAL::2606 1 +DEAL::2607 1 +DEAL::2608 2 +DEAL::2609 1 +DEAL::2610 1 +DEAL::2611 1 +DEAL::2612 1 +DEAL::2613 1 +DEAL::2614 1 +DEAL::2615 1 +DEAL::2616 1 +DEAL::2617 1 +DEAL::2618 1 +DEAL::2619 1 +DEAL::2620 1 +DEAL::2621 2 +DEAL::2622 1 +DEAL::2623 1 +DEAL::2624 1 +DEAL::2625 1 +DEAL::2626 1 +DEAL::2627 2 +DEAL::2628 1 +DEAL::2629 1 +DEAL::2630 1 +DEAL::2631 1 +DEAL::2632 1 +DEAL::2633 1 +DEAL::2634 1 +DEAL::2635 1 +DEAL::2636 1 +DEAL::2637 1 +DEAL::2638 1 +DEAL::2639 1 +DEAL::2640 1 +DEAL::2641 1 +DEAL::2642 1 +DEAL::2643 1 +DEAL::2644 1 +DEAL::2645 1 +DEAL::2646 1 +DEAL::2647 1 +DEAL::2648 1 +DEAL::2649 2 +DEAL::2650 1 +DEAL::2651 2 +DEAL::2652 1 +DEAL::2653 1 +DEAL::2654 1 +DEAL::2655 2 +DEAL::2656 2 +DEAL::2657 2 +DEAL::2658 2 +DEAL::2659 1 +DEAL::2660 2 +DEAL::2661 2 +DEAL::2662 1 +DEAL::2663 2 +DEAL::2664 2 +DEAL::2665 1 +DEAL::2666 1 +DEAL::2667 1 +DEAL::2668 1 +DEAL::2669 1 +DEAL::2670 1 +DEAL::2671 1 +DEAL::2672 1 +DEAL::2673 1 +DEAL::2674 1 +DEAL::2675 1 +DEAL::2676 1 +DEAL::2677 1 +DEAL::2678 1 +DEAL::2679 1 +DEAL::2680 1 +DEAL::2681 1 +DEAL::2682 1 +DEAL::2683 1 +DEAL::2684 1 +DEAL::2685 1 +DEAL::2686 1 +DEAL::2687 1 +DEAL::2688 1 +DEAL::2689 1 +DEAL::2690 1 +DEAL::2691 1 +DEAL::2692 1 +DEAL::2693 1 +DEAL::2694 1 +DEAL::2695 1 +DEAL::2696 1 +DEAL::2697 1 +DEAL::2698 1 +DEAL::2699 1 +DEAL::2700 2 +DEAL::2701 1 +DEAL::2702 1 +DEAL::2703 1 +DEAL::2704 1 +DEAL::2705 1 +DEAL::2706 1 +DEAL::2707 1 +DEAL::2708 1 +DEAL::2709 1 +DEAL::2710 1 +DEAL::2711 1 +DEAL::2712 2 +DEAL::2713 1 +DEAL::2714 1 +DEAL::2715 1 +DEAL::2716 2 +DEAL::2717 1 +DEAL::2718 1 +DEAL::2719 1 +DEAL::2720 1 +DEAL::2721 3 +DEAL::2722 1 +DEAL::2723 1 +DEAL::2724 1 +DEAL::2725 1 +DEAL::2726 1 +DEAL::2727 1 +DEAL::2728 1 +DEAL::2729 1 +DEAL::2730 1 +DEAL::2731 1 +DEAL::2732 1 +DEAL::2733 1 +DEAL::2734 1 +DEAL::2735 1 +DEAL::2736 1 +DEAL::2737 1 +DEAL::2738 1 +DEAL::2739 1 +DEAL::2740 1 +DEAL::2741 1 +DEAL::2742 1 +DEAL::2743 1 +DEAL::2744 1 +DEAL::2745 1 +DEAL::2746 1 +DEAL::2747 1 +DEAL::2748 1 +DEAL::2749 1 +DEAL::2750 1 +DEAL::2751 1 +DEAL::2752 1 +DEAL::2753 3 +DEAL::2754 1 +DEAL::2755 1 +DEAL::2756 1 +DEAL::2757 1 +DEAL::2758 1 +DEAL::2759 1 +DEAL::2760 1 +DEAL::2761 1 +DEAL::2762 1 +DEAL::2763 1 +DEAL::2764 1 +DEAL::2765 1 +DEAL::2766 1 +DEAL::2767 1 +DEAL::2768 1 +DEAL::2769 1 +DEAL::2770 1 +DEAL::2771 1 +DEAL::2772 3 +DEAL::2773 3 +DEAL::2774 1 +DEAL::2775 1 +DEAL::2776 1 +DEAL::2777 1 +DEAL::2778 3 +DEAL::2779 1 +DEAL::2780 1 +DEAL::2781 1 +DEAL::2782 1 +DEAL::2783 1 +DEAL::2784 1 +DEAL::2785 1 +DEAL::2786 3 +DEAL::2787 1 +DEAL::2788 1 +DEAL::2789 1 +DEAL::2790 1 +DEAL::2791 1 +DEAL::2792 1 +DEAL::2793 3 +DEAL::2794 1 +DEAL::2795 1 +DEAL::2796 3 +DEAL::2797 3 +DEAL::2798 3 +DEAL::2799 3 +DEAL::2800 3 +DEAL::2801 3 +DEAL::2802 3 +DEAL::2803 3 +DEAL::2804 3 +DEAL::2805 3 +DEAL::2806 1 +DEAL::2807 1 +DEAL::2808 3 +DEAL::2809 3 +DEAL::2810 3 +DEAL::2811 1 +DEAL::2812 1 +DEAL::2813 1 +DEAL::2814 1 +DEAL::2815 1 +DEAL::2816 3 +DEAL::2817 3 +DEAL::2818 3 +DEAL::2819 1 +DEAL::2820 3 +DEAL::2821 1 +DEAL::2822 3 +DEAL::2823 1 +DEAL::2824 3 +DEAL::2825 1 +DEAL::2826 1 +DEAL::2827 1 +DEAL::2828 3 +DEAL::2829 3 +DEAL::2830 3 +DEAL::2831 1 +DEAL::2832 3 +DEAL::2833 1 +DEAL::2834 3 +DEAL::2835 1 +DEAL::2836 1 +DEAL::2837 1 +DEAL::2838 1 +DEAL::2839 1 +DEAL::2840 3 +DEAL::2841 3 +DEAL::2842 3 +DEAL::2843 3 +DEAL::2844 3 +DEAL::2845 3 +DEAL::2846 3 +DEAL::2847 3 +DEAL::2848 3 +DEAL::2849 3 +DEAL::2850 3 +DEAL::2851 3 +DEAL::2852 3 +DEAL::2853 1 +DEAL::2854 3 +DEAL::2855 1 +DEAL::2856 3 +DEAL::2857 3 +DEAL::2858 3 +DEAL::2859 3 +DEAL::2860 3 +DEAL::2861 3 +DEAL::2862 3 +DEAL::2863 3 +DEAL::2864 3 +DEAL::2865 3 +DEAL::2866 3 +DEAL::2867 3 +DEAL::2868 3 +DEAL::2869 3 +DEAL::2870 3 +DEAL::2871 3 +DEAL::2872 3 +DEAL::2873 3 +DEAL::2874 3 +DEAL::2875 3 +DEAL::2876 1 +DEAL::2877 1 +DEAL::2878 1 +DEAL::2879 1 +DEAL::2880 1 +DEAL::2881 1 +DEAL::2882 1 +DEAL::2883 1 +DEAL::2884 1 +DEAL::2885 1 +DEAL::2886 1 +DEAL::2887 1 +DEAL::2888 1 +DEAL::2889 1 +DEAL::2890 1 +DEAL::2891 1 +DEAL::2892 1 +DEAL::2893 1 +DEAL::2894 1 +DEAL::2895 1 +DEAL::2896 1 +DEAL::2897 1 +DEAL::2898 1 +DEAL::2899 1 +DEAL::2900 1 +DEAL::2901 3 +DEAL::2902 1 +DEAL::2903 0 +DEAL::2904 0 +DEAL::2905 1 +DEAL::2906 1 +DEAL::2907 1 +DEAL::2908 1 +DEAL::2909 1 +DEAL::2910 1 +DEAL::2911 1 +DEAL::2912 3 +DEAL::2913 1 +DEAL::2914 0 +DEAL::2915 1 +DEAL::2916 1 +DEAL::2917 3 +DEAL::2918 1 +DEAL::2919 1 +DEAL::2920 1 +DEAL::2921 1 +DEAL::2922 3 +DEAL::2923 1 +DEAL::2924 4 +DEAL::2925 4 +DEAL::2926 1 +DEAL::2927 1 +DEAL::2928 2 +DEAL::2929 1 +DEAL::2930 1 +DEAL::2931 1 +DEAL::2932 1 +DEAL::2933 1 +DEAL::2934 1 +DEAL::2935 1 +DEAL::2936 1 +DEAL::2937 4 +DEAL::2938 1 +DEAL::2939 4 +DEAL::2940 1 +DEAL::2941 4 +DEAL::2942 4 +DEAL::2943 4 +DEAL::2944 1 +DEAL::2945 1 +DEAL::2946 1 +DEAL::2947 1 +DEAL::2948 4 +DEAL::2949 3 +DEAL::2950 1 +DEAL::2951 1 +DEAL::2952 3 +DEAL::2953 3 +DEAL::2954 1 +DEAL::2955 4 +DEAL::2956 3 +DEAL::2957 1 +DEAL::2958 3 +DEAL::2959 1 +DEAL::2960 4 +DEAL::2961 4 +DEAL::2962 4 +DEAL::2963 4 +DEAL::2964 3 +DEAL::2965 4 +DEAL::2966 4 +DEAL::2967 4 +DEAL::2968 4 +DEAL::2969 3 +DEAL::2970 4 +DEAL::2971 3 +DEAL::2972 2 +DEAL::2973 3 +DEAL::2974 3 +DEAL::2975 1 +DEAL::2976 1 +DEAL::2977 1 +DEAL::2978 1 +DEAL::2979 4 +DEAL::2980 2 +DEAL::2981 3 +DEAL::2982 3 +DEAL::2983 2 +DEAL::2984 2 +DEAL::2985 2 +DEAL::2986 2 +DEAL::2987 3 +DEAL::2988 3 +DEAL::2989 3 +DEAL::2990 3 +DEAL::2991 3 +DEAL::2992 3 +DEAL::2993 3 +DEAL::2994 3 +DEAL::2995 4 +DEAL::2996 3 +DEAL::2997 3 +DEAL::2998 4 +DEAL::2999 3 +DEAL::3000 3 +DEAL::3001 3 +DEAL::3002 4 +DEAL::3003 4 +DEAL::3004 2 +DEAL::3005 4 +DEAL::3006 2 +DEAL::3007 4 +DEAL::3008 4 +DEAL::3009 4 +DEAL::3010 4 +DEAL::3011 4 +DEAL::3012 2 +DEAL::3013 4 +DEAL::3014 2 +DEAL::3015 4 +DEAL::3016 2 +DEAL::3017 4 +DEAL::3018 2 +DEAL::3019 4 +DEAL::3020 4 +DEAL::3021 2 +DEAL::3022 2 +DEAL::3023 2 +DEAL::3024 2 +DEAL::3025 2 +DEAL::3026 4 +DEAL::3027 4 +DEAL::3028 4 +DEAL::3029 4 +DEAL::3030 4 +DEAL::3031 4 +DEAL::3032 4 +DEAL::3033 4 +DEAL::3034 4 +DEAL::3035 4 +DEAL::3036 4 +DEAL::3037 4 +DEAL::3038 4 +DEAL::3039 4 +DEAL::3040 4 +DEAL::3041 4 +DEAL::3042 4 +DEAL::3043 4 +DEAL::3044 4 +DEAL::3045 4 +DEAL::3046 4 +DEAL::3047 4 +DEAL::3048 4 +DEAL::3049 2 +DEAL::3050 2 +DEAL::3051 4 +DEAL::3052 4 +DEAL::3053 2 +DEAL::3054 2 +DEAL::3055 2 +DEAL::3056 2 +DEAL::3057 4 +DEAL::3058 2 +DEAL::3059 4 +DEAL::3060 2 +DEAL::3061 2 +DEAL::3062 4 +DEAL::3063 2 +DEAL::3064 2 +DEAL::3065 4 +DEAL::3066 4 +DEAL::3067 4 +DEAL::3068 4 +DEAL::3069 4 +DEAL::3070 4 +DEAL::3071 4 +DEAL::3072 4 +DEAL::3073 4 +DEAL::3074 4 +DEAL::3075 4 +DEAL::3076 4 +DEAL::3077 3 +DEAL::3078 3 +DEAL::3079 3 +DEAL::3080 3 +DEAL::3081 3 +DEAL::3082 3 +DEAL::3083 3 +DEAL::3084 4 +DEAL::3085 3 +DEAL::3086 3 +DEAL::3087 3 +DEAL::3088 3 +DEAL::3089 3 +DEAL::3090 3 +DEAL::3091 4 +DEAL::3092 4 +DEAL::3093 4 +DEAL::3094 3 +DEAL::3095 4 +DEAL::3096 4 +DEAL::3097 3 +DEAL::3098 4 +DEAL::3099 3 +DEAL::3100 4 +DEAL::3101 3 +DEAL::3102 3 +DEAL::3103 3 +DEAL::3104 3 +DEAL::3105 3 +DEAL::3106 3 +DEAL::3107 3 +DEAL::3108 3 +DEAL::3109 3 +DEAL::3110 3 +DEAL::3111 3 +DEAL::3112 3 +DEAL::3113 3 +DEAL::3114 3 +DEAL::3115 3 +DEAL::3116 3 +DEAL::3117 3 +DEAL::3118 3 +DEAL::3119 3 +DEAL::3120 3 +DEAL::3121 3 +DEAL::3122 3 +DEAL::3123 3 +DEAL::3124 3 +DEAL::3125 3 +DEAL::3126 3 +DEAL::3127 3 +DEAL::3128 3 +DEAL::3129 3 +DEAL::3130 3 +DEAL::3131 3 +DEAL::3132 3 +DEAL::3133 3 +DEAL::3134 3 +DEAL::3135 3 +DEAL::3136 3 +DEAL::3137 3 +DEAL::3138 3 +DEAL::3139 3 +DEAL::3140 3 +DEAL::3141 3 +DEAL::3142 3 +DEAL::3143 3 +DEAL::3144 3 +DEAL::3145 3 +DEAL::3146 3 +DEAL::3147 3 +DEAL::3148 3 +DEAL::3149 3 +DEAL::3150 3 +DEAL::3151 3 +DEAL::3152 3 +DEAL::3153 2 +DEAL::3154 3 +DEAL::3155 3 +DEAL::3156 2 +DEAL::3157 3 +DEAL::3158 3 +DEAL::3159 3 +DEAL::3160 4 +DEAL::3161 2 +DEAL::3162 2 +DEAL::3163 2 +DEAL::3164 2 +DEAL::3165 2 +DEAL::3166 2 +DEAL::3167 2 +DEAL::3168 3 +DEAL::3169 3 +DEAL::3170 3 +DEAL::3171 3 +DEAL::3172 3 +DEAL::3173 3 +DEAL::3174 3 +DEAL::3175 3 +DEAL::3176 4 +DEAL::3177 4 +DEAL::3178 3 +DEAL::3179 3 +DEAL::3180 4 +DEAL::3181 3 +DEAL::3182 4 +DEAL::3183 4 +DEAL::3184 4 +DEAL::3185 4 +DEAL::3186 3 +DEAL::3187 3 +DEAL::3188 3 +DEAL::3189 4 +DEAL::3190 3 +DEAL::3191 4 +DEAL::3192 2 +DEAL::3193 4 +DEAL::3194 2 +DEAL::3195 2 +DEAL::3196 2 +DEAL::3197 2 +DEAL::3198 2 +DEAL::3199 3 +DEAL::3200 4 +DEAL::3201 4 +DEAL::3202 3 +DEAL::3203 4 +DEAL::3204 3 +DEAL::3205 4 +DEAL::3206 4 +DEAL::3207 4 +DEAL::3208 4 +DEAL::3209 4 +DEAL::3210 2 +DEAL::3211 2 +DEAL::3212 4 +DEAL::3213 4 +DEAL::3214 2 +DEAL::3215 2 +DEAL::3216 4 +DEAL::3217 2 +DEAL::3218 2 +DEAL::3219 4 +DEAL::3220 2 +DEAL::3221 4 +DEAL::3222 2 +DEAL::3223 2 +DEAL::3224 2 +DEAL::3225 2 +DEAL::3226 2 +DEAL::3227 4 +DEAL::3228 4 +DEAL::3229 4 +DEAL::3230 4 +DEAL::3231 4 +DEAL::3232 4 +DEAL::3233 4 +DEAL::3234 4 +DEAL::3235 2 +DEAL::3236 2 +DEAL::3237 2 +DEAL::3238 4 +DEAL::3239 2 +DEAL::3240 4 +DEAL::3241 2 +DEAL::3242 2 +DEAL::3243 4 +DEAL::3244 2 +DEAL::3245 4 +DEAL::3246 2 +DEAL::3247 2 +DEAL::3248 2 +DEAL::3249 2 +DEAL::3250 2 +DEAL::3251 4 +DEAL::3252 4 +DEAL::3253 4 +DEAL::3254 4 +DEAL::3255 4 +DEAL::3256 4 +DEAL::3257 4 +DEAL::3258 4 +DEAL::3259 3 +DEAL::3260 3 +DEAL::3261 3 +DEAL::3262 3 +DEAL::3263 3 +DEAL::3264 3 +DEAL::3265 3 +DEAL::3266 3 +DEAL::3267 4 +DEAL::3268 3 +DEAL::3269 4 +DEAL::3270 3 +DEAL::3271 3 +DEAL::3272 3 +DEAL::3273 3 +DEAL::3274 3 +DEAL::3275 3 +DEAL::3276 3 +DEAL::3277 3 +DEAL::3278 3 +DEAL::3279 3 +DEAL::3280 3 +DEAL::3281 4 +DEAL::3282 3 +DEAL::3283 4 +DEAL::3284 3 +DEAL::3285 3 +DEAL::3286 3 +DEAL::3287 3 +DEAL::3288 3 +DEAL::3289 4 +DEAL::3290 4 +DEAL::3291 3 +DEAL::3292 3 +DEAL::3293 3 +DEAL::3294 3 +DEAL::3295 4 +DEAL::3296 4 +DEAL::3297 0 +DEAL::3298 0 +DEAL::3299 0 +DEAL::3300 0 +DEAL::3301 0 +DEAL::3302 0 +DEAL::3303 0 +DEAL::3304 0 +DEAL::3305 0 +DEAL::3306 0 +DEAL::3307 0 +DEAL::3308 0 +DEAL::3309 0 +DEAL::3310 0 +DEAL::3311 0 +DEAL::3312 0 +DEAL::3313 0 +DEAL::3314 0 +DEAL::3315 0 +DEAL::3316 0 +DEAL::3317 0 +DEAL::3318 4 +DEAL::3319 0 +DEAL::3320 0 +DEAL::3321 0 +DEAL::3322 0 +DEAL::3323 0 +DEAL::3324 0 +DEAL::3325 0 +DEAL::3326 0 +DEAL::3327 0 +DEAL::3328 0 +DEAL::3329 0 +DEAL::3330 4 +DEAL::3331 0 +DEAL::3332 0 +DEAL::3333 0 +DEAL::3334 0 +DEAL::3335 0 +DEAL::3336 0 +DEAL::3337 0 +DEAL::3338 0 +DEAL::3339 0 +DEAL::3340 0 +DEAL::3341 0 +DEAL::3342 0 +DEAL::3343 0 +DEAL::3344 0 +DEAL::3345 0 +DEAL::3346 0 +DEAL::3347 4 +DEAL::3348 0 +DEAL::3349 0 +DEAL::3350 0 +DEAL::3351 0 +DEAL::3352 0 +DEAL::3353 0 +DEAL::3354 0 +DEAL::3355 4 +DEAL::3356 0 +DEAL::3357 0 +DEAL::3358 0 +DEAL::3359 4 +DEAL::3360 4 +DEAL::3361 0 +DEAL::3362 0 +DEAL::3363 4 +DEAL::3364 0 +DEAL::3365 0 +DEAL::3366 4 +DEAL::3367 0 +DEAL::3368 0 +DEAL::3369 0 +DEAL::3370 0 +DEAL::3371 0 +DEAL::3372 0 +DEAL::3373 4 +DEAL::3374 4 +DEAL::3375 0 +DEAL::3376 0 +DEAL::3377 0 +DEAL::3378 0 +DEAL::3379 0 +DEAL::3380 0 +DEAL::3381 4 +DEAL::3382 4 +DEAL::3383 4 +DEAL::3384 0 +DEAL::3385 4 +DEAL::3386 0 +DEAL::3387 0 +DEAL::3388 0 +DEAL::3389 4 +DEAL::3390 4 +DEAL::3391 4 +DEAL::3392 4 +DEAL::3393 4 +DEAL::3394 4 +DEAL::3395 4 +DEAL::3396 0 +DEAL::3397 4 +DEAL::3398 4 +DEAL::3399 0 +DEAL::3400 4 +DEAL::3401 4 +DEAL::3402 4 +DEAL::3403 4 +DEAL::3404 4 +DEAL::3405 4 +DEAL::3406 4 +DEAL::3407 4 +DEAL::3408 4 +DEAL::3409 4 +DEAL::3410 4 +DEAL::3411 4 +DEAL::3412 0 +DEAL::3413 0 +DEAL::3414 0 +DEAL::3415 0 +DEAL::3416 0 +DEAL::3417 0 +DEAL::3418 0 +DEAL::3419 0 +DEAL::3420 0 +DEAL::3421 0 +DEAL::3422 0 +DEAL::3423 0 +DEAL::3424 0 +DEAL::3425 0 +DEAL::3426 0 +DEAL::3427 0 +DEAL::3428 0 +DEAL::3429 0 +DEAL::3430 0 +DEAL::3431 0 +DEAL::3432 0 +DEAL::3433 0 +DEAL::3434 0 +DEAL::3435 0 +DEAL::3436 0 +DEAL::3437 0 +DEAL::3438 0 +DEAL::3439 0 +DEAL::3440 0 +DEAL::3441 0 +DEAL::3442 0 +DEAL::3443 0 +DEAL::3444 0 +DEAL::3445 0 +DEAL::3446 0 +DEAL::3447 0 +DEAL::3448 0 +DEAL::3449 0 +DEAL::3450 0 +DEAL::3451 0 +DEAL::3452 0 +DEAL::3453 0 +DEAL::3454 4 +DEAL::3455 0 +DEAL::3456 0 +DEAL::3457 0 +DEAL::3458 0 +DEAL::3459 0 +DEAL::3460 0 +DEAL::3461 0 +DEAL::3462 0 +DEAL::3463 0 +DEAL::3464 0 +DEAL::3465 0 +DEAL::3466 0 +DEAL::3467 0 +DEAL::3468 0 +DEAL::3469 0 +DEAL::3470 0 +DEAL::3471 0 +DEAL::3472 0 +DEAL::3473 0 +DEAL::3474 0 +DEAL::3475 0 +DEAL::3476 0 +DEAL::3477 0 +DEAL::3478 0 +DEAL::3479 0 +DEAL::3480 0 +DEAL::3481 0 +DEAL::3482 0 +DEAL::3483 0 +DEAL::3484 0 +DEAL::3485 0 +DEAL::3486 0 +DEAL::3487 0 +DEAL::3488 0 +DEAL::3489 0 +DEAL::3490 0 +DEAL::3491 0 +DEAL::3492 0 +DEAL::3493 0 +DEAL::3494 0 +DEAL::3495 0 +DEAL::3496 0 +DEAL::3497 0 +DEAL::3498 0 +DEAL::3499 0 +DEAL::3500 0 +DEAL::3501 0 +DEAL::3502 0 +DEAL::3503 0 +DEAL::3504 0 +DEAL::3505 0 +DEAL::3506 0 +DEAL::3507 0 +DEAL::3508 0 +DEAL::3509 4 +DEAL::3510 4 +DEAL::3511 4 +DEAL::3512 4 +DEAL::3513 4 +DEAL::3514 4 +DEAL::3515 4 +DEAL::3516 4 +DEAL::3517 4 +DEAL::3518 4 +DEAL::3519 4 +DEAL::3520 4 +DEAL::3521 4 +DEAL::3522 4 +DEAL::3523 4 +DEAL::3524 4 +DEAL::3525 4 +DEAL::3526 4 +DEAL::3527 4 +DEAL::3528 4 +DEAL::3529 4 +DEAL::3530 4 +DEAL::3531 4 +DEAL::3532 4 +DEAL::3533 4 +DEAL::3534 4 +DEAL::3535 4 +DEAL::3536 4 +DEAL::3537 4 +DEAL::3538 4 +DEAL::3539 4 +DEAL::3540 4 +DEAL::3541 4 +DEAL::3542 4 +DEAL::3543 4 +DEAL::3544 4 +DEAL::3545 4 +DEAL::3546 4 +DEAL::3547 4 +DEAL::3548 4 +DEAL::3549 4 +DEAL::3550 4 +DEAL::3551 4 +DEAL::3552 4 +DEAL::3553 4 +DEAL::3554 4 +DEAL::3555 4 +DEAL::3556 4 +DEAL::3557 4 +DEAL::3558 4 +DEAL::3559 4 +DEAL::3560 4 +DEAL::3561 4 +DEAL::3562 4 +DEAL::3563 4 +DEAL::3564 4 +DEAL::3565 4 +DEAL::3566 4 +DEAL::3567 4 +DEAL::3568 4 +DEAL::3569 4 +DEAL::3570 4 +DEAL::3571 4 +DEAL::3572 4 +DEAL::3573 4 +DEAL::3574 4 +DEAL::3575 4 +DEAL::3576 4 +DEAL::3577 4 +DEAL::3578 4 +DEAL::3579 4 +DEAL::3580 4 +DEAL::3581 4 +DEAL::3582 4 +DEAL::3583 4 +DEAL::3584 4 +DEAL::3585 4 +DEAL::3586 4 +DEAL::3587 4 +DEAL::3588 4 +DEAL::3589 4 +DEAL::3590 4 +DEAL::3591 4 +DEAL::3592 4 +DEAL::3593 4 +DEAL::3594 4 +DEAL::3595 4 +DEAL::3596 4 +DEAL::3597 4 +DEAL::3598 4 +DEAL::3599 4 +DEAL::3600 4 +DEAL::3601 4 +DEAL::3602 2 +DEAL::3603 2 +DEAL::3604 2 +DEAL::3605 2 +DEAL::3606 2 +DEAL::3607 2 +DEAL::3608 2 +DEAL::3609 2 +DEAL::3610 2 +DEAL::3611 2 +DEAL::3612 2 +DEAL::3613 2 +DEAL::3614 2 +DEAL::3615 2 +DEAL::3616 2 +DEAL::3617 2 +DEAL::3618 2 +DEAL::3619 2 +DEAL::3620 2 +DEAL::3621 2 +DEAL::3622 2 +DEAL::3623 2 +DEAL::3624 2 +DEAL::3625 2 +DEAL::3626 2 +DEAL::3627 2 +DEAL::3628 2 +DEAL::3629 2 +DEAL::3630 2 +DEAL::3631 2 +DEAL::3632 2 +DEAL::3633 2 +DEAL::3634 2 +DEAL::3635 2 +DEAL::3636 2 +DEAL::3637 2 +DEAL::3638 2 +DEAL::3639 2 +DEAL::3640 2 +DEAL::3641 2 +DEAL::3642 2 +DEAL::3643 2 +DEAL::3644 2 +DEAL::3645 2 +DEAL::3646 2 +DEAL::3647 2 +DEAL::3648 2 +DEAL::3649 2 +DEAL::3650 2 +DEAL::3651 2 +DEAL::3652 2 +DEAL::3653 2 +DEAL::3654 2 +DEAL::3655 2 +DEAL::3656 2 +DEAL::3657 2 +DEAL::3658 2 +DEAL::3659 2 +DEAL::3660 2 +DEAL::3661 2 +DEAL::3662 2 +DEAL::3663 2 +DEAL::3664 2 +DEAL::3665 2 +DEAL::3666 2 +DEAL::3667 2 +DEAL::3668 0 +DEAL::3669 3 +DEAL::3670 0 +DEAL::3671 4 +DEAL::3672 4 +DEAL::3673 0 +DEAL::3674 3 +DEAL::3675 0 +DEAL::3676 0 +DEAL::3677 0 +DEAL::3678 0 +DEAL::3679 0 +DEAL::3680 3 +DEAL::3681 3 +DEAL::3682 4 +DEAL::3683 0 +DEAL::3684 3 +DEAL::3685 3 +DEAL::3686 3 +DEAL::3687 3 +DEAL::3688 3 +DEAL::3689 3 +DEAL::3690 3 +DEAL::3691 3 +DEAL::3692 4 +DEAL::3693 4 +DEAL::3694 4 +DEAL::3695 4 +DEAL::3696 4 +DEAL::3697 4 +DEAL::3698 3 +DEAL::3699 4 +DEAL::3700 4 +DEAL::3701 4 +DEAL::3702 4 +DEAL::3703 4 +DEAL::3704 4 +DEAL::3705 4 +DEAL::3706 4 +DEAL::3707 4 +DEAL::3708 4 +DEAL::3709 4 +DEAL::3710 3 +DEAL::3711 4 +DEAL::3712 3 +DEAL::3713 3 +DEAL::3714 3 +DEAL::3715 3 +DEAL::3716 3 +DEAL::3717 3 +DEAL::3718 4 +DEAL::3719 3 +DEAL::3720 4 +DEAL::3721 4 +DEAL::3722 4 +DEAL::3723 4 +DEAL::3724 4 +DEAL::3725 4 +DEAL::3726 4 +DEAL::3727 4 +DEAL::3728 4 +DEAL::3729 4 +DEAL::3730 4 +DEAL::3731 4 +DEAL::3732 4 +DEAL::3733 4 +DEAL::3734 4 +DEAL::3735 4 +DEAL::3736 4 +DEAL::3737 4 +DEAL::3738 4 +DEAL::3739 4 +DEAL::3740 4 +DEAL::3741 4 +DEAL::3742 4 +DEAL::3743 4 +DEAL::3744 4 +DEAL::3745 4 +DEAL::3746 4 +DEAL::3747 4 +DEAL::3748 3 +DEAL::3749 3 +DEAL::3750 4 +DEAL::3751 4 +DEAL::3752 3 +DEAL::3753 4 +DEAL::3754 3 +DEAL::3755 4 +DEAL::3756 4 +DEAL::3757 4 +DEAL::3758 4 +DEAL::3759 4 +DEAL::3760 3 +DEAL::3761 4 +DEAL::3762 4 +DEAL::3763 4 +DEAL::3764 4 +DEAL::3765 3 +DEAL::3766 4 +DEAL::3767 4 +DEAL::3768 4 +DEAL::3769 4 +DEAL::3770 4 +DEAL::3771 4 +DEAL::3772 4 +DEAL::3773 4 +DEAL::3774 4 +DEAL::3775 4 +DEAL::3776 4 +DEAL::3777 4 +DEAL::3778 4 +DEAL::3779 4 +DEAL::3780 4 +DEAL::3781 4 +DEAL::3782 4 +DEAL::3783 4 +DEAL::3784 4 +DEAL::3785 4 +DEAL::3786 4 +DEAL::3787 4 +DEAL::3788 4 +DEAL::3789 4 +DEAL::3790 4 +DEAL::3791 4 +DEAL::3792 4 +DEAL::3793 4 +DEAL::3794 4 +DEAL::3795 4 +DEAL::3796 3 +DEAL::3797 4 +DEAL::3798 4 +DEAL::3799 4 +DEAL::3800 3 +DEAL::3801 4 +DEAL::3802 4 +DEAL::3803 4 +DEAL::3804 3 +DEAL::3805 4 +DEAL::3806 4 +DEAL::3807 4 +DEAL::3808 4 +DEAL::3809 3 +DEAL::3810 4 +DEAL::3811 4 +DEAL::3812 4 +DEAL::3813 4 +DEAL::3814 4 +DEAL::3815 4 +DEAL::3816 4 +DEAL::3817 4 +DEAL::3818 4 +DEAL::3819 4 +DEAL::3820 4 +DEAL::3821 4 +DEAL::3822 4 +DEAL::3823 4 +DEAL::3824 4 +DEAL::3825 4 +DEAL::3826 4 +DEAL::3827 4 +DEAL::3828 4 +DEAL::3829 4 +DEAL::3830 4 +DEAL::3831 4 +DEAL::3832 4 +DEAL::3833 4 +DEAL::3834 4 +DEAL::3835 4 +DEAL::3836 4 +DEAL::3837 4 +DEAL::3838 4 +DEAL::3839 4 +DEAL::3840 4 +DEAL::3841 4 +DEAL::3842 4 +DEAL::3843 4 +DEAL::3844 4 +DEAL::3845 4 +DEAL::3846 4 +DEAL::3847 4 +DEAL::3848 4 +DEAL::3849 4 +DEAL::3850 4 +DEAL::3851 4 +DEAL::3852 4 +DEAL::3853 4 +DEAL::3854 4 +DEAL::3855 4 +DEAL::3856 4 +DEAL::3857 4 +DEAL::3858 4 +DEAL::3859 4 +DEAL::3860 4 +DEAL::3861 4 +DEAL::3862 4 +DEAL::3863 4 +DEAL::3864 4 +DEAL::3865 4 +DEAL::3866 4 +DEAL::3867 4 +DEAL::3868 4 +DEAL::3869 4 +DEAL::3870 4 +DEAL::3871 4 +DEAL::3872 4 +DEAL::3873 4 +DEAL::3874 4 +DEAL::3875 4 +DEAL::3876 4 +DEAL::3877 4 +DEAL::3878 4 +DEAL::3879 3 +DEAL::3880 3 +DEAL::3881 3 +DEAL::3882 3 +DEAL::3883 3 +DEAL::3884 3 +DEAL::3885 3 +DEAL::3886 3 +DEAL::3887 3 +DEAL::3888 3 +DEAL::3889 3 +DEAL::3890 3 +DEAL::3891 3 +DEAL::3892 4 +DEAL::3893 3 +DEAL::3894 4 +DEAL::3895 3 +DEAL::3896 3 +DEAL::3897 3 +DEAL::3898 3 +DEAL::3899 3 +DEAL::3900 3 +DEAL::3901 3 +DEAL::3902 3 +DEAL::3903 3 +DEAL::3904 3 +DEAL::3905 3 +DEAL::3906 3 +DEAL::3907 3 +DEAL::3908 3 +DEAL::3909 3 +DEAL::3910 3 +DEAL::3911 3 +DEAL::3912 3 +DEAL::3913 4 +DEAL::3914 3 +DEAL::3915 3 +DEAL::3916 3 +DEAL::3917 3 +DEAL::3918 3 +DEAL::3919 3 +DEAL::3920 3 +DEAL::3921 3 +DEAL::3922 3 +DEAL::3923 3 +DEAL::3924 3 +DEAL::3925 3 +DEAL::3926 3 +DEAL::3927 3 +DEAL::3928 3 +DEAL::3929 3 +DEAL::3930 3 +DEAL::3931 3 +DEAL::3932 3 +DEAL::3933 4 +DEAL::3934 3 +DEAL::3935 4 +DEAL::3936 3 +DEAL::3937 3 +DEAL::3938 3 +DEAL::3939 3 +DEAL::3940 3 +DEAL::3941 3 +DEAL::3942 3 +DEAL::3943 3 +DEAL::3944 3 +DEAL::3945 3 +DEAL::3946 3 +DEAL::3947 3 +DEAL::3948 3 +DEAL::3949 3 +DEAL::3950 3 +DEAL::3951 3 +DEAL::3952 3 +DEAL::3953 4 +DEAL::3954 3 +DEAL::3955 4 +DEAL::3956 3 +DEAL::3957 3 +DEAL::3958 3 +DEAL::3959 3 +DEAL::3960 4 +DEAL::3961 4 +DEAL::3962 4 +DEAL::3963 3 +DEAL::3964 4 +DEAL::3965 4 +DEAL::3966 4 +DEAL::3967 4 +DEAL::3968 4 +DEAL::3969 4 +DEAL::3970 4 +DEAL::3971 4 +DEAL::3972 4 +DEAL::3973 4 +DEAL::3974 4 +DEAL::3975 4 +DEAL::3976 4 +DEAL::3977 3 +DEAL::3978 3 +DEAL::3979 3 +DEAL::3980 3 +DEAL::3981 4 +DEAL::3982 3 +DEAL::3983 3 +DEAL::3984 3 +DEAL::3985 3 +DEAL::3986 4 +DEAL::3987 4 +DEAL::3988 4 +DEAL::3989 4 +DEAL::3990 4 +DEAL::3991 4 +DEAL::3992 4 +DEAL::3993 4 +DEAL::3994 4 +DEAL::3995 4 +DEAL::3996 4 +DEAL::3997 4 +DEAL::3998 4 +DEAL::3999 4 +DEAL::4000 4 +DEAL::4001 4 +DEAL::4002 4 +DEAL::4003 4 +DEAL::4004 4 +DEAL::4005 4 +DEAL::4006 4 +DEAL::4007 4 +DEAL::4008 4 +DEAL::4009 4 +DEAL::4010 4 +DEAL::4011 4 +DEAL::4012 4 +DEAL::4013 4 +DEAL::4014 4 +DEAL::4015 4 +DEAL::4016 4 +DEAL::4017 4 +DEAL::4018 4 +DEAL::4019 4 +DEAL::4020 4 +DEAL::4021 4 +DEAL::4022 4 +DEAL::4023 4 +DEAL::4024 4 +DEAL::4025 4 +DEAL::4026 4 +DEAL::4027 4 +DEAL::4028 4 +DEAL::4029 4 +DEAL::4030 4 +DEAL::4031 4 +DEAL::4032 4 +DEAL::4033 4 +DEAL::4034 4 +DEAL::4035 4 +DEAL::4036 4 +DEAL::4037 4 +DEAL::4038 4 +DEAL::4039 2 +DEAL::4040 4 +DEAL::4041 4 +DEAL::4042 4 +DEAL::4043 4 +DEAL::4044 4 +DEAL::4045 4 +DEAL::4046 4 +DEAL::4047 4 +DEAL::4048 4 +DEAL::4049 4 +DEAL::4050 4 +DEAL::4051 4 +DEAL::4052 4 +DEAL::4053 4 +DEAL::4054 4 +DEAL::4055 4 +DEAL::4056 4 +DEAL::4057 4 +DEAL::4058 4 +DEAL::4059 4 +DEAL::4060 2 +DEAL::4061 4 +DEAL::4062 4 +DEAL::4063 2 +DEAL::4064 4 +DEAL::4065 4 +DEAL::4066 4 +DEAL::4067 4 +DEAL::4068 4 +DEAL::4069 4 +DEAL::4070 4 +DEAL::4071 4 +DEAL::4072 4 +DEAL::4073 4 +DEAL::4074 4 +DEAL::4075 2 +DEAL::4076 2 +DEAL::4077 2 +DEAL::4078 4 +DEAL::4079 2 +DEAL::4080 2 +DEAL::4081 2 +DEAL::4082 2 +DEAL::4083 4 +DEAL::4084 2 +DEAL::4085 4 +DEAL::4086 2 +DEAL::4087 2 +DEAL::4088 2 +DEAL::4089 2 +DEAL::4090 4 +DEAL::4091 2 +DEAL::4092 2 +DEAL::4093 4 +DEAL::4094 4 +DEAL::4095 4 +DEAL::4096 4 +DEAL::4097 4 +DEAL::4098 4 +DEAL::4099 4 +DEAL::4100 4 +DEAL::4101 4 +DEAL::4102 4 +DEAL::4103 4 +DEAL::4104 4 +DEAL::4105 4 +DEAL::4106 4 +DEAL::4107 4 +DEAL::4108 4 +DEAL::4109 2 +DEAL::4110 2 +DEAL::4111 4 +DEAL::4112 4 +DEAL::4113 2 +DEAL::4114 2 +DEAL::4115 2 +DEAL::4116 2 +DEAL::4117 4 +DEAL::4118 2 +DEAL::4119 4 +DEAL::4120 2 +DEAL::4121 2 +DEAL::4122 4 +DEAL::4123 2 +DEAL::4124 2 +DEAL::4125 4 +DEAL::4126 4 +DEAL::4127 4 +DEAL::4128 4 +DEAL::4129 4 +DEAL::4130 4 +DEAL::4131 4 +DEAL::4132 4 +DEAL::4133 4 +DEAL::4134 4 +DEAL::4135 4 +DEAL::4136 4 +DEAL::4137 4 +DEAL::4138 4 +DEAL::4139 4 +DEAL::4140 4 +DEAL::4141 4 +DEAL::4142 4 +DEAL::4143 4 +DEAL::4144 4 +DEAL::4145 4 +DEAL::4146 4 +DEAL::4147 4 +DEAL::4148 4 +DEAL::4149 4 +DEAL::4150 4 +DEAL::4151 4 +DEAL::4152 4 +DEAL::4153 4 +DEAL::4154 4 +DEAL::4155 4 +DEAL::4156 4 +DEAL::4157 4 +DEAL::4158 4 +DEAL::4159 4 +DEAL::4160 4 +DEAL::4161 4 +DEAL::4162 4 +DEAL::4163 4 +DEAL::4164 4 +DEAL::4165 4 +DEAL::4166 4 +DEAL::4167 4 +DEAL::4168 4 +DEAL::4169 4 +DEAL::4170 4 +DEAL::4171 4 +DEAL::4172 4 +DEAL::4173 4 +DEAL::4174 4 +DEAL::4175 4 +DEAL::4176 4 +DEAL::4177 4 +DEAL::4178 4 +DEAL::4179 4 +DEAL::4180 4 +DEAL::4181 4 +DEAL::4182 4 +DEAL::4183 4 +DEAL::4184 4 +DEAL::4185 4 +DEAL::4186 4 +DEAL::4187 4 +DEAL::4188 4 +DEAL::4189 4 +DEAL::4190 4 +DEAL::4191 4 +DEAL::4192 4 +DEAL::4193 4 +DEAL::4194 4 +DEAL::4195 4 +DEAL::4196 4 +DEAL::4197 4 +DEAL::4198 4 +DEAL::4199 4 +DEAL::4200 4 +DEAL::4201 4 +DEAL::4202 4 +DEAL::4203 4 +DEAL::4204 4 +DEAL::4205 4 +DEAL::4206 4 +DEAL::4207 4 +DEAL::4208 4 +DEAL::4209 4 +DEAL::4210 4 +DEAL::4211 4 +DEAL::4212 4 +DEAL::4213 2 +DEAL::4214 2 +DEAL::4215 4 +DEAL::4216 4 +DEAL::4217 2 +DEAL::4218 2 +DEAL::4219 2 +DEAL::4220 2 +DEAL::4221 2 +DEAL::4222 2 +DEAL::4223 2 +DEAL::4224 4 +DEAL::4225 2 +DEAL::4226 2 +DEAL::4227 2 +DEAL::4228 2 +DEAL::4229 2 +DEAL::4230 2 +DEAL::4231 2 +DEAL::4232 4 +DEAL::4233 2 +DEAL::4234 2 +DEAL::4235 2 +DEAL::4236 2 +DEAL::4237 2 +DEAL::4238 2 +DEAL::4239 2 +DEAL::4240 4 +DEAL::4241 2 +DEAL::4242 2 +DEAL::4243 4 +DEAL::4244 4 +DEAL::4245 4 +DEAL::4246 4 +DEAL::4247 4 +DEAL::4248 4 +DEAL::4249 4 +DEAL::4250 4 +DEAL::4251 4 +DEAL::4252 4 +DEAL::4253 4 +DEAL::4254 4 +DEAL::4255 4 +DEAL::4256 4 +DEAL::4257 4 +DEAL::4258 4 +DEAL::4259 4 +DEAL::4260 4 +DEAL::4261 4 +DEAL::4262 4 +DEAL::4263 2 +DEAL::4264 4 +DEAL::4265 4 +DEAL::4266 2 +DEAL::4267 2 +DEAL::4268 2 +DEAL::4269 2 +DEAL::4270 2 +DEAL::4271 2 +DEAL::4272 4 +DEAL::4273 2 +DEAL::4274 2 +DEAL::4275 2 +DEAL::4276 2 +DEAL::4277 4 +DEAL::4278 2 +DEAL::4279 2 +DEAL::4280 2 +DEAL::4281 2 +DEAL::4282 2 +DEAL::4283 4 +DEAL::4284 2 +DEAL::4285 4 +DEAL::4286 2 +DEAL::4287 2 +DEAL::4288 2 +DEAL::4289 2 +DEAL::4290 2 +DEAL::4291 4 +DEAL::4292 4 +DEAL::4293 4 +DEAL::4294 4 +DEAL::4295 4 +DEAL::4296 4 +DEAL::4297 4 +DEAL::4298 4 +DEAL::4299 4 +DEAL::4300 4 +DEAL::4301 4 +DEAL::4302 4 +DEAL::4303 4 +DEAL::4304 4 +DEAL::4305 4 +DEAL::4306 4 +DEAL::4307 4 +DEAL::4308 4 +DEAL::4309 4 +DEAL::4310 4 +DEAL::4311 4 +DEAL::4312 4 +DEAL::4313 4 +DEAL::4314 4 +DEAL::4315 4 +DEAL::4316 4 +DEAL::4317 4 +DEAL::4318 4 +DEAL::4319 4 +DEAL::4320 4 +DEAL::4321 4 +DEAL::4322 4 +DEAL::4323 4 +DEAL::4324 4 +DEAL::4325 4 +DEAL::4326 4 +DEAL::4327 4 +DEAL::4328 4 +DEAL::4329 4 +DEAL::4330 4 +DEAL::4331 4 +DEAL::4332 4 +DEAL::4333 4 +DEAL::4334 4 +DEAL::4335 4 +DEAL::4336 4 +DEAL::4337 4 +DEAL::4338 4 +DEAL::4339 4 +DEAL::4340 4 +DEAL::4341 4 +DEAL::4342 4 +DEAL::4343 4 +DEAL::4344 4 +DEAL::4345 4 +DEAL::4346 4 +DEAL::4347 4 +DEAL::4348 4 +DEAL::4349 4 +DEAL::4350 4 +DEAL::4351 4 +DEAL::4352 4 +DEAL::4353 4 +DEAL::4354 4 +DEAL::4355 4 +DEAL::4356 4 +DEAL::4357 4 +DEAL::4358 4 +DEAL::4359 4 +DEAL::4360 4 +DEAL::4361 4 +DEAL::4362 4 +DEAL::4363 4 +DEAL::4364 4 +DEAL::4365 4 +DEAL::4366 4 +DEAL::4367 4 +DEAL::4368 4 +DEAL::4369 4 +DEAL::4370 4 +DEAL::4371 4 +DEAL::4372 4 +DEAL::4373 4 +DEAL::4374 4 +DEAL::4375 4 +DEAL::4376 4 +DEAL::4377 4 +DEAL::4378 4 +DEAL::4379 4 +DEAL::4380 4 +DEAL::4381 4 +DEAL::4382 4 +DEAL::4383 4 +DEAL::4384 4 +DEAL::4385 4 +DEAL::4386 4 +DEAL::4387 4 +DEAL::4388 4 +DEAL::4389 4 +DEAL::4390 4 +DEAL::4391 4 +DEAL::4392 4 +DEAL::4393 4 +DEAL::4394 4 +DEAL::4395 4 +DEAL::4396 4 +DEAL::4397 4 +DEAL::4398 4 +DEAL::4399 4 +DEAL::4400 4 +DEAL::4401 4 +DEAL::4402 4 +DEAL::4403 4 +DEAL::4404 4 +DEAL::4405 4 +DEAL::4406 4 +DEAL::4407 4 +DEAL::4408 4 +DEAL::4409 4 +DEAL::4410 4 +DEAL::4411 4 +DEAL::4412 4 +DEAL::4413 4 +DEAL::4414 4 +DEAL::4415 4 +DEAL::4416 4 +DEAL::4417 4 +DEAL::4418 4 +DEAL::4419 4 +DEAL::4420 4 +DEAL::4421 4 +DEAL::4422 4 +DEAL::4423 4 +DEAL::4424 4 +DEAL::4425 4 +DEAL::4426 4 +DEAL::4427 4 +DEAL::4428 4 +DEAL::4429 4 +DEAL::4430 4 +DEAL::4431 4 +DEAL::4432 4 +DEAL::4433 4 +DEAL::4434 4 +DEAL::4435 4 +DEAL::4436 4 +DEAL::4437 4 +DEAL::4438 4 +DEAL::4439 4 +DEAL::4440 4 +DEAL::4441 4 +DEAL::4442 4 +DEAL::4443 4 +DEAL::4444 4 +DEAL::4445 4 +DEAL::4446 4 +DEAL::4447 4 +DEAL::4448 4 +DEAL::4449 4 +DEAL::4450 4 +DEAL::4451 4 +DEAL::4452 1 +DEAL::4453 1 +DEAL::4454 1 +DEAL::4455 1 +DEAL::4456 1 +DEAL::4457 1 +DEAL::4458 1 +DEAL::4459 1 +DEAL::4460 1 +DEAL::4461 1 +DEAL::4462 1 +DEAL::4463 1 +DEAL::4464 1 +DEAL::4465 1 +DEAL::4466 1 +DEAL::4467 1 +DEAL::4468 1 +DEAL::4469 1 +DEAL::4470 1 +DEAL::4471 1 +DEAL::4472 1 +DEAL::4473 1 +DEAL::4474 1 +DEAL::4475 1 +DEAL::4476 1 +DEAL::4477 1 +DEAL::4478 1 +DEAL::4479 1 +DEAL::4480 1 +DEAL::4481 1 +DEAL::4482 1 +DEAL::4483 1 +DEAL::4484 1 +DEAL::4485 1 +DEAL::4486 1 +DEAL::4487 1 +DEAL::4488 1 +DEAL::4489 1 +DEAL::4490 1 +DEAL::4491 1 +DEAL::4492 1 +DEAL::4493 1 +DEAL::4494 1 +DEAL::4495 1 +DEAL::4496 1 +DEAL::4497 1 +DEAL::4498 1 +DEAL::4499 1 +DEAL::4500 1 +DEAL::4501 1 +DEAL::4502 1 +DEAL::4503 1 +DEAL::4504 1 +DEAL::4505 1 +DEAL::4506 1 +DEAL::4507 1 +DEAL::4508 1 +DEAL::4509 1 +DEAL::4510 1 +DEAL::4511 1 +DEAL::4512 1 +DEAL::4513 1 +DEAL::4514 1 +DEAL::4515 1 +DEAL::4516 1 +DEAL::4517 1 +DEAL::4518 1 +DEAL::4519 1 +DEAL::4520 1 +DEAL::4521 1 +DEAL::4522 1 +DEAL::4523 1 +DEAL::4524 1 +DEAL::4525 1 +DEAL::4526 1 +DEAL::4527 1 +DEAL::4528 1 +DEAL::4529 1 +DEAL::4530 1 +DEAL::4531 1 +DEAL::4532 1 +DEAL::4533 1 +DEAL::4534 1 +DEAL::4535 1 +DEAL::4536 1 +DEAL::4537 1 +DEAL::4538 1 +DEAL::4539 1 +DEAL::4540 1 +DEAL::4541 1 +DEAL::4542 1 +DEAL::4543 1 +DEAL::4544 1 +DEAL::4545 1 +DEAL::4546 1 +DEAL::4547 1 +DEAL::4548 1 +DEAL::4549 1 +DEAL::4550 1 +DEAL::4551 1 +DEAL::4552 1 +DEAL::4553 1 +DEAL::4554 1 +DEAL::4555 1 +DEAL::4556 1 +DEAL::4557 1 +DEAL::4558 1 +DEAL::4559 1 +DEAL::4560 1 +DEAL::4561 1 +DEAL::4562 1 +DEAL::4563 1 +DEAL::4564 1 +DEAL::4565 1 +DEAL::4566 1 +DEAL::4567 1 +DEAL::4568 1 +DEAL::4569 0 +DEAL::4570 0 +DEAL::4571 0 +DEAL::4572 0 +DEAL::4573 0 +DEAL::4574 0 +DEAL::4575 0 +DEAL::4576 0 +DEAL::4577 0 +DEAL::4578 0 +DEAL::4579 0 +DEAL::4580 0 +DEAL::4581 0 +DEAL::4582 0 +DEAL::4583 0 +DEAL::4584 0 +DEAL::4585 0 +DEAL::4586 0 +DEAL::4587 0 +DEAL::4588 0 +DEAL::4589 0 +DEAL::4590 0 +DEAL::4591 0 +DEAL::4592 0 +DEAL::4593 0 +DEAL::4594 0 +DEAL::4595 0 +DEAL::4596 0 +DEAL::4597 0 +DEAL::4598 0 +DEAL::4599 0 +DEAL::4600 0 +DEAL::4601 0 +DEAL::4602 0 +DEAL::4603 0 +DEAL::4604 0 +DEAL::4605 0 +DEAL::4606 0 +DEAL::4607 0 +DEAL::4608 0 +DEAL::4609 0 +DEAL::4610 0 +DEAL::4611 0 +DEAL::4612 0 +DEAL::4613 0 +DEAL::4614 0 +DEAL::4615 0 +DEAL::4616 0 +DEAL::4617 0 +DEAL::4618 0 +DEAL::4619 0 +DEAL::4620 0 +DEAL::4621 0 +DEAL::4622 0 +DEAL::4623 0 +DEAL::4624 0 +DEAL::4625 0 +DEAL::4626 0 +DEAL::4627 0 +DEAL::4628 0 +DEAL::4629 0 +DEAL::4630 0 +DEAL::4631 0 +DEAL::4632 0 +DEAL::4633 0 +DEAL::4634 0 +DEAL::4635 0 +DEAL::4636 0 +DEAL::4637 0 +DEAL::4638 0 +DEAL::4639 0 +DEAL::4640 0 +DEAL::4641 0 +DEAL::4642 0 +DEAL::4643 0 +DEAL::4644 0 +DEAL::4645 0 +DEAL::4646 0 +DEAL::4647 0 +DEAL::4648 0 +DEAL::4649 0 +DEAL::4650 0 +DEAL::4651 0 +DEAL::4652 0 +DEAL::4653 0 +DEAL::4654 0 +DEAL::4655 0 +DEAL::4656 0 +DEAL::4657 0 +DEAL::4658 0 +DEAL::4659 0 +DEAL::4660 0 +DEAL::4661 0 +DEAL::4662 0 +DEAL::4663 0 +DEAL::4664 0 +DEAL::4665 0 +DEAL::4666 0 +DEAL::4667 0 +DEAL::4668 0 +DEAL::4669 0 +DEAL::4670 0 +DEAL::4671 0 +DEAL::4672 0 +DEAL::4673 0 +DEAL::4674 0 +DEAL::4675 0 +DEAL::4676 0 +DEAL::4677 0 +DEAL::4678 0 +DEAL::4679 2 +DEAL::4680 1 +DEAL::4681 2 +DEAL::4682 0 +DEAL::4683 2 +DEAL::4684 2 +DEAL::4685 2 +DEAL::4686 1 +DEAL::4687 2 +DEAL::4688 1 +DEAL::4689 1 +DEAL::4690 2 +DEAL::4691 2 +DEAL::4692 2 +DEAL::4693 2 +DEAL::4694 0 +DEAL::4695 2 +DEAL::4696 2 +DEAL::4697 2 +DEAL::4698 2 +DEAL::4699 2 +DEAL::4700 2 +DEAL::4701 2 +DEAL::4702 2 +DEAL::4703 2 +DEAL::4704 2 +DEAL::4705 2 +DEAL::4706 2 +DEAL::4707 2 +DEAL::4708 1 +DEAL::4709 2 +DEAL::4710 2 +DEAL::4711 2 +DEAL::4712 2 +DEAL::4713 2 +DEAL::4714 2 +DEAL::4715 2 +DEAL::4716 2 +DEAL::4717 2 +DEAL::4718 2 +DEAL::4719 1 +DEAL::4720 2 +DEAL::4721 2 +DEAL::4722 2 +DEAL::4723 2 +DEAL::4724 2 +DEAL::4725 2 +DEAL::4726 2 +DEAL::4727 2 +DEAL::4728 2 +DEAL::4729 2 +DEAL::4730 2 +DEAL::4731 2 +DEAL::4732 2 +DEAL::4733 2 +DEAL::4734 2 +DEAL::4735 2 +DEAL::4736 2 +DEAL::4737 2 +DEAL::4738 2 +DEAL::4739 2 +DEAL::4740 2 +DEAL::4741 2 +DEAL::4742 2 +DEAL::4743 2 +DEAL::4744 2 +DEAL::4745 2 +DEAL::4746 0 +DEAL::4747 2 +DEAL::4748 2 +DEAL::4749 2 +DEAL::4750 2 +DEAL::4751 2 +DEAL::4752 2 +DEAL::4753 2 +DEAL::4754 2 +DEAL::4755 2 +DEAL::4756 2 +DEAL::4757 2 +DEAL::4758 2 +DEAL::4759 2 +DEAL::4760 2 +DEAL::4761 2 +DEAL::4762 2 +DEAL::4763 2 +DEAL::4764 2 +DEAL::4765 2 +DEAL::4766 2 +DEAL::4767 2 +DEAL::4768 2 +DEAL::4769 2 +DEAL::4770 2 +DEAL::4771 2 +DEAL::4772 2 +DEAL::4773 2 +DEAL::4774 2 +DEAL::4775 2 +DEAL::4776 2 +DEAL::4777 2 +DEAL::4778 2 +DEAL::4779 2 +DEAL::4780 2 +DEAL::4781 2 +DEAL::4782 2 +DEAL::4783 2 +DEAL::4784 2 +DEAL::4785 2 +DEAL::4786 2 +DEAL::4787 2 +DEAL::4788 2 +DEAL::4789 3 +DEAL::4790 3 +DEAL::4791 3 +DEAL::4792 3 +DEAL::4793 3 +DEAL::4794 3 +DEAL::4795 3 +DEAL::4796 3 +DEAL::4797 3 +DEAL::4798 3 +DEAL::4799 3 +DEAL::4800 3 +DEAL::4801 3 +DEAL::4802 3 +DEAL::4803 3 +DEAL::4804 3 +DEAL::4805 3 +DEAL::4806 3 +DEAL::4807 3 +DEAL::4808 3 +DEAL::4809 3 +DEAL::4810 3 +DEAL::4811 3 +DEAL::4812 3 +DEAL::4813 3 +DEAL::4814 3 +DEAL::4815 3 +DEAL::4816 3 +DEAL::4817 3 +DEAL::4818 3 +DEAL::4819 3 +DEAL::4820 3 +DEAL::4821 3 +DEAL::4822 3 +DEAL::4823 3 +DEAL::4824 3 +DEAL::4825 3 +DEAL::4826 3 +DEAL::4827 3 +DEAL::4828 3 +DEAL::4829 3 +DEAL::4830 3 +DEAL::4831 3 +DEAL::4832 3 +DEAL::4833 3 +DEAL::4834 3 +DEAL::4835 3 +DEAL::4836 3 +DEAL::4837 3 +DEAL::4838 3 +DEAL::4839 3 +DEAL::4840 3 +DEAL::4841 3 +DEAL::4842 3 +DEAL::4843 3 +DEAL::4844 3 +DEAL::4845 3 +DEAL::4846 3 +DEAL::4847 3 +DEAL::4848 3 +DEAL::4849 3 +DEAL::4850 3 +DEAL::4851 3 +DEAL::4852 3 +DEAL::4853 3 +DEAL::4854 3 +DEAL::4855 3 +DEAL::4856 3 +DEAL::4857 3 +DEAL::4858 3 +DEAL::4859 3 +DEAL::4860 3 +DEAL::4861 3 +DEAL::4862 3 +DEAL::4863 3 +DEAL::4864 3 +DEAL::4865 3 +DEAL::4866 3 +DEAL::4867 3 +DEAL::4868 3 +DEAL::4869 3 +DEAL::4870 3 +DEAL::4871 3 +DEAL::4872 3 +DEAL::4873 3 +DEAL::4874 3 +DEAL::4875 3 +DEAL::4876 3 +DEAL::4877 3 +DEAL::4878 3 +DEAL::4879 3 +DEAL::4880 3 +DEAL::4881 3 +DEAL::4882 3 +DEAL::4883 3 +DEAL::4884 3 +DEAL::4885 3 +DEAL::4886 3 +DEAL::4887 3 +DEAL::4888 3 +DEAL::4889 3 +DEAL::4890 3 +DEAL::4891 3 +DEAL::4892 3 +DEAL::4893 3 +DEAL::4894 3 +DEAL::4895 3 +DEAL::4896 3 +DEAL::4897 3 +DEAL::4898 3 +DEAL::4899 1 +DEAL::4900 1 +DEAL::4901 1 +DEAL::4902 1 +DEAL::4903 1 +DEAL::4904 1 +DEAL::4905 1 +DEAL::4906 1 +DEAL::4907 1 +DEAL::4908 1 +DEAL::4909 1 +DEAL::4910 1 +DEAL::4911 1 +DEAL::4912 1 +DEAL::4913 1 +DEAL::4914 1 +DEAL::4915 1 +DEAL::4916 1 +DEAL::4917 1 +DEAL::4918 1 +DEAL::4919 1 +DEAL::4920 1 +DEAL::4921 1 +DEAL::4922 1 +DEAL::4923 1 +DEAL::4924 1 +DEAL::4925 1 +DEAL::4926 1 +DEAL::4927 1 +DEAL::4928 1 +DEAL::4929 1 +DEAL::4930 1 +DEAL::4931 1 +DEAL::4932 1 +DEAL::4933 1 +DEAL::4934 1 +DEAL::4935 1 +DEAL::4936 1 +DEAL::4937 1 +DEAL::4938 1 +DEAL::4939 1 +DEAL::4940 1 +DEAL::4941 1 +DEAL::4942 1 +DEAL::4943 1 +DEAL::4944 1 +DEAL::4945 1 +DEAL::4946 1 +DEAL::4947 1 +DEAL::4948 1 +DEAL::4949 1 +DEAL::4950 1 +DEAL::4951 1 +DEAL::4952 1 +DEAL::4953 1 +DEAL::4954 1 +DEAL::4955 1 +DEAL::4956 1 +DEAL::4957 1 +DEAL::4958 1 +DEAL::4959 1 +DEAL::4960 1 +DEAL::4961 1 +DEAL::4962 1 +DEAL::4963 1 +DEAL::4964 1 +DEAL::4965 1 +DEAL::4966 1 +DEAL::4967 1 +DEAL::4968 1 +DEAL::4969 1 +DEAL::4970 1 +DEAL::4971 1 +DEAL::4972 1 +DEAL::4973 1 +DEAL::4974 1 +DEAL::4975 1 +DEAL::4976 1 +DEAL::4977 1 +DEAL::4978 1 +DEAL::4979 1 +DEAL::4980 1 +DEAL::4981 1 +DEAL::4982 1 +DEAL::4983 1 +DEAL::4984 1 +DEAL::4985 1 +DEAL::4986 1 +DEAL::4987 1 +DEAL::4988 1 +DEAL::4989 1 +DEAL::4990 1 +DEAL::4991 1 +DEAL::4992 1 +DEAL::4993 1 +DEAL::4994 1 +DEAL::4995 0 +DEAL::4996 0 +DEAL::4997 0 +DEAL::4998 0 +DEAL::4999 0 +DEAL::5000 0 +DEAL::5001 0 +DEAL::5002 0 +DEAL::5003 0 +DEAL::5004 0 +DEAL::5005 0 +DEAL::5006 0 +DEAL::5007 0 +DEAL::5008 0 +DEAL::5009 0 +DEAL::5010 0 +DEAL::5011 0 +DEAL::5012 0 +DEAL::5013 0 +DEAL::5014 0 +DEAL::5015 0 +DEAL::5016 0 +DEAL::5017 0 +DEAL::5018 0 +DEAL::5019 0 +DEAL::5020 0 +DEAL::5021 0 +DEAL::5022 0 +DEAL::5023 0 +DEAL::5024 0 +DEAL::5025 0 +DEAL::5026 0 +DEAL::5027 0 +DEAL::5028 0 +DEAL::5029 0 +DEAL::5030 0 +DEAL::5031 0 +DEAL::5032 0 +DEAL::5033 0 +DEAL::5034 0 +DEAL::5035 0 +DEAL::5036 0 +DEAL::5037 0 +DEAL::5038 0 +DEAL::5039 0 +DEAL::5040 0 +DEAL::5041 0 +DEAL::5042 0 +DEAL::5043 0 +DEAL::5044 0 +DEAL::5045 0 +DEAL::5046 0 +DEAL::5047 0 +DEAL::5048 0 +DEAL::5049 0 +DEAL::5050 0 +DEAL::5051 0 +DEAL::5052 0 +DEAL::5053 0 +DEAL::5054 0 +DEAL::5055 0 +DEAL::5056 0 +DEAL::5057 0 +DEAL::5058 0 +DEAL::5059 0 +DEAL::5060 0 +DEAL::5061 0 +DEAL::5062 0 +DEAL::5063 0 +DEAL::5064 0 +DEAL::5065 0 +DEAL::5066 0 +DEAL::5067 0 +DEAL::5068 0 +DEAL::5069 0 +DEAL::5070 0 +DEAL::5071 0 +DEAL::5072 0 +DEAL::5073 0 +DEAL::5074 0 +DEAL::5075 0 +DEAL::5076 0 +DEAL::5077 0 +DEAL::5078 0 +DEAL::5079 0 +DEAL::5080 0 +DEAL::5081 0 +DEAL::5082 0 +DEAL::5083 0 +DEAL::5084 0 +DEAL::5085 0 +DEAL::5086 0 +DEAL::5087 0 +DEAL::5088 0 +DEAL::5089 0 +DEAL::5090 0 +DEAL::5091 0 +DEAL::5092 0 +DEAL::5093 0 +DEAL::5094 0 +DEAL::5095 1 +DEAL::5096 1 +DEAL::5097 1 +DEAL::5098 0 +DEAL::5099 1 +DEAL::5100 1 +DEAL::5101 2 +DEAL::5102 1 +DEAL::5103 1 +DEAL::5104 1 +DEAL::5105 1 +DEAL::5106 1 +DEAL::5107 2 +DEAL::5108 1 +DEAL::5109 1 +DEAL::5110 0 +DEAL::5111 1 +DEAL::5112 1 +DEAL::5113 1 +DEAL::5114 1 +DEAL::5115 1 +DEAL::5116 1 +DEAL::5117 1 +DEAL::5118 1 +DEAL::5119 1 +DEAL::5120 1 +DEAL::5121 2 +DEAL::5122 1 +DEAL::5123 2 +DEAL::5124 1 +DEAL::5125 1 +DEAL::5126 1 +DEAL::5127 2 +DEAL::5128 1 +DEAL::5129 1 +DEAL::5130 1 +DEAL::5131 2 +DEAL::5132 1 +DEAL::5133 1 +DEAL::5134 1 +DEAL::5135 1 +DEAL::5136 1 +DEAL::5137 1 +DEAL::5138 1 +DEAL::5139 1 +DEAL::5140 1 +DEAL::5141 1 +DEAL::5142 1 +DEAL::5143 1 +DEAL::5144 1 +DEAL::5145 1 +DEAL::5146 1 +DEAL::5147 1 +DEAL::5148 1 +DEAL::5149 1 +DEAL::5150 1 +DEAL::5151 1 +DEAL::5152 1 +DEAL::5153 1 +DEAL::5154 1 +DEAL::5155 2 +DEAL::5156 2 +DEAL::5157 1 +DEAL::5158 2 +DEAL::5159 2 +DEAL::5160 2 +DEAL::5161 1 +DEAL::5162 1 +DEAL::5163 1 +DEAL::5164 2 +DEAL::5165 1 +DEAL::5166 0 +DEAL::5167 1 +DEAL::5168 1 +DEAL::5169 1 +DEAL::5170 1 +DEAL::5171 2 +DEAL::5172 1 +DEAL::5173 1 +DEAL::5174 1 +DEAL::5175 2 +DEAL::5176 2 +DEAL::5177 2 +DEAL::5178 2 +DEAL::5179 2 +DEAL::5180 1 +DEAL::5181 2 +DEAL::5182 2 +DEAL::5183 2 +DEAL::5184 1 +DEAL::5185 1 +DEAL::5186 1 +DEAL::5187 2 +DEAL::5188 1 +DEAL::5189 1 +DEAL::5190 2 +DEAL::5191 2 +DEAL::5192 2 +DEAL::5193 2 +DEAL::5194 3 +DEAL::5195 3 +DEAL::5196 3 +DEAL::5197 3 +DEAL::5198 3 +DEAL::5199 3 +DEAL::5200 3 +DEAL::5201 3 +DEAL::5202 3 +DEAL::5203 3 +DEAL::5204 3 +DEAL::5205 3 +DEAL::5206 3 +DEAL::5207 3 +DEAL::5208 3 +DEAL::5209 3 +DEAL::5210 3 +DEAL::5211 3 +DEAL::5212 3 +DEAL::5213 3 +DEAL::5214 3 +DEAL::5215 3 +DEAL::5216 3 +DEAL::5217 3 +DEAL::5218 3 +DEAL::5219 3 +DEAL::5220 3 +DEAL::5221 3 +DEAL::5222 3 +DEAL::5223 3 +DEAL::5224 3 +DEAL::5225 3 +DEAL::5226 3 +DEAL::5227 3 +DEAL::5228 3 +DEAL::5229 3 +DEAL::5230 3 +DEAL::5231 3 +DEAL::5232 3 +DEAL::5233 3 +DEAL::5234 3 +DEAL::5235 3 +DEAL::5236 3 +DEAL::5237 3 +DEAL::5238 3 +DEAL::5239 3 +DEAL::5240 3 +DEAL::5241 3 +DEAL::5242 3 +DEAL::5243 3 +DEAL::5244 3 +DEAL::5245 3 +DEAL::5246 3 +DEAL::5247 3 +DEAL::5248 3 +DEAL::5249 3 +DEAL::5250 3 +DEAL::5251 3 +DEAL::5252 3 +DEAL::5253 3 +DEAL::5254 3 +DEAL::5255 3 +DEAL::5256 3 +DEAL::5257 3 +DEAL::5258 3 +DEAL::5259 3 +DEAL::5260 3 +DEAL::5261 3 +DEAL::5262 3 +DEAL::5263 3 +DEAL::5264 3 +DEAL::5265 3 +DEAL::5266 3 +DEAL::5267 3 +DEAL::5268 3 +DEAL::5269 3 +DEAL::5270 3 +DEAL::5271 3 +DEAL::5272 3 +DEAL::5273 3 +DEAL::5274 3 +DEAL::5275 3 +DEAL::5276 3 +DEAL::5277 3 +DEAL::5278 3 +DEAL::5279 3 +DEAL::5280 3 +DEAL::5281 3 +DEAL::5282 3 +DEAL::5283 3 +DEAL::5284 3 +DEAL::5285 3 +DEAL::5286 3 +DEAL::5287 3 +DEAL::5288 3 +DEAL::5289 3 +DEAL::5290 3 +DEAL::5291 3 +DEAL::5292 3 +DEAL::5293 3 +DEAL::5294 3 +DEAL::5295 3 +DEAL::5296 3 +DEAL::5297 3 +DEAL::5298 3 +DEAL::5299 3 +DEAL::5300 3 +DEAL::5301 3 +DEAL::5302 3 +DEAL::5303 3 +DEAL::5304 3 +DEAL::5305 3 +DEAL::5306 3 +DEAL::5307 3 +DEAL::5308 3 +DEAL::5309 3 +DEAL::5310 3 +DEAL::5311 3 +DEAL::5312 3 +DEAL::5313 3 +DEAL::5314 3 +DEAL::5315 3 +DEAL::5316 3 +DEAL::5317 3 +DEAL::5318 3 +DEAL::5319 3 +DEAL::5320 3 +DEAL::5321 3 +DEAL::5322 3 +DEAL::5323 3 +DEAL::5324 3 +DEAL::5325 3 +DEAL::5326 3 +DEAL::5327 3 +DEAL::5328 3 +DEAL::5329 3 +DEAL::5330 3 +DEAL::5331 3 +DEAL::5332 3 +DEAL::5333 3 +DEAL::5334 3 +DEAL::5335 3 +DEAL::5336 3 +DEAL::5337 3 +DEAL::5338 3 +DEAL::5339 3 +DEAL::5340 3 +DEAL::5341 3 +DEAL::5342 3 +DEAL::5343 3 +DEAL::5344 3 +DEAL::5345 3 +DEAL::5346 3 +DEAL::5347 3 +DEAL::5348 3 +DEAL::5349 3 +DEAL::5350 3 +DEAL::5351 3 +DEAL::5352 3 +DEAL::5353 3 +DEAL::5354 3 +DEAL::5355 3 +DEAL::5356 3 +DEAL::5357 3 +DEAL::5358 3 +DEAL::5359 3 +DEAL::5360 3 +DEAL::5361 3 +DEAL::5362 3 +DEAL::5363 3 +DEAL::5364 3 +DEAL::5365 3 +DEAL::5366 3 +DEAL::5367 3 +DEAL::5368 3 +DEAL::5369 3 +DEAL::5370 3 +DEAL::5371 3 +DEAL::5372 3 +DEAL::5373 3 +DEAL::5374 3 +DEAL::5375 3 +DEAL::5376 3 +DEAL::5377 3 +DEAL::5378 3 +DEAL::5379 3 +DEAL::5380 3 +DEAL::5381 3 +DEAL::5382 3 +DEAL::5383 3 +DEAL::5384 3 +DEAL::5385 3 +DEAL::5386 3 +DEAL::5387 3 +DEAL::5388 3 +DEAL::5389 3 +DEAL::5390 1 +DEAL::5391 1 +DEAL::5392 1 +DEAL::5393 1 +DEAL::5394 1 +DEAL::5395 1 +DEAL::5396 1 +DEAL::5397 1 +DEAL::5398 1 +DEAL::5399 1 +DEAL::5400 1 +DEAL::5401 1 +DEAL::5402 1 +DEAL::5403 1 +DEAL::5404 1 +DEAL::5405 1 +DEAL::5406 1 +DEAL::5407 1 +DEAL::5408 1 +DEAL::5409 1 +DEAL::5410 1 +DEAL::5411 1 +DEAL::5412 1 +DEAL::5413 1 +DEAL::5414 1 +DEAL::5415 1 +DEAL::5416 1 +DEAL::5417 1 +DEAL::5418 1 +DEAL::5419 1 +DEAL::5420 1 +DEAL::5421 1 +DEAL::5422 1 +DEAL::5423 1 +DEAL::5424 1 +DEAL::5425 1 +DEAL::5426 1 +DEAL::5427 1 +DEAL::5428 1 +DEAL::5429 1 +DEAL::5430 1 +DEAL::5431 1 +DEAL::5432 1 +DEAL::5433 1 +DEAL::5434 1 +DEAL::5435 1 +DEAL::5436 1 +DEAL::5437 1 +DEAL::5438 1 +DEAL::5439 1 +DEAL::5440 1 +DEAL::5441 1 +DEAL::5442 1 +DEAL::5443 1 +DEAL::5444 1 +DEAL::5445 1 +DEAL::5446 1 +DEAL::5447 1 +DEAL::5448 1 +DEAL::5449 1 +DEAL::5450 1 +DEAL::5451 1 +DEAL::5452 1 +DEAL::5453 1 +DEAL::5454 1 +DEAL::5455 1 +DEAL::5456 1 +DEAL::5457 1 +DEAL::5458 1 +DEAL::5459 1 +DEAL::5460 1 +DEAL::5461 1 +DEAL::5462 0 +DEAL::5463 1 +DEAL::5464 0 +DEAL::5465 1 +DEAL::5466 0 +DEAL::5467 0 +DEAL::5468 1 +DEAL::5469 1 +DEAL::5470 1 +DEAL::5471 1 +DEAL::5472 1 +DEAL::5473 1 +DEAL::5474 1 +DEAL::5475 1 +DEAL::5476 0 +DEAL::5477 1 +DEAL::5478 1 +DEAL::5479 0 +DEAL::5480 1 +DEAL::5481 1 +DEAL::5482 1 +DEAL::5483 1 +DEAL::5484 1 +DEAL::5485 1 +DEAL::5486 1 +DEAL::5487 1 +DEAL::5488 0 +DEAL::5489 1 +DEAL::5490 1 +DEAL::5491 1 +DEAL::5492 1 +DEAL::5493 1 +DEAL::5494 1 +DEAL::5495 1 +DEAL::5496 0 +DEAL::5497 1 +DEAL::5498 0 +DEAL::5499 1 +DEAL::5500 1 +DEAL::5501 1 +DEAL::5502 1 +DEAL::5503 1 +DEAL::5504 1 +DEAL::5505 1 +DEAL::5506 1 +DEAL::5507 1 +DEAL::5508 1 +DEAL::5509 1 +DEAL::5510 1 +DEAL::5511 1 +DEAL::5512 1 +DEAL::5513 1 +DEAL::5514 1 +DEAL::5515 1 +DEAL::5516 1 +DEAL::5517 1 +DEAL::5518 1 +DEAL::5519 1 +DEAL::5520 1 +DEAL::5521 1 +DEAL::5522 1 +DEAL::5523 1 +DEAL::5524 1 +DEAL::5525 1 +DEAL::5526 1 +DEAL::5527 1 +DEAL::5528 1 +DEAL::5529 1 +DEAL::5530 1 +DEAL::5531 1 +DEAL::5532 1 +DEAL::5533 1 +DEAL::5534 1 +DEAL::5535 1 +DEAL::5536 1 +DEAL::5537 1 +DEAL::5538 1 +DEAL::5539 1 +DEAL::5540 1 +DEAL::5541 1 +DEAL::5542 1 +DEAL::5543 1 +DEAL::5544 1 +DEAL::5545 1 +DEAL::5546 1 +DEAL::5547 1 +DEAL::5548 1 +DEAL::5549 1 +DEAL::5550 1 +DEAL::5551 1 +DEAL::5552 1 +DEAL::5553 1 +DEAL::5554 1 +DEAL::5555 1 +DEAL::5556 1 +DEAL::5557 1 +DEAL::5558 1 +DEAL::5559 1 +DEAL::5560 1 +DEAL::5561 1 +DEAL::5562 1 +DEAL::5563 1 +DEAL::5564 1 +DEAL::5565 1 +DEAL::5566 1 +DEAL::5567 1 +DEAL::5568 1 +DEAL::5569 1 +DEAL::5570 1 +DEAL::5571 1 +DEAL::5572 1 +DEAL::5573 1 +DEAL::5574 1 +DEAL::5575 1 +DEAL::5576 1 +DEAL::5577 1 +DEAL::5578 1 +DEAL::5579 1 +DEAL::5580 1 +DEAL::5581 1 +DEAL::5582 1 +DEAL::5583 1 +DEAL::5584 1 +DEAL::5585 1 +DEAL::5586 1 +DEAL::5587 1 +DEAL::5588 1 +DEAL::5589 1 +DEAL::5590 1 +DEAL::5591 1 +DEAL::5592 1 +DEAL::5593 1 +DEAL::5594 1 +DEAL::5595 1 +DEAL::5596 1 +DEAL::5597 1 +DEAL::5598 1 +DEAL::5599 1 +DEAL::5600 0 +DEAL::5601 0 +DEAL::5602 0 +DEAL::5603 0 +DEAL::5604 0 +DEAL::5605 0 +DEAL::5606 0 +DEAL::5607 0 +DEAL::5608 0 +DEAL::5609 0 +DEAL::5610 0 +DEAL::5611 0 +DEAL::5612 0 +DEAL::5613 0 +DEAL::5614 0 +DEAL::5615 0 +DEAL::5616 0 +DEAL::5617 0 +DEAL::5618 0 +DEAL::5619 0 +DEAL::5620 0 +DEAL::5621 0 +DEAL::5622 0 +DEAL::5623 0 +DEAL::5624 0 +DEAL::5625 0 +DEAL::5626 0 +DEAL::5627 0 +DEAL::5628 0 +DEAL::5629 0 +DEAL::5630 0 +DEAL::5631 0 +DEAL::5632 0 +DEAL::5633 0 +DEAL::5634 0 +DEAL::5635 0 +DEAL::5636 0 +DEAL::5637 0 +DEAL::5638 0 +DEAL::5639 0 +DEAL::5640 0 +DEAL::5641 0 +DEAL::5642 0 +DEAL::5643 0 +DEAL::5644 0 +DEAL::5645 0 +DEAL::5646 0 +DEAL::5647 0 +DEAL::5648 0 +DEAL::5649 0 +DEAL::5650 0 +DEAL::5651 0 +DEAL::5652 0 +DEAL::5653 0 +DEAL::5654 0 +DEAL::5655 0 +DEAL::5656 0 +DEAL::5657 0 +DEAL::5658 0 +DEAL::5659 0 +DEAL::5660 0 +DEAL::5661 0 +DEAL::5662 0 +DEAL::5663 0 +DEAL::5664 0 +DEAL::5665 0 +DEAL::5666 0 +DEAL::5667 0 +DEAL::5668 0 +DEAL::5669 0 +DEAL::5670 0 +DEAL::5671 0 +DEAL::5672 0 +DEAL::5673 0 +DEAL::5674 0 +DEAL::5675 0 +DEAL::5676 0 +DEAL::5677 0 +DEAL::5678 0 +DEAL::5679 0 +DEAL::5680 0 +DEAL::5681 0 +DEAL::5682 0 +DEAL::5683 0 +DEAL::5684 0 +DEAL::5685 0 +DEAL::5686 0 +DEAL::5687 0 +DEAL::5688 0 +DEAL::5689 0 +DEAL::5690 0 +DEAL::5691 0 +DEAL::5692 0 +DEAL::5693 0 +DEAL::5694 0 +DEAL::5695 0 +DEAL::5696 0 +DEAL::5697 0 +DEAL::5698 0 +DEAL::5699 0 +DEAL::5700 0 +DEAL::5701 0 +DEAL::5702 0 +DEAL::5703 0 +DEAL::5704 0 +DEAL::5705 0 +DEAL::5706 0 +DEAL::5707 0 +DEAL::5708 0 +DEAL::5709 0 +DEAL::5710 0 +DEAL::5711 0 +DEAL::5712 0 +DEAL::5713 0 +DEAL::5714 0 +DEAL::5715 0 +DEAL::5716 0 +DEAL::5717 0 +DEAL::5718 0 +DEAL::5719 0 +DEAL::5720 0 +DEAL::5721 0 +DEAL::5722 0 +DEAL::5723 0 +DEAL::5724 0 +DEAL::5725 0 +DEAL::5726 0 +DEAL::5727 0 +DEAL::5728 0 +DEAL::5729 0 +DEAL::5730 0 +DEAL::5731 0 +DEAL::5732 0 +DEAL::5733 0 +DEAL::5734 0 +DEAL::5735 0 +DEAL::5736 0 +DEAL::5737 0 +DEAL::5738 0 +DEAL::5739 0 +DEAL::5740 0 +DEAL::5741 0 +DEAL::5742 0 +DEAL::5743 0 +DEAL::5744 0 +DEAL::5745 0 +DEAL::5746 0 +DEAL::5747 0 +DEAL::5748 0 +DEAL::5749 0 +DEAL::5750 0 +DEAL::5751 0 +DEAL::5752 0 +DEAL::5753 0 +DEAL::5754 0 +DEAL::5755 0 +DEAL::5756 0 +DEAL::5757 0 +DEAL::5758 0 +DEAL::5759 0 +DEAL::5760 0 +DEAL::5761 0 +DEAL::5762 0 +DEAL::5763 0 +DEAL::5764 0 +DEAL::5765 0 +DEAL::5766 0 +DEAL::5767 0 +DEAL::5768 0 +DEAL::5769 0 +DEAL::5770 0 +DEAL::5771 0 +DEAL::5772 0 +DEAL::5773 0 +DEAL::5774 0 +DEAL::5775 0 +DEAL::5776 0 +DEAL::5777 0 +DEAL::5778 0 +DEAL::5779 0 +DEAL::5780 0 +DEAL::5781 0 +DEAL::5782 0 +DEAL::5783 0 +DEAL::5784 0 +DEAL::5785 0 +DEAL::5786 0 +DEAL::5787 0 +DEAL::5788 0 +DEAL::5789 0 +DEAL::5790 0 +DEAL::5791 0 +DEAL::5792 0 +DEAL::5793 0 +DEAL::5794 0 +DEAL::5795 0 +DEAL::5796 0 +DEAL::5797 0 +DEAL::5798 0 +DEAL::5799 0 +DEAL::5800 0 +DEAL::5801 0 +DEAL::5802 0 +DEAL::5803 0 +DEAL::5804 0 +DEAL::5805 0 +DEAL::5806 0 +DEAL::5807 0 +DEAL::5808 0 +DEAL::5809 0 +DEAL::5810 0 +DEAL::5811 0 +DEAL::5812 0 +DEAL::5813 0 +DEAL::5814 0 +DEAL::5815 0 +DEAL::5816 0 +DEAL::5817 0 +DEAL::5818 0 +DEAL::5819 0 +DEAL::5820 0 +DEAL::5821 0 +DEAL::5822 0 +DEAL::5823 0 +DEAL::5824 0 +DEAL::5825 0 +DEAL::5826 0 +DEAL::5827 0 +DEAL::5828 0 +DEAL::5829 0 +DEAL::5830 0 +DEAL::5831 0 +DEAL::5832 0 +DEAL::5833 0 +DEAL::5834 0 +DEAL::5835 0 +DEAL::5836 0 +DEAL::5837 0 +DEAL::5838 0 +DEAL::5839 0 +DEAL::5840 0 +DEAL::5841 0 +DEAL::5842 0 +DEAL::5843 0 +DEAL::5844 0 +DEAL::5845 0 +DEAL::5846 0 +DEAL::5847 0 +DEAL::5848 0 +DEAL::5849 0 +DEAL::5850 0 +DEAL::5851 0 +DEAL::5852 0 +DEAL::5853 0 +DEAL::5854 0 +DEAL::5855 0 +DEAL::5856 0 +DEAL::5857 0 +DEAL::5858 0 +DEAL::5859 0 +DEAL::5860 0 +DEAL::5861 0 +DEAL::5862 0 +DEAL::5863 0 +DEAL::5864 0 +DEAL::5865 0 +DEAL::5866 0 +DEAL::5867 0 +DEAL::5868 0 +DEAL::5869 0 +DEAL::5870 0 +DEAL::5871 0 +DEAL::5872 0 +DEAL::5873 0 +DEAL::5874 0 +DEAL::5875 0 +DEAL::5876 0 +DEAL::5877 0 +DEAL::5878 0 +DEAL::5879 0 +DEAL::5880 0 +DEAL::5881 0 +DEAL::5882 0 +DEAL::5883 0 +DEAL::5884 0 +DEAL::5885 0 +DEAL::5886 0 +DEAL::5887 0 +DEAL::5888 0 +DEAL::5889 0 +DEAL::5890 0 +DEAL::5891 0 +DEAL::5892 0 +DEAL::5893 0 +DEAL::5894 0 +DEAL::5895 0 +DEAL::5896 0 +DEAL::5897 0 +DEAL::5898 0 +DEAL::5899 0 +DEAL::5900 0 +DEAL::5901 0 +DEAL::5902 0 +DEAL::5903 0 +DEAL::5904 0 +DEAL::5905 0 +DEAL::5906 0 +DEAL::5907 0 +DEAL::5908 0 +DEAL::5909 0 +DEAL::5910 0 +DEAL::5911 0 +DEAL::5912 0 +DEAL::5913 0 +DEAL::5914 0 +DEAL::5915 0 +DEAL::5916 0 +DEAL::5917 0 +DEAL::5918 0 +DEAL::5919 0 +DEAL::5920 0 +DEAL::5921 0 +DEAL::5922 0 +DEAL::5923 0 +DEAL::5924 0 +DEAL::5925 0 +DEAL::5926 0 +DEAL::5927 0 +DEAL::5928 0 +DEAL::5929 0 +DEAL::5930 0 +DEAL::5931 0 +DEAL::5932 0 +DEAL::5933 0 +DEAL::5934 0 +DEAL::5935 0 +DEAL::5936 0 +DEAL::5937 0 +DEAL::5938 0 +DEAL::5939 0 +DEAL::5940 0 +DEAL::5941 0 +DEAL::5942 0 +DEAL::5943 0 +DEAL::5944 0 +DEAL::5945 0 +DEAL::5946 0 +DEAL::5947 0 +DEAL::5948 0 +DEAL::5949 0 +DEAL::5950 0 +DEAL::5951 0 +DEAL::5952 0 +DEAL::5953 0 +DEAL::5954 0 +DEAL::5955 0 +DEAL::5956 0 +DEAL::5957 0 +DEAL::5958 0 +DEAL::5959 0 +DEAL::5960 0 +DEAL::5961 0 +DEAL::5962 0 +DEAL::5963 0 +DEAL::5964 0 +DEAL::5965 0 +DEAL::5966 0 +DEAL::5967 0 +DEAL::5968 0 +DEAL::5969 0 +DEAL::5970 0 +DEAL::5971 1 +DEAL::5972 0 +DEAL::5973 1 +DEAL::5974 1 +DEAL::5975 0 +DEAL::5976 1 +DEAL::5977 0 +DEAL::5978 0 +DEAL::5979 0 +DEAL::5980 0 +DEAL::5981 0 +DEAL::5982 1 +DEAL::5983 0 +DEAL::5984 0 +DEAL::5985 0 +DEAL::5986 0 +DEAL::5987 1 +DEAL::5988 0 +DEAL::5989 0 +DEAL::5990 0 +DEAL::5991 0 +DEAL::5992 0 +DEAL::5993 0 +DEAL::5994 0 +DEAL::5995 1 +DEAL::5996 1 +DEAL::5997 1 +DEAL::5998 1 +DEAL::5999 1 +DEAL::6000 1 +DEAL::6001 1 +DEAL::6002 1 +DEAL::6003 1 +DEAL::6004 1 +DEAL::6005 1 +DEAL::6006 1 +DEAL::6007 1 +DEAL::6008 1 +DEAL::6009 1 +DEAL::6010 1 +DEAL::6011 1 +DEAL::6012 0 +DEAL::6013 1 +DEAL::6014 0 +DEAL::6015 0 +DEAL::6016 0 +DEAL::6017 1 +DEAL::6018 0 +DEAL::6019 0 +DEAL::6020 0 +DEAL::6021 1 +DEAL::6022 1 +DEAL::6023 1 +DEAL::6024 1 +DEAL::6025 1 +DEAL::6026 1 +DEAL::6027 1 +DEAL::6028 0 +DEAL::6029 1 +DEAL::6030 0 +DEAL::6031 0 +DEAL::6032 0 +DEAL::6033 0 +DEAL::6034 1 +DEAL::6035 0 +DEAL::6036 1 +DEAL::6037 0 +DEAL::6038 1 +DEAL::6039 0 +DEAL::6040 0 +DEAL::6041 0 +DEAL::6042 0 +DEAL::6043 2 +DEAL::6044 2 +DEAL::6045 1 +DEAL::6046 2 +DEAL::6047 1 +DEAL::6048 1 +DEAL::6049 1 +DEAL::6050 1 +DEAL::6051 1 +DEAL::6052 1 +DEAL::6053 1 +DEAL::6054 0 +DEAL::6055 0 +DEAL::6056 0 +DEAL::6057 1 +DEAL::6058 0 +DEAL::6059 0 +DEAL::6060 2 +DEAL::6061 1 +DEAL::6062 1 +DEAL::6063 1 +DEAL::6064 0 +DEAL::6065 2 +DEAL::6066 0 +DEAL::6067 2 +DEAL::6068 0 +DEAL::6069 0 +DEAL::6070 0 +DEAL::6071 0 +DEAL::6072 0 +DEAL::6073 2 +DEAL::6074 0 +DEAL::6075 2 +DEAL::6076 0 +DEAL::6077 2 +DEAL::6078 0 +DEAL::6079 0 +DEAL::6080 0 +DEAL::6081 0 +DEAL::6082 2 +DEAL::6083 2 +DEAL::6084 2 +DEAL::6085 2 +DEAL::6086 2 +DEAL::6087 2 +DEAL::6088 2 +DEAL::6089 2 +DEAL::6090 2 +DEAL::6091 2 +DEAL::6092 2 +DEAL::6093 2 +DEAL::6094 0 +DEAL::6095 0 +DEAL::6096 0 +DEAL::6097 0 +DEAL::6098 0 +DEAL::6099 0 +DEAL::6100 2 +DEAL::6101 2 +DEAL::6102 2 +DEAL::6103 2 +DEAL::6104 2 +DEAL::6105 2 +DEAL::6106 2 +DEAL::6107 0 +DEAL::6108 2 +DEAL::6109 0 +DEAL::6110 0 +DEAL::6111 0 +DEAL::6112 0 +DEAL::6113 0 +DEAL::6114 2 +DEAL::6115 0 +DEAL::6116 2 +DEAL::6117 0 +DEAL::6118 2 +DEAL::6119 0 +DEAL::6120 0 +DEAL::6121 0 +DEAL::6122 0 +DEAL::6123 2 +DEAL::6124 2 +DEAL::6125 2 +DEAL::6126 2 +DEAL::6127 2 +DEAL::6128 2 +DEAL::6129 2 +DEAL::6130 2 +DEAL::6131 2 +DEAL::6132 2 +DEAL::6133 2 +DEAL::6134 0 +DEAL::6135 0 +DEAL::6136 0 +DEAL::6137 2 +DEAL::6138 0 +DEAL::6139 0 +DEAL::6140 2 +DEAL::6141 2 +DEAL::6142 2 +DEAL::6143 2 +DEAL::6144 2 +DEAL::6145 2 +DEAL::6146 2 +DEAL::6147 2 +DEAL::6148 2 +DEAL::6149 2 +DEAL::6150 2 +DEAL::6151 2 +DEAL::6152 2 +DEAL::6153 2 +DEAL::6154 2 +DEAL::6155 2 +DEAL::6156 2 +DEAL::6157 2 +DEAL::6158 2 +DEAL::6159 2 +DEAL::6160 2 +DEAL::6161 2 +DEAL::6162 2 +DEAL::6163 2 +DEAL::6164 2 +DEAL::6165 2 +DEAL::6166 2 +DEAL::6167 2 +DEAL::6168 2 +DEAL::6169 2 +DEAL::6170 2 +DEAL::6171 2 +DEAL::6172 2 +DEAL::6173 2 +DEAL::6174 2 +DEAL::6175 2 +DEAL::6176 2 +DEAL::6177 2 +DEAL::6178 2 +DEAL::6179 2 +DEAL::6180 2 +DEAL::6181 2 +DEAL::6182 2 +DEAL::6183 2 +DEAL::6184 2 +DEAL::6185 2 +DEAL::6186 2 +DEAL::6187 2 +DEAL::6188 2 +DEAL::6189 2 +DEAL::6190 2 +DEAL::6191 2 +DEAL::6192 2 +DEAL::6193 2 +DEAL::6194 2 +DEAL::6195 2 +DEAL::6196 2 +DEAL::6197 2 +DEAL::6198 2 +DEAL::6199 2 +DEAL::6200 2 +DEAL::6201 2 +DEAL::6202 2 +DEAL::6203 2 +DEAL::6204 2 +DEAL::6205 2 +DEAL::6206 2 +DEAL::6207 2 +DEAL::6208 2 +DEAL::6209 2 +DEAL::6210 2 +DEAL::6211 2 +DEAL::6212 2 +DEAL::6213 2 +DEAL::6214 2 +DEAL::6215 2 +DEAL::6216 2 +DEAL::6217 2 +DEAL::6218 2 +DEAL::6219 2 +DEAL::6220 2 +DEAL::6221 2 +DEAL::6222 2 +DEAL::6223 2 +DEAL::6224 2 +DEAL::6225 2 +DEAL::6226 2 +DEAL::6227 2 +DEAL::6228 2 +DEAL::6229 2 +DEAL::6230 2 +DEAL::6231 2 +DEAL::6232 2 +DEAL::6233 2 +DEAL::6234 2 +DEAL::6235 2 +DEAL::6236 2 +DEAL::6237 2 +DEAL::6238 2 +DEAL::6239 2 +DEAL::6240 2 +DEAL::6241 2 +DEAL::6242 2 +DEAL::6243 2 +DEAL::6244 2 +DEAL::6245 2 +DEAL::6246 2 +DEAL::6247 2 +DEAL::6248 2 +DEAL::6249 2 +DEAL::6250 2 +DEAL::6251 2 +DEAL::6252 2 +DEAL::6253 2 +DEAL::6254 2 +DEAL::6255 2 +DEAL::6256 2 +DEAL::6257 2 +DEAL::6258 2 +DEAL::6259 2 +DEAL::6260 2 +DEAL::6261 2 +DEAL::6262 2 +DEAL::6263 2 +DEAL::6264 2 +DEAL::6265 2 +DEAL::6266 2 +DEAL::6267 2 +DEAL::6268 2 +DEAL::6269 2 +DEAL::6270 2 +DEAL::6271 2 +DEAL::6272 2 +DEAL::6273 2 +DEAL::6274 2 +DEAL::6275 2 +DEAL::6276 2 +DEAL::6277 2 +DEAL::6278 2 +DEAL::6279 2 +DEAL::6280 2 +DEAL::6281 2 +DEAL::6282 2 +DEAL::6283 2 +DEAL::6284 2 +DEAL::6285 2 +DEAL::6286 2 +DEAL::6287 2 +DEAL::6288 2 +DEAL::6289 2 +DEAL::6290 2 +DEAL::6291 2 +DEAL::6292 2 +DEAL::6293 2 +DEAL::6294 2 +DEAL::6295 2 +DEAL::6296 2 +DEAL::6297 2 +DEAL::6298 2 +DEAL::6299 2 +DEAL::6300 2 +DEAL::6301 2 +DEAL::6302 2 +DEAL::6303 2 +DEAL::6304 2 +DEAL::6305 2 +DEAL::6306 2 +DEAL::6307 2 +DEAL::6308 2 +DEAL::6309 2 +DEAL::6310 2 +DEAL::6311 2 +DEAL::6312 2 +DEAL::6313 2 +DEAL::6314 2 +DEAL::6315 2 +DEAL::6316 2 +DEAL::6317 2 +DEAL::6318 2 +DEAL::6319 2 +DEAL::6320 2 +DEAL::6321 2 +DEAL::6322 2 +DEAL::6323 2 +DEAL::6324 2 +DEAL::6325 2 +DEAL::6326 2 +DEAL::6327 2 +DEAL::6328 2 +DEAL::6329 2 +DEAL::6330 2 +DEAL::6331 2 +DEAL::6332 2 +DEAL::6333 2 +DEAL::6334 2 +DEAL::6335 2 +DEAL::6336 2 +DEAL::6337 2 +DEAL::6338 2 +DEAL::6339 2 +DEAL::6340 2 +DEAL::6341 2 +DEAL::6342 2 +DEAL::6343 2 +DEAL::6344 2 +DEAL::6345 2 +DEAL::6346 2 +DEAL::6347 2 +DEAL::6348 2 +DEAL::6349 2 +DEAL::6350 2 +DEAL::6351 2 +DEAL::6352 2 +DEAL::6353 2 +DEAL::6354 2 +DEAL::6355 2 +DEAL::6356 2 +DEAL::6357 2 +DEAL::6358 2 +DEAL::6359 2 +DEAL::6360 2 +DEAL::6361 2 +DEAL::6362 2 +DEAL::6363 2 +DEAL::6364 2 +DEAL::6365 2 +DEAL::6366 2 +DEAL::6367 2 +DEAL::6368 2 +DEAL::6369 2 +DEAL::6370 2 +DEAL::6371 2 +DEAL::6372 2 +DEAL::6373 2 +DEAL::6374 2 +DEAL::6375 2 +DEAL::6376 2 +DEAL::6377 2 +DEAL::6378 2 +DEAL::6379 2 +DEAL::6380 2 +DEAL::6381 2 +DEAL::6382 2 +DEAL::6383 2 +DEAL::6384 2 +DEAL::6385 2 +DEAL::6386 2 +DEAL::6387 2 +DEAL::6388 2 +DEAL::6389 2 +DEAL::6390 2 +DEAL::6391 2 +DEAL::6392 2 +DEAL::6393 2 +DEAL::6394 2 +DEAL::6395 2 +DEAL::6396 2 +DEAL::6397 2 +DEAL::6398 2 +DEAL::6399 2 +DEAL::6400 2 +DEAL::6401 2 +DEAL::6402 2 +DEAL::6403 2 +DEAL::6404 2 +DEAL::6405 2 +DEAL::6406 2 +DEAL::6407 2 +DEAL::6408 2 +DEAL::6409 2 +DEAL::6410 2 +DEAL::6411 2 +DEAL::6412 2 +DEAL::6413 2 +DEAL::6414 2 +DEAL::6415 2 +DEAL::6416 2 +DEAL::6417 2 +DEAL::6418 2 +DEAL::6419 2 +DEAL::6420 2 +DEAL::6421 2 +DEAL::6422 2 +DEAL::6423 2 +DEAL::6424 2 +DEAL::6425 2 +DEAL::6426 2 +DEAL::6427 2 +DEAL::6428 2 +DEAL::6429 2 +DEAL::6430 2 +DEAL::6431 2 +DEAL::6432 2 +DEAL::6433 2 +DEAL::6434 2 +DEAL::6435 2 +DEAL::6436 2 +DEAL::6437 2 +DEAL::6438 2 +DEAL::6439 2 +DEAL::6440 2 +DEAL::6441 2 +DEAL::6442 2 +DEAL::6443 2 +DEAL::6444 2 +DEAL::6445 2 +DEAL::6446 2 +DEAL::6447 2 +DEAL::6448 2 +DEAL::6449 2 +DEAL::6450 2 +DEAL::6451 2 +DEAL::6452 2 +DEAL::6453 2 +DEAL::6454 2 +DEAL::6455 2 +DEAL::6456 2 +DEAL::6457 2 +DEAL::6458 2 +DEAL::6459 2 +DEAL::6460 2 +DEAL::6461 2 +DEAL::6462 2 +DEAL::6463 2 +DEAL::6464 2 +DEAL::6465 2 +DEAL::6466 2 +DEAL::6467 2 +DEAL::6468 2 +DEAL::6469 2 +DEAL::6470 2 +DEAL::6471 2 +DEAL::6472 2 +DEAL::6473 2 +DEAL::6474 2 +DEAL::6475 2 +DEAL::6476 2 +DEAL::6477 2 +DEAL::6478 2 +DEAL::6479 2 +DEAL::6480 2 +DEAL::6481 2 +DEAL::6482 2 +DEAL::6483 2 +DEAL::6484 2 +DEAL::6485 2 +DEAL::6486 2 +DEAL::6487 2 +DEAL::6488 2 +DEAL::6489 2 +DEAL::6490 2 +DEAL::6491 2 +DEAL::6492 2 +DEAL::6493 2 +DEAL::6494 2 +DEAL::6495 2 +DEAL::6496 2 +DEAL::6497 2 +DEAL::6498 2 +DEAL::6499 2 +DEAL::6500 2 +DEAL::6501 2 +DEAL::6502 2 +DEAL::6503 2 +DEAL::6504 2 +DEAL::6505 2 +DEAL::6506 2 +DEAL::6507 2 +DEAL::6508 2 +DEAL::6509 2 +DEAL::6510 2 +DEAL::6511 2 +DEAL::6512 2 +DEAL::6513 2 +DEAL::6514 2 +DEAL::6515 2 +DEAL::6516 2 +DEAL::6517 2 +DEAL::6518 2 +DEAL::6519 2 +DEAL::6520 2 +DEAL::6521 2 +DEAL::6522 2 +DEAL::6523 2 +DEAL::6524 2 +DEAL::6525 2 +DEAL::6526 2 +DEAL::6527 2 +DEAL::6528 2 +DEAL::6529 2 +DEAL::6530 2 +DEAL::6531 2 +DEAL::6532 2 +DEAL::6533 2 +DEAL::6534 2 +DEAL::6535 2 +DEAL::6536 2 +DEAL::6537 2 +DEAL::6538 2 +DEAL::6539 2 +DEAL::6540 2 +DEAL::6541 2 +DEAL::6542 2 +DEAL::6543 2 +DEAL::6544 2 +DEAL::6545 2 +DEAL::6546 2 +DEAL::6547 2 +DEAL::6548 2 +DEAL::6549 2 +DEAL::6550 2 +DEAL::6551 2 +DEAL::6552 2 +DEAL::6553 2 +DEAL::6554 2 +DEAL::6555 2 +DEAL::6556 2 +DEAL::6557 2 +DEAL::6558 2 +DEAL::6559 2 +DEAL::6560 2 +DEAL::6561 2 +DEAL::6562 2 +DEAL::6563 2 +DEAL::6564 2 +DEAL::6565 2 +DEAL::6566 2 +DEAL::6567 2 +DEAL::6568 2 +DEAL::6569 2 +DEAL::6570 2 +DEAL::6571 2 +DEAL::6572 2 +DEAL::6573 2 +DEAL::6574 2 +DEAL::6575 2 +DEAL::6576 2 +DEAL::6577 2 +DEAL::6578 2 +DEAL::6579 2 +DEAL::6580 2 +DEAL::6581 2 +DEAL::6582 2 +DEAL::6583 2 +DEAL::6584 2 +DEAL::6585 2 +DEAL::6586 2 +DEAL::6587 2 +DEAL::6588 2 +DEAL::6589 2 +DEAL::6590 2 +DEAL::6591 2 +DEAL::6592 2 +DEAL::6593 2 +DEAL::6594 2 +DEAL::6595 2 +DEAL::6596 2 +DEAL::6597 2 +DEAL::6598 2 +DEAL::6599 2 +DEAL::6600 2 +DEAL::6601 2 +DEAL::6602 2 +DEAL::6603 2 +DEAL::6604 2 +DEAL::6605 2 +DEAL::6606 2 +DEAL::6607 2 +DEAL::6608 2 +DEAL::6609 2 +DEAL::6610 1 +DEAL::6611 1 +DEAL::6612 1 +DEAL::6613 1 +DEAL::6614 1 +DEAL::6615 1 +DEAL::6616 1 +DEAL::6617 1 +DEAL::6618 1 +DEAL::6619 1 +DEAL::6620 1 +DEAL::6621 1 +DEAL::6622 1 +DEAL::6623 1 +DEAL::6624 1 +DEAL::6625 1 +DEAL::6626 1 +DEAL::6627 1 +DEAL::6628 1 +DEAL::6629 1 +DEAL::6630 1 +DEAL::6631 1 +DEAL::6632 1 +DEAL::6633 1 +DEAL::6634 1 +DEAL::6635 1 +DEAL::6636 1 +DEAL::6637 1 +DEAL::6638 1 +DEAL::6639 1 +DEAL::6640 1 +DEAL::6641 1 +DEAL::6642 1 +DEAL::6643 1 +DEAL::6644 1 +DEAL::6645 1 +DEAL::6646 1 +DEAL::6647 1 +DEAL::6648 1 +DEAL::6649 1 +DEAL::6650 1 +DEAL::6651 1 +DEAL::6652 1 +DEAL::6653 1 +DEAL::6654 1 +DEAL::6655 1 +DEAL::6656 1 +DEAL::6657 1 +DEAL::6658 1 +DEAL::6659 1 +DEAL::6660 1 +DEAL::6661 1 +DEAL::6662 1 +DEAL::6663 1 +DEAL::6664 1 +DEAL::6665 1 +DEAL::6666 1 +DEAL::6667 1 +DEAL::6668 1 +DEAL::6669 1 +DEAL::6670 1 +DEAL::6671 1 +DEAL::6672 1 +DEAL::6673 1 +DEAL::6674 1 +DEAL::6675 1 +DEAL::6676 1 +DEAL::6677 1 +DEAL::6678 1 +DEAL::6679 1 +DEAL::6680 1 +DEAL::6681 1 +DEAL::6682 1 +DEAL::6683 1 +DEAL::6684 1 +DEAL::6685 1 +DEAL::6686 1 +DEAL::6687 1 +DEAL::6688 1 +DEAL::6689 1 +DEAL::6690 1 +DEAL::6691 1 +DEAL::6692 1 +DEAL::6693 1 +DEAL::6694 1 +DEAL::6695 1 +DEAL::6696 1 +DEAL::6697 1 +DEAL::6698 1 +DEAL::6699 1 +DEAL::6700 1 +DEAL::6701 1 +DEAL::6702 1 +DEAL::6703 1 +DEAL::6704 1 +DEAL::6705 1 +DEAL::6706 1 +DEAL::6707 1 +DEAL::6708 1 +DEAL::6709 1 +DEAL::6710 1 +DEAL::6711 1 +DEAL::6712 1 +DEAL::6713 1 +DEAL::6714 1 +DEAL::6715 1 +DEAL::6716 1 +DEAL::6717 1 +DEAL::6718 1 +DEAL::6719 1 +DEAL::6720 1 +DEAL::6721 1 +DEAL::6722 1 +DEAL::6723 1 +DEAL::6724 1 +DEAL::6725 1 +DEAL::6726 1 +DEAL::6727 1 +DEAL::6728 1 +DEAL::6729 1 +DEAL::6730 1 +DEAL::6731 1 +DEAL::6732 1 +DEAL::6733 1 +DEAL::6734 1 +DEAL::6735 1 +DEAL::6736 1 +DEAL::6737 1 +DEAL::6738 1 +DEAL::6739 1 +DEAL::6740 1 +DEAL::6741 1 +DEAL::6742 1 +DEAL::6743 1 +DEAL::6744 1 +DEAL::6745 1 +DEAL::6746 1 +DEAL::6747 1 +DEAL::6748 1 +DEAL::6749 1 +DEAL::6750 1 +DEAL::6751 1 +DEAL::6752 1 +DEAL::6753 1 +DEAL::6754 1 +DEAL::6755 1 +DEAL::6756 1 +DEAL::6757 1 +DEAL::6758 1 +DEAL::6759 1 +DEAL::6760 1 +DEAL::6761 1 +DEAL::6762 1 +DEAL::6763 1 +DEAL::6764 1 +DEAL::6765 1 +DEAL::6766 1 +DEAL::6767 1 +DEAL::6768 1 +DEAL::6769 1 +DEAL::6770 1 +DEAL::6771 1 +DEAL::6772 1 +DEAL::6773 1 +DEAL::6774 1 +DEAL::6775 1 +DEAL::6776 1 +DEAL::6777 1 +DEAL::6778 1 +DEAL::6779 1 +DEAL::6780 1 +DEAL::6781 1 +DEAL::6782 1 +DEAL::6783 1 +DEAL::6784 1 +DEAL::6785 1 +DEAL::6786 1 +DEAL::6787 1 +DEAL::6788 1 +DEAL::6789 1 +DEAL::6790 1 +DEAL::6791 1 +DEAL::6792 1 +DEAL::6793 1 +DEAL::6794 1 +DEAL::6795 1 +DEAL::6796 1 +DEAL::6797 1 +DEAL::6798 1 +DEAL::6799 1 +DEAL::6800 1 +DEAL::6801 1 +DEAL::6802 1 +DEAL::6803 1 +DEAL::6804 1 +DEAL::6805 1 +DEAL::6806 1 +DEAL::6807 1 +DEAL::6808 1 +DEAL::6809 1 +DEAL::6810 1 +DEAL::6811 1 +DEAL::6812 1 +DEAL::6813 1 +DEAL::6814 1 +DEAL::6815 1 +DEAL::6816 1 +DEAL::6817 1 +DEAL::6818 1 +DEAL::6819 1 +DEAL::6820 1 +DEAL::6821 1 +DEAL::6822 1 +DEAL::6823 3 +DEAL::6824 3 +DEAL::6825 3 +DEAL::6826 3 +DEAL::6827 3 +DEAL::6828 3 +DEAL::6829 3 +DEAL::6830 3 +DEAL::6831 3 +DEAL::6832 3 +DEAL::6833 3 +DEAL::6834 3 +DEAL::6835 3 +DEAL::6836 3 +DEAL::6837 3 +DEAL::6838 3 +DEAL::6839 3 +DEAL::6840 3 +DEAL::6841 3 +DEAL::6842 3 +DEAL::6843 3 +DEAL::6844 3 +DEAL::6845 3 +DEAL::6846 3 +DEAL::6847 3 +DEAL::6848 3 +DEAL::6849 3 +DEAL::6850 3 +DEAL::6851 3 +DEAL::6852 3 +DEAL::6853 3 +DEAL::6854 3 +DEAL::6855 3 +DEAL::6856 3 +DEAL::6857 3 +DEAL::6858 3 +DEAL::6859 3 +DEAL::6860 3 +DEAL::6861 3 +DEAL::6862 3 +DEAL::6863 3 +DEAL::6864 3 +DEAL::6865 3 +DEAL::6866 3 +DEAL::6867 3 +DEAL::6868 3 +DEAL::6869 3 +DEAL::6870 3 +DEAL::6871 3 +DEAL::6872 3 +DEAL::6873 3 +DEAL::6874 3 +DEAL::6875 3 +DEAL::6876 3 +DEAL::6877 3 +DEAL::6878 3 +DEAL::6879 3 +DEAL::6880 3 +DEAL::6881 3 +DEAL::6882 3 +DEAL::6883 3 +DEAL::6884 3 +DEAL::6885 3 +DEAL::6886 3 +DEAL::6887 3 +DEAL::6888 3 +DEAL::6889 3 +DEAL::6890 3 +DEAL::6891 3 +DEAL::6892 3 +DEAL::6893 3 +DEAL::6894 3 +DEAL::6895 3 +DEAL::6896 3 +DEAL::6897 3 +DEAL::6898 3 +DEAL::6899 3 +DEAL::6900 3 +DEAL::6901 3 +DEAL::6902 3 +DEAL::6903 3 +DEAL::6904 3 +DEAL::6905 3 +DEAL::6906 3 +DEAL::6907 3 +DEAL::6908 3 +DEAL::6909 3 +DEAL::6910 3 +DEAL::6911 3 +DEAL::6912 3 +DEAL::6913 3 +DEAL::6914 3 +DEAL::6915 3 +DEAL::6916 3 +DEAL::6917 3 +DEAL::6918 3 +DEAL::6919 3 +DEAL::6920 3 +DEAL::6921 3 +DEAL::6922 3 +DEAL::6923 3 +DEAL::6924 3 +DEAL::6925 3 +DEAL::6926 3 +DEAL::6927 3 +DEAL::6928 3 +DEAL::6929 3 +DEAL::6930 3 +DEAL::6931 3 +DEAL::6932 3 +DEAL::6933 3 +DEAL::6934 3 +DEAL::6935 3 +DEAL::6936 3 +DEAL::6937 3 +DEAL::6938 3 +DEAL::6939 3 +DEAL::6940 3 +DEAL::6941 3 +DEAL::6942 3 +DEAL::6943 3 +DEAL::6944 3 +DEAL::6945 3 +DEAL::6946 3 +DEAL::6947 3 +DEAL::6948 3 +DEAL::6949 3 +DEAL::6950 3 +DEAL::6951 3 +DEAL::6952 3 +DEAL::6953 3 +DEAL::6954 3 +DEAL::6955 3 +DEAL::6956 3 +DEAL::6957 3 +DEAL::6958 3 +DEAL::6959 3 +DEAL::6960 3 +DEAL::6961 3 +DEAL::6962 3 +DEAL::6963 3 +DEAL::6964 3 +DEAL::6965 3 +DEAL::6966 3 +DEAL::6967 3 +DEAL::6968 3 +DEAL::6969 3 +DEAL::6970 3 +DEAL::6971 3 +DEAL::6972 3 +DEAL::6973 3 +DEAL::6974 3 +DEAL::6975 3 +DEAL::6976 3 +DEAL::6977 3 +DEAL::6978 3 +DEAL::6979 3 +DEAL::6980 3 +DEAL::6981 3 +DEAL::6982 3 +DEAL::6983 3 +DEAL::6984 3 +DEAL::6985 3 +DEAL::6986 3 +DEAL::6987 3 +DEAL::6988 3 +DEAL::6989 3 +DEAL::6990 3 +DEAL::6991 3 +DEAL::6992 3 +DEAL::6993 3 +DEAL::6994 3 +DEAL::6995 3 +DEAL::6996 3 +DEAL::6997 3 +DEAL::6998 3 +DEAL::6999 3 +DEAL::7000 3 +DEAL::7001 3 +DEAL::7002 3 +DEAL::7003 3 +DEAL::7004 3 +DEAL::7005 3 +DEAL::7006 3 +DEAL::7007 3 +DEAL::7008 3 +DEAL::7009 3 +DEAL::7010 3 +DEAL::7011 3 +DEAL::7012 3 +DEAL::7013 3 +DEAL::7014 3 +DEAL::7015 3 +DEAL::7016 3 +DEAL::7017 3 +DEAL::7018 3 +DEAL::7019 3 +DEAL::7020 3 +DEAL::7021 3 +DEAL::7022 3 +DEAL::7023 3 +DEAL::7024 3 +DEAL::7025 3 +DEAL::7026 3 +DEAL::7027 3 +DEAL::7028 3 +DEAL::7029 3 +DEAL::7030 3 +DEAL::7031 3 +DEAL::7032 3 +DEAL::7033 3 +DEAL::7034 3 +DEAL::7035 3 +DEAL::7036 3 +DEAL::7037 3 +DEAL::7038 3 +DEAL::7039 3 +DEAL::7040 3 +DEAL::7041 3 +DEAL::7042 3 +DEAL::7043 3 +DEAL::7044 3 +DEAL::7045 3 +DEAL::7046 3 +DEAL::7047 3 +DEAL::7048 3 +DEAL::7049 3 +DEAL::7050 3 +DEAL::7051 3 +DEAL::7052 3 +DEAL::7053 3 +DEAL::7054 3 +DEAL::7055 3 +DEAL::7056 3 +DEAL::7057 3 +DEAL::7058 3 +DEAL::7059 3 +DEAL::7060 3 +DEAL::7061 3 +DEAL::7062 3 +DEAL::7063 3 +DEAL::7064 3 +DEAL::7065 3 +DEAL::7066 3 +DEAL::7067 3 +DEAL::7068 3 +DEAL::7069 3 +DEAL::7070 3 +DEAL::7071 3 +DEAL::7072 3 +DEAL::7073 3 +DEAL::7074 3 +DEAL::7075 3 +DEAL::7076 3 +DEAL::7077 3 +DEAL::7078 3 +DEAL::7079 3 +DEAL::7080 3 +DEAL::7081 3 +DEAL::7082 3 +DEAL::7083 3 +DEAL::7084 3 +DEAL::7085 3 +DEAL::7086 3 +DEAL::7087 3 +DEAL::7088 3 +DEAL::7089 3 +DEAL::7090 3 +DEAL::7091 3 +DEAL::7092 3 +DEAL::7093 3 +DEAL::7094 3 +DEAL::7095 3 +DEAL::7096 3 +DEAL::7097 3 +DEAL::7098 3 +DEAL::7099 3 +DEAL::7100 3 +DEAL::7101 3 +DEAL::7102 3 +DEAL::7103 3 +DEAL::7104 3 +DEAL::7105 3 +DEAL::7106 3 +DEAL::7107 3 +DEAL::7108 3 +DEAL::7109 3 +DEAL::7110 3 +DEAL::7111 3 +DEAL::7112 3 +DEAL::7113 3 +DEAL::7114 3 +DEAL::7115 3 +DEAL::7116 3 +DEAL::7117 3 +DEAL::7118 3 +DEAL::7119 3 +DEAL::7120 3 +DEAL::7121 3 +DEAL::7122 3 +DEAL::7123 3 +DEAL::7124 3 +DEAL::7125 3 +DEAL::7126 3 +DEAL::7127 3 +DEAL::7128 3 +DEAL::7129 3 +DEAL::7130 3 +DEAL::7131 3 +DEAL::7132 3 +DEAL::7133 3 +DEAL::7134 3 +DEAL::7135 3 +DEAL::7136 3 +DEAL::7137 3 +DEAL::7138 3 +DEAL::7139 3 +DEAL::7140 3 +DEAL::7141 3 +DEAL::7142 3 +DEAL::7143 3 +DEAL::7144 3 +DEAL::7145 3 +DEAL::7146 3 +DEAL::7147 3 +DEAL::7148 3 +DEAL::7149 3 +DEAL::7150 3 +DEAL::7151 3 +DEAL::7152 3 +DEAL::7153 3 +DEAL::7154 3 +DEAL::7155 3 +DEAL::7156 3 +DEAL::7157 3 +DEAL::7158 3 +DEAL::7159 3 +DEAL::7160 3 +DEAL::7161 3 +DEAL::7162 3 +DEAL::7163 3 +DEAL::7164 3 +DEAL::7165 3 +DEAL::7166 3 +DEAL::7167 3 +DEAL::7168 3 +DEAL::7169 3 +DEAL::7170 3 +DEAL::7171 3 +DEAL::7172 3 +DEAL::7173 3 +DEAL::7174 3 +DEAL::7175 3 +DEAL::7176 3 +DEAL::7177 3 +DEAL::7178 3 +DEAL::7179 3 +DEAL::7180 3 +DEAL::7181 3 +DEAL::7182 3 +DEAL::7183 3 +DEAL::7184 3 +DEAL::7185 3 +DEAL::7186 3 +DEAL::7187 3 +DEAL::7188 3 +DEAL::7189 3 +DEAL::7190 3 +DEAL::7191 3 +DEAL::7192 3 +DEAL::7193 3 +DEAL::7194 3 +DEAL::7195 3 +DEAL::7196 3 +DEAL::7197 3 +DEAL::7198 3 +DEAL::7199 3 +DEAL::7200 3 +DEAL::7201 3 +DEAL::7202 3 +DEAL::7203 3 +DEAL::7204 3 +DEAL::7205 3 +DEAL::7206 3 +DEAL::7207 3 +DEAL::7208 3 +DEAL::7209 3 +DEAL::7210 3 +DEAL::7211 3 +DEAL::7212 4 +DEAL::7213 4 +DEAL::7214 4 +DEAL::7215 4 +DEAL::7216 4 +DEAL::7217 4 +DEAL::7218 4 +DEAL::7219 4 +DEAL::7220 4 +DEAL::7221 4 +DEAL::7222 4 +DEAL::7223 4 +DEAL::7224 4 +DEAL::7225 4 +DEAL::7226 4 +DEAL::7227 4 +DEAL::7228 4 +DEAL::7229 4 +DEAL::7230 4 +DEAL::7231 4 +DEAL::7232 4 +DEAL::7233 4 +DEAL::7234 4 +DEAL::7235 4 +DEAL::7236 4 +DEAL::7237 4 +DEAL::7238 4 +DEAL::7239 4 +DEAL::7240 4 +DEAL::7241 4 +DEAL::7242 4 +DEAL::7243 4 +DEAL::7244 4 +DEAL::7245 4 +DEAL::7246 4 +DEAL::7247 4 +DEAL::7248 4 +DEAL::7249 4 +DEAL::7250 4 +DEAL::7251 4 +DEAL::7252 4 +DEAL::7253 4 +DEAL::7254 4 +DEAL::7255 4 +DEAL::7256 4 +DEAL::7257 4 +DEAL::7258 4 +DEAL::7259 4 +DEAL::7260 4 +DEAL::7261 4 +DEAL::7262 4 +DEAL::7263 4 +DEAL::7264 4 +DEAL::7265 4 +DEAL::7266 4 +DEAL::7267 4 +DEAL::7268 4 +DEAL::7269 4 +DEAL::7270 4 +DEAL::7271 4 +DEAL::7272 4 +DEAL::7273 4 +DEAL::7274 4 +DEAL::7275 4 +DEAL::7276 4 +DEAL::7277 4 +DEAL::7278 4 +DEAL::7279 4 +DEAL::7280 4 +DEAL::7281 4 +DEAL::7282 4 +DEAL::7283 4 +DEAL::7284 4 +DEAL::7285 4 +DEAL::7286 4 +DEAL::7287 4 +DEAL::7288 4 +DEAL::7289 4 +DEAL::7290 4 +DEAL::7291 4 +DEAL::7292 4 +DEAL::7293 4 +DEAL::7294 4 +DEAL::7295 4 +DEAL::7296 4 +DEAL::7297 4 +DEAL::7298 4 +DEAL::7299 4 +DEAL::7300 4 +DEAL::7301 4 +DEAL::7302 4 +DEAL::7303 4 +DEAL::7304 4 +DEAL::7305 4 +DEAL::7306 4 +DEAL::7307 4 +DEAL::7308 4 +DEAL::7309 4 +DEAL::7310 4 +DEAL::7311 4 +DEAL::7312 4 +DEAL::7313 4 +DEAL::7314 4 +DEAL::7315 4 +DEAL::7316 4 +DEAL::7317 4 +DEAL::7318 4 +DEAL::7319 4 +DEAL::7320 4 +DEAL::7321 4 +DEAL::7322 4 +DEAL::7323 4 +DEAL::7324 4 +DEAL::7325 4 +DEAL::7326 4 +DEAL::7327 4 +DEAL::7328 4 +DEAL::7329 0 +DEAL::7330 0 +DEAL::7331 0 +DEAL::7332 0 +DEAL::7333 0 +DEAL::7334 0 +DEAL::7335 0 +DEAL::7336 0 +DEAL::7337 0 +DEAL::7338 0 +DEAL::7339 0 +DEAL::7340 0 +DEAL::7341 0 +DEAL::7342 0 +DEAL::7343 0 +DEAL::7344 0 +DEAL::7345 0 +DEAL::7346 0 +DEAL::7347 0 +DEAL::7348 0 +DEAL::7349 0 +DEAL::7350 0 +DEAL::7351 0 +DEAL::7352 0 +DEAL::7353 0 +DEAL::7354 0 +DEAL::7355 0 +DEAL::7356 0 +DEAL::7357 0 +DEAL::7358 0 +DEAL::7359 0 +DEAL::7360 0 +DEAL::7361 0 +DEAL::7362 0 +DEAL::7363 0 +DEAL::7364 0 +DEAL::7365 0 +DEAL::7366 0 +DEAL::7367 0 +DEAL::7368 0 +DEAL::7369 0 +DEAL::7370 0 +DEAL::7371 0 +DEAL::7372 0 +DEAL::7373 0 +DEAL::7374 0 +DEAL::7375 0 +DEAL::7376 0 +DEAL::7377 0 +DEAL::7378 0 +DEAL::7379 0 +DEAL::7380 0 +DEAL::7381 0 +DEAL::7382 0 +DEAL::7383 0 +DEAL::7384 0 +DEAL::7385 0 +DEAL::7386 0 +DEAL::7387 0 +DEAL::7388 0 +DEAL::7389 0 +DEAL::7390 0 +DEAL::7391 0 +DEAL::7392 0 +DEAL::7393 0 +DEAL::7394 0 +DEAL::7395 0 +DEAL::7396 0 +DEAL::7397 0 +DEAL::7398 0 +DEAL::7399 0 +DEAL::7400 0 +DEAL::7401 0 +DEAL::7402 0 +DEAL::7403 0 +DEAL::7404 0 +DEAL::7405 0 +DEAL::7406 0 +DEAL::7407 0 +DEAL::7408 0 +DEAL::7409 0 +DEAL::7410 0 +DEAL::7411 0 +DEAL::7412 0 +DEAL::7413 0 +DEAL::7414 0 +DEAL::7415 0 +DEAL::7416 0 +DEAL::7417 0 +DEAL::7418 0 +DEAL::7419 0 +DEAL::7420 0 +DEAL::7421 0 +DEAL::7422 0 +DEAL::7423 0 +DEAL::7424 0 +DEAL::7425 2 +DEAL::7426 2 +DEAL::7427 2 +DEAL::7428 2 +DEAL::7429 2 +DEAL::7430 2 +DEAL::7431 2 +DEAL::7432 2 +DEAL::7433 2 +DEAL::7434 2 +DEAL::7435 2 +DEAL::7436 2 +DEAL::7437 2 +DEAL::7438 2 +DEAL::7439 2 +DEAL::7440 2 +DEAL::7441 2 +DEAL::7442 2 +DEAL::7443 2 +DEAL::7444 2 +DEAL::7445 2 +DEAL::7446 2 +DEAL::7447 2 +DEAL::7448 2 +DEAL::7449 2 +DEAL::7450 2 +DEAL::7451 2 +DEAL::7452 2 +DEAL::7453 2 +DEAL::7454 2 +DEAL::7455 2 +DEAL::7456 2 +DEAL::7457 2 +DEAL::7458 2 +DEAL::7459 2 +DEAL::7460 2 +DEAL::7461 2 +DEAL::7462 2 +DEAL::7463 2 +DEAL::7464 2 +DEAL::7465 2 +DEAL::7466 2 +DEAL::7467 2 +DEAL::7468 2 +DEAL::7469 2 +DEAL::7470 2 +DEAL::7471 2 +DEAL::7472 2 +DEAL::7473 2 +DEAL::7474 2 +DEAL::7475 2 +DEAL::7476 2 +DEAL::7477 2 +DEAL::7478 2 +DEAL::7479 2 +DEAL::7480 2 +DEAL::7481 2 +DEAL::7482 2 +DEAL::7483 2 +DEAL::7484 2 +DEAL::7485 2 +DEAL::7486 2 +DEAL::7487 2 +DEAL::7488 2 +DEAL::7489 2 +DEAL::7490 2 +DEAL::7491 2 +DEAL::7492 2 +DEAL::7493 2 +DEAL::7494 2 +DEAL::7495 2 +DEAL::7496 2 +DEAL::7497 2 +DEAL::7498 2 +DEAL::7499 2 +DEAL::7500 2 +DEAL::7501 2 +DEAL::7502 2 +DEAL::7503 2 +DEAL::7504 2 +DEAL::7505 2 +DEAL::7506 2 +DEAL::7507 2 +DEAL::7508 2 +DEAL::7509 2 +DEAL::7510 2 +DEAL::7511 2 +DEAL::7512 2 +DEAL::7513 2 +DEAL::7514 2 +DEAL::7515 2 +DEAL::7516 2 +DEAL::7517 2 +DEAL::7518 2 +DEAL::7519 2 +DEAL::7520 2 +DEAL::7521 2 +DEAL::7522 2 +DEAL::7523 2 +DEAL::7524 2 +DEAL::7525 2 +DEAL::7526 2 +DEAL::7527 2 +DEAL::7528 2 +DEAL::7529 2 +DEAL::7530 2 +DEAL::7531 2 +DEAL::7532 2 +DEAL::7533 2 +DEAL::7534 2 +DEAL::7535 2 +DEAL::7536 2 +DEAL::7537 2 +DEAL::7538 2 +DEAL::7539 2 +DEAL::7540 2 +DEAL::7541 2 +DEAL::7542 4 +DEAL::7543 4 +DEAL::7544 4 +DEAL::7545 4 +DEAL::7546 2 +DEAL::7547 2 +DEAL::7548 2 +DEAL::7549 2 +DEAL::7550 2 +DEAL::7551 4 +DEAL::7552 2 +DEAL::7553 4 +DEAL::7554 2 +DEAL::7555 2 +DEAL::7556 2 +DEAL::7557 2 +DEAL::7558 2 +DEAL::7559 2 +DEAL::7560 2 +DEAL::7561 2 +DEAL::7562 2 +DEAL::7563 2 +DEAL::7564 2 +DEAL::7565 2 +DEAL::7566 2 +DEAL::7567 2 +DEAL::7568 2 +DEAL::7569 2 +DEAL::7570 2 +DEAL::7571 4 +DEAL::7572 2 +DEAL::7573 4 +DEAL::7574 2 +DEAL::7575 2 +DEAL::7576 2 +DEAL::7577 2 +DEAL::7578 2 +DEAL::7579 2 +DEAL::7580 2 +DEAL::7581 2 +DEAL::7582 2 +DEAL::7583 4 +DEAL::7584 4 +DEAL::7585 2 +DEAL::7586 2 +DEAL::7587 2 +DEAL::7588 2 +DEAL::7589 4 +DEAL::7590 4 +DEAL::7591 2 +DEAL::7592 2 +DEAL::7593 2 +DEAL::7594 2 +DEAL::7595 2 +DEAL::7596 2 +DEAL::7597 2 +DEAL::7598 2 +DEAL::7599 2 +DEAL::7600 2 +DEAL::7601 2 +DEAL::7602 2 +DEAL::7603 2 +DEAL::7604 2 +DEAL::7605 2 +DEAL::7606 2 +DEAL::7607 2 +DEAL::7608 2 +DEAL::7609 2 +DEAL::7610 4 +DEAL::7611 4 +DEAL::7612 4 +DEAL::7613 4 +DEAL::7614 4 +DEAL::7615 4 +DEAL::7616 4 +DEAL::7617 4 +DEAL::7618 4 +DEAL::7619 4 +DEAL::7620 4 +DEAL::7621 4 +DEAL::7622 4 +DEAL::7623 4 +DEAL::7624 4 +DEAL::7625 4 +DEAL::7626 4 +DEAL::7627 4 +DEAL::7628 4 +DEAL::7629 4 +DEAL::7630 4 +DEAL::7631 4 +DEAL::7632 4 +DEAL::7633 4 +DEAL::7634 4 +DEAL::7635 4 +DEAL::7636 4 +DEAL::7637 4 +DEAL::7638 4 +DEAL::7639 4 +DEAL::7640 4 +DEAL::7641 4 +DEAL::7642 4 +DEAL::7643 4 +DEAL::7644 4 +DEAL::7645 4 +DEAL::7646 4 +DEAL::7647 4 +DEAL::7648 4 +DEAL::7649 4 +DEAL::7650 4 +DEAL::7651 4 +DEAL::7652 4 +DEAL::7653 4 +DEAL::7654 4 +DEAL::7655 4 +DEAL::7656 2 +DEAL::7657 2 +DEAL::7658 2 +DEAL::7659 2 +DEAL::7660 2 +DEAL::7661 2 +DEAL::7662 2 +DEAL::7663 2 +DEAL::7664 2 +DEAL::7665 2 +DEAL::7666 2 +DEAL::7667 2 +DEAL::7668 2 +DEAL::7669 2 +DEAL::7670 2 +DEAL::7671 2 +DEAL::7672 2 +DEAL::7673 2 +DEAL::7674 2 +DEAL::7675 2 +DEAL::7676 2 +DEAL::7677 2 +DEAL::7678 2 +DEAL::7679 2 +DEAL::7680 2 +DEAL::7681 2 +DEAL::7682 2 +DEAL::7683 2 +DEAL::7684 2 +DEAL::7685 2 +DEAL::7686 2 +DEAL::7687 2 +DEAL::7688 2 +DEAL::7689 2 +DEAL::7690 2 +DEAL::7691 2 +DEAL::7692 2 +DEAL::7693 2 +DEAL::7694 2 +DEAL::7695 2 +DEAL::7696 2 +DEAL::7697 2 +DEAL::7698 2 +DEAL::7699 2 +DEAL::7700 2 +DEAL::7701 2 +DEAL::7702 2 +DEAL::7703 2 +DEAL::7704 2 +DEAL::7705 2 +DEAL::7706 2 +DEAL::7707 2 +DEAL::7708 2 +DEAL::7709 2 +DEAL::7710 2 +DEAL::7711 2 +DEAL::7712 2 +DEAL::7713 2 +DEAL::7714 2 +DEAL::7715 2 +DEAL::7716 2 +DEAL::7717 2 +DEAL::7718 2 +DEAL::7719 2 +DEAL::7720 2 +DEAL::7721 2 +DEAL::7722 2 +DEAL::7723 2 +DEAL::7724 2 +DEAL::7725 2 +DEAL::7726 2 +DEAL::7727 2 +DEAL::7728 2 +DEAL::7729 2 +DEAL::7730 2 +DEAL::7731 2 +DEAL::7732 2 +DEAL::7733 2 +DEAL::7734 2 +DEAL::7735 2 +DEAL::7736 2 +DEAL::7737 2 +DEAL::7738 2 +DEAL::7739 2 +DEAL::7740 2 +DEAL::7741 2 +DEAL::7742 2 +DEAL::7743 2 +DEAL::7744 2 +DEAL::7745 2 +DEAL::7746 2 +DEAL::7747 2 +DEAL::7748 2 +DEAL::7749 2 +DEAL::7750 2 +DEAL::7751 2 +DEAL::7752 2 +DEAL::7753 2 +DEAL::7754 2 +DEAL::7755 2 +DEAL::7756 2 +DEAL::7757 2 +DEAL::7758 2 +DEAL::7759 2 +DEAL::7760 2 +DEAL::7761 2 +DEAL::7762 2 +DEAL::7763 2 +DEAL::7764 2 +DEAL::7765 2 +DEAL::7766 2 +DEAL::7767 2 +DEAL::7768 2 +DEAL::7769 2 +DEAL::7770 2 +DEAL::7771 2 +DEAL::7772 2 +DEAL::7773 4 +DEAL::7774 4 +DEAL::7775 4 +DEAL::7776 4 +DEAL::7777 4 +DEAL::7778 4 +DEAL::7779 4 +DEAL::7780 4 +DEAL::7781 4 +DEAL::7782 4 +DEAL::7783 4 +DEAL::7784 4 +DEAL::7785 4 +DEAL::7786 4 +DEAL::7787 4 +DEAL::7788 4 +DEAL::7789 4 +DEAL::7790 4 +DEAL::7791 4 +DEAL::7792 4 +DEAL::7793 4 +DEAL::7794 4 +DEAL::7795 4 +DEAL::7796 4 +DEAL::7797 4 +DEAL::7798 4 +DEAL::7799 4 +DEAL::7800 4 +DEAL::7801 4 +DEAL::7802 4 +DEAL::7803 4 +DEAL::7804 4 +DEAL::7805 4 +DEAL::7806 4 +DEAL::7807 4 +DEAL::7808 4 +DEAL::7809 4 +DEAL::7810 4 +DEAL::7811 4 +DEAL::7812 4 +DEAL::7813 4 +DEAL::7814 4 +DEAL::7815 4 +DEAL::7816 4 +DEAL::7817 4 +DEAL::7818 4 +DEAL::7819 4 +DEAL::7820 4 +DEAL::7821 4 +DEAL::7822 4 +DEAL::7823 4 +DEAL::7824 4 +DEAL::7825 4 +DEAL::7826 4 +DEAL::7827 4 +DEAL::7828 4 +DEAL::7829 4 +DEAL::7830 4 +DEAL::7831 4 +DEAL::7832 4 +DEAL::7833 4 +DEAL::7834 4 +DEAL::7835 4 +DEAL::7836 4 +DEAL::7837 4 +DEAL::7838 4 +DEAL::7839 4 +DEAL::7840 4 +DEAL::7841 4 +DEAL::7842 4 +DEAL::7843 4 +DEAL::7844 4 +DEAL::7845 4 +DEAL::7846 4 +DEAL::7847 4 +DEAL::7848 4 +DEAL::7849 4 +DEAL::7850 4 +DEAL::7851 4 +DEAL::7852 4 +DEAL::7853 4 +DEAL::7854 4 +DEAL::7855 4 +DEAL::7856 4 +DEAL::7857 4 +DEAL::7858 4 +DEAL::7859 4 +DEAL::7860 4 +DEAL::7861 4 +DEAL::7862 4 +DEAL::7863 4 +DEAL::7864 4 +DEAL::7865 4 +DEAL::7866 4 +DEAL::7867 4 +DEAL::7868 4 +DEAL::7869 4 +DEAL::7870 4 +DEAL::7871 4 +DEAL::7872 4 +DEAL::7873 4 +DEAL::7874 4 +DEAL::7875 4 +DEAL::7876 4 +DEAL::7877 4 +DEAL::7878 4 +DEAL::7879 4 +DEAL::7880 4 +DEAL::7881 4 +DEAL::7882 4 +DEAL::7883 4 +DEAL::7884 4 +DEAL::7885 4 +DEAL::7886 4 +DEAL::7887 4 +DEAL::7888 4 +DEAL::7889 4 +DEAL::7890 3 +DEAL::7891 3 +DEAL::7892 3 +DEAL::7893 3 +DEAL::7894 3 +DEAL::7895 3 +DEAL::7896 3 +DEAL::7897 3 +DEAL::7898 3 +DEAL::7899 3 +DEAL::7900 3 +DEAL::7901 3 +DEAL::7902 3 +DEAL::7903 3 +DEAL::7904 3 +DEAL::7905 3 +DEAL::7906 3 +DEAL::7907 3 +DEAL::7908 3 +DEAL::7909 3 +DEAL::7910 3 +DEAL::7911 3 +DEAL::7912 3 +DEAL::7913 3 +DEAL::7914 3 +DEAL::7915 3 +DEAL::7916 3 +DEAL::7917 3 +DEAL::7918 3 +DEAL::7919 3 +DEAL::7920 3 +DEAL::7921 3 +DEAL::7922 3 +DEAL::7923 3 +DEAL::7924 3 +DEAL::7925 3 +DEAL::7926 3 +DEAL::7927 3 +DEAL::7928 3 +DEAL::7929 3 +DEAL::7930 3 +DEAL::7931 3 +DEAL::7932 3 +DEAL::7933 3 +DEAL::7934 3 +DEAL::7935 3 +DEAL::7936 3 +DEAL::7937 3 +DEAL::7938 3 +DEAL::7939 3 +DEAL::7940 3 +DEAL::7941 3 +DEAL::7942 3 +DEAL::7943 3 +DEAL::7944 3 +DEAL::7945 3 +DEAL::7946 3 +DEAL::7947 3 +DEAL::7948 3 +DEAL::7949 3 +DEAL::7950 3 +DEAL::7951 3 +DEAL::7952 3 +DEAL::7953 3 +DEAL::7954 3 +DEAL::7955 3 +DEAL::7956 3 +DEAL::7957 3 +DEAL::7958 3 +DEAL::7959 3 +DEAL::7960 3 +DEAL::7961 3 +DEAL::7962 3 +DEAL::7963 3 +DEAL::7964 3 +DEAL::7965 3 +DEAL::7966 3 +DEAL::7967 3 +DEAL::7968 3 +DEAL::7969 3 +DEAL::7970 3 +DEAL::7971 3 +DEAL::7972 3 +DEAL::7973 3 +DEAL::7974 3 +DEAL::7975 3 +DEAL::7976 3 +DEAL::7977 3 +DEAL::7978 3 +DEAL::7979 3 +DEAL::7980 3 +DEAL::7981 3 +DEAL::7982 3 +DEAL::7983 3 +DEAL::7984 3 +DEAL::7985 3 +DEAL::7986 3 +DEAL::7987 3 +DEAL::7988 3 +DEAL::7989 3 +DEAL::7990 3 +DEAL::7991 3 +DEAL::7992 3 +DEAL::7993 3 +DEAL::7994 3 +DEAL::7995 3 +DEAL::7996 3 +DEAL::7997 3 +DEAL::7998 3 +DEAL::7999 3 +DEAL::8000 3 +DEAL::8001 3 +DEAL::8002 3 +DEAL::8003 3 +DEAL::8004 3 +DEAL::8005 3 +DEAL::8006 3 +DEAL::8007 3 +DEAL::8008 3 +DEAL::8009 3 +DEAL::8010 3 +DEAL::8011 3 +DEAL::8012 3 +DEAL::8013 3 +DEAL::8014 3 +DEAL::8015 3 +DEAL::8016 3 +DEAL::8017 3 +DEAL::8018 3 +DEAL::8019 3 +DEAL::8020 3 +DEAL::8021 3 +DEAL::8022 3 +DEAL::8023 3 +DEAL::8024 3 +DEAL::8025 3 +DEAL::8026 3 +DEAL::8027 3 +DEAL::8028 3 +DEAL::8029 3 +DEAL::8030 3 +DEAL::8031 3 +DEAL::8032 3 +DEAL::8033 3 +DEAL::8034 3 +DEAL::8035 3 +DEAL::8036 3 +DEAL::8037 3 +DEAL::8038 3 +DEAL::8039 3 +DEAL::8040 3 +DEAL::8041 3 +DEAL::8042 3 +DEAL::8043 3 +DEAL::8044 3 +DEAL::8045 3 +DEAL::8046 3 +DEAL::8047 3 +DEAL::8048 3 +DEAL::8049 3 +DEAL::8050 3 +DEAL::8051 3 +DEAL::8052 3 +DEAL::8053 3 +DEAL::8054 3 +DEAL::8055 3 +DEAL::8056 3 +DEAL::8057 3 +DEAL::8058 3 +DEAL::8059 3 +DEAL::8060 3 +DEAL::8061 3 +DEAL::8062 3 +DEAL::8063 3 +DEAL::8064 3 +DEAL::8065 3 +DEAL::8066 3 +DEAL::8067 3 +DEAL::8068 3 +DEAL::8069 3 +DEAL::8070 3 +DEAL::8071 3 +DEAL::8072 3 +DEAL::8073 3 +DEAL::8074 3 +DEAL::8075 3 +DEAL::8076 3 +DEAL::8077 3 +DEAL::8078 3 +DEAL::8079 3 +DEAL::8080 3 +DEAL::8081 3 +DEAL::8082 3 +DEAL::8083 3 +DEAL::8084 3 +DEAL::8085 3 +DEAL::8086 3 +DEAL::8087 3 +DEAL::8088 3 +DEAL::8089 3 +DEAL::8090 3 +DEAL::8091 3 +DEAL::8092 3 +DEAL::8093 3 +DEAL::8094 3 +DEAL::8095 3 +DEAL::8096 3 +DEAL::8097 3 +DEAL::8098 3 +DEAL::8099 3 +DEAL::8100 3 +DEAL::8101 3 +DEAL::8102 3 +DEAL::8103 3 +DEAL::8104 3 +DEAL::8105 3 +DEAL::8106 3 +DEAL::8107 3 +DEAL::8108 3 +DEAL::8109 3 +DEAL::8110 3 +DEAL::8111 3 +DEAL::8112 3 +DEAL::8113 3 +DEAL::8114 3 +DEAL::8115 3 +DEAL::8116 3 +DEAL::8117 3 +DEAL::8118 3 +DEAL::8119 3 +DEAL::8120 3 +DEAL::8121 4 +DEAL::8122 4 +DEAL::8123 4 +DEAL::8124 4 +DEAL::8125 4 +DEAL::8126 4 +DEAL::8127 4 +DEAL::8128 4 +DEAL::8129 4 +DEAL::8130 4 +DEAL::8131 4 +DEAL::8132 4 +DEAL::8133 4 +DEAL::8134 4 +DEAL::8135 4 +DEAL::8136 4 +DEAL::8137 4 +DEAL::8138 4 +DEAL::8139 4 +DEAL::8140 4 +DEAL::8141 4 +DEAL::8142 4 +DEAL::8143 4 +DEAL::8144 4 +DEAL::8145 4 +DEAL::8146 4 +DEAL::8147 4 +DEAL::8148 4 +DEAL::8149 4 +DEAL::8150 4 +DEAL::8151 4 +DEAL::8152 4 +DEAL::8153 4 +DEAL::8154 4 +DEAL::8155 4 +DEAL::8156 4 +DEAL::8157 4 +DEAL::8158 4 +DEAL::8159 4 +DEAL::8160 4 +DEAL::8161 4 +DEAL::8162 4 +DEAL::8163 4 +DEAL::8164 4 +DEAL::8165 4 +DEAL::8166 4 +DEAL::8167 4 +DEAL::8168 4 +DEAL::8169 4 +DEAL::8170 4 +DEAL::8171 4 +DEAL::8172 4 +DEAL::8173 4 +DEAL::8174 4 +DEAL::8175 4 +DEAL::8176 4 +DEAL::8177 4 +DEAL::8178 4 +DEAL::8179 4 +DEAL::8180 4 +DEAL::8181 4 +DEAL::8182 4 +DEAL::8183 4 +DEAL::8184 4 +DEAL::8185 4 +DEAL::8186 4 +DEAL::8187 4 +DEAL::8188 4 +DEAL::8189 4 +DEAL::8190 4 +DEAL::8191 4 +DEAL::8192 4 +DEAL::8193 4 +DEAL::8194 4 +DEAL::8195 4 +DEAL::8196 4 +DEAL::8197 4 +DEAL::8198 4 +DEAL::8199 4 +DEAL::8200 4 +DEAL::8201 4 +DEAL::8202 4 +DEAL::8203 4 +DEAL::8204 4 +DEAL::8205 4 +DEAL::8206 4 +DEAL::8207 4 +DEAL::8208 4 +DEAL::8209 4 +DEAL::8210 4 +DEAL::8211 4 +DEAL::8212 4 +DEAL::8213 4 +DEAL::8214 4 +DEAL::8215 4 +DEAL::8216 4 +DEAL::8217 4 +DEAL::8218 4 +DEAL::8219 4 +DEAL::8220 4 +DEAL::8221 4 +DEAL::8222 4 +DEAL::8223 4 +DEAL::8224 4 +DEAL::8225 4 +DEAL::8226 4 +DEAL::8227 4 +DEAL::8228 4 +DEAL::8229 4 +DEAL::8230 4 +DEAL::8231 4 +DEAL::8232 4 +DEAL::8233 4 +DEAL::8234 4 +DEAL::8235 4 +DEAL::8236 4 +DEAL::8237 4 +DEAL::8238 0 +DEAL::8239 0 +DEAL::8240 0 +DEAL::8241 0 +DEAL::8242 0 +DEAL::8243 0 +DEAL::8244 0 +DEAL::8245 0 +DEAL::8246 0 +DEAL::8247 0 +DEAL::8248 0 +DEAL::8249 0 +DEAL::8250 0 +DEAL::8251 0 +DEAL::8252 0 +DEAL::8253 0 +DEAL::8254 0 +DEAL::8255 0 +DEAL::8256 0 +DEAL::8257 0 +DEAL::8258 0 +DEAL::8259 0 +DEAL::8260 0 +DEAL::8261 0 +DEAL::8262 0 +DEAL::8263 0 +DEAL::8264 0 +DEAL::8265 0 +DEAL::8266 0 +DEAL::8267 0 +DEAL::8268 0 +DEAL::8269 0 +DEAL::8270 0 +DEAL::8271 0 +DEAL::8272 0 +DEAL::8273 0 +DEAL::8274 0 +DEAL::8275 0 +DEAL::8276 0 +DEAL::8277 0 +DEAL::8278 0 +DEAL::8279 0 +DEAL::8280 0 +DEAL::8281 0 +DEAL::8282 0 +DEAL::8283 0 +DEAL::8284 0 +DEAL::8285 0 +DEAL::8286 0 +DEAL::8287 0 +DEAL::8288 0 +DEAL::8289 0 +DEAL::8290 0 +DEAL::8291 0 +DEAL::8292 0 +DEAL::8293 0 +DEAL::8294 0 +DEAL::8295 0 +DEAL::8296 0 +DEAL::8297 0 +DEAL::8298 0 +DEAL::8299 0 +DEAL::8300 0 +DEAL::8301 0 +DEAL::8302 0 +DEAL::8303 0 +DEAL::8304 0 +DEAL::8305 0 +DEAL::8306 0 +DEAL::8307 0 +DEAL::8308 0 +DEAL::8309 0 +DEAL::8310 0 +DEAL::8311 0 +DEAL::8312 0 +DEAL::8313 0 +DEAL::8314 0 +DEAL::8315 0 +DEAL::8316 0 +DEAL::8317 0 +DEAL::8318 0 +DEAL::8319 0 +DEAL::8320 0 +DEAL::8321 0 +DEAL::8322 0 +DEAL::8323 0 +DEAL::8324 0 +DEAL::8325 0 +DEAL::8326 0 +DEAL::8327 0 +DEAL::8328 0 +DEAL::8329 0 +DEAL::8330 0 +DEAL::8331 0 +DEAL::8332 0 +DEAL::8333 0 +DEAL::8334 0 +DEAL::8335 0 +DEAL::8336 0 +DEAL::8337 0 +DEAL::8338 0 +DEAL::8339 0 +DEAL::8340 0 +DEAL::8341 0 +DEAL::8342 0 +DEAL::8343 0 +DEAL::8344 0 +DEAL::8345 0 +DEAL::8346 0 +DEAL::8347 0 +DEAL::8348 0 +DEAL::8349 0 +DEAL::8350 0 +DEAL::8351 0 +DEAL::8352 0 +DEAL::8353 0 +DEAL::8354 0 +DEAL::8355 2 +DEAL::8356 2 +DEAL::8357 2 +DEAL::8358 2 +DEAL::8359 2 +DEAL::8360 2 +DEAL::8361 2 +DEAL::8362 2 +DEAL::8363 2 +DEAL::8364 2 +DEAL::8365 2 +DEAL::8366 2 +DEAL::8367 2 +DEAL::8368 2 +DEAL::8369 2 +DEAL::8370 2 +DEAL::8371 2 +DEAL::8372 2 +DEAL::8373 2 +DEAL::8374 2 +DEAL::8375 2 +DEAL::8376 2 +DEAL::8377 2 +DEAL::8378 2 +DEAL::8379 2 +DEAL::8380 2 +DEAL::8381 2 +DEAL::8382 2 +DEAL::8383 2 +DEAL::8384 2 +DEAL::8385 2 +DEAL::8386 2 +DEAL::8387 2 +DEAL::8388 2 +DEAL::8389 2 +DEAL::8390 2 +DEAL::8391 2 +DEAL::8392 2 +DEAL::8393 2 +DEAL::8394 2 +DEAL::8395 2 +DEAL::8396 2 +DEAL::8397 2 +DEAL::8398 2 +DEAL::8399 2 +DEAL::8400 2 +DEAL::8401 2 +DEAL::8402 2 +DEAL::8403 2 +DEAL::8404 2 +DEAL::8405 2 +DEAL::8406 2 +DEAL::8407 2 +DEAL::8408 2 +DEAL::8409 2 +DEAL::8410 2 +DEAL::8411 2 +DEAL::8412 2 +DEAL::8413 2 +DEAL::8414 2 +DEAL::8415 2 +DEAL::8416 2 +DEAL::8417 2 +DEAL::8418 2 +DEAL::8419 2 +DEAL::8420 2 +DEAL::8421 2 +DEAL::8422 2 +DEAL::8423 2 +DEAL::8424 2 +DEAL::8425 2 +DEAL::8426 2 +DEAL::8427 2 +DEAL::8428 2 +DEAL::8429 2 +DEAL::8430 2 +DEAL::8431 2 +DEAL::8432 2 +DEAL::8433 2 +DEAL::8434 2 +DEAL::8435 2 +DEAL::8436 2 +DEAL::8437 2 +DEAL::8438 2 +DEAL::8439 2 +DEAL::8440 2 +DEAL::8441 2 +DEAL::8442 2 +DEAL::8443 2 +DEAL::8444 2 +DEAL::8445 2 +DEAL::8446 2 +DEAL::8447 2 +DEAL::8448 2 +DEAL::8449 2 +DEAL::8450 2 +DEAL::8451 2 +DEAL::8452 2 +DEAL::8453 2 +DEAL::8454 2 +DEAL::8455 2 +DEAL::8456 2 +DEAL::8457 2 +DEAL::8458 2 +DEAL::8459 2 +DEAL::8460 2 +DEAL::8461 2 +DEAL::8462 2 +DEAL::8463 2 +DEAL::8464 2 +DEAL::8465 2 +DEAL::8466 2 +DEAL::8467 2 +DEAL::8468 2 +DEAL::8469 2 +DEAL::8470 2 +DEAL::8471 2 +DEAL::8472 3 +DEAL::8473 3 +DEAL::8474 3 +DEAL::8475 3 +DEAL::8476 3 +DEAL::8477 3 +DEAL::8478 3 +DEAL::8479 3 +DEAL::8480 3 +DEAL::8481 3 +DEAL::8482 3 +DEAL::8483 3 +DEAL::8484 3 +DEAL::8485 3 +DEAL::8486 3 +DEAL::8487 3 +DEAL::8488 3 +DEAL::8489 3 +DEAL::8490 3 +DEAL::8491 3 +DEAL::8492 3 +DEAL::8493 3 +DEAL::8494 3 +DEAL::8495 3 +DEAL::8496 3 +DEAL::8497 3 +DEAL::8498 3 +DEAL::8499 3 +DEAL::8500 3 +DEAL::8501 3 +DEAL::8502 3 +DEAL::8503 3 +DEAL::8504 3 +DEAL::8505 3 +DEAL::8506 3 +DEAL::8507 3 +DEAL::8508 3 +DEAL::8509 3 +DEAL::8510 3 +DEAL::8511 3 +DEAL::8512 3 +DEAL::8513 3 +DEAL::8514 3 +DEAL::8515 3 +DEAL::8516 3 +DEAL::8517 3 +DEAL::8518 3 +DEAL::8519 3 +DEAL::8520 3 +DEAL::8521 3 +DEAL::8522 3 +DEAL::8523 3 +DEAL::8524 3 +DEAL::8525 3 +DEAL::8526 3 +DEAL::8527 3 +DEAL::8528 3 +DEAL::8529 3 +DEAL::8530 3 +DEAL::8531 3 +DEAL::8532 3 +DEAL::8533 3 +DEAL::8534 3 +DEAL::8535 3 +DEAL::8536 3 +DEAL::8537 3 +DEAL::8538 3 +DEAL::8539 3 +DEAL::8540 3 +DEAL::8541 3 +DEAL::8542 3 +DEAL::8543 3 +DEAL::8544 3 +DEAL::8545 3 +DEAL::8546 3 +DEAL::8547 3 +DEAL::8548 3 +DEAL::8549 3 +DEAL::8550 3 +DEAL::8551 3 +DEAL::8552 3 +DEAL::8553 3 +DEAL::8554 3 +DEAL::8555 3 +DEAL::8556 3 +DEAL::8557 3 +DEAL::8558 3 +DEAL::8559 3 +DEAL::8560 3 +DEAL::8561 3 +DEAL::8562 3 +DEAL::8563 3 +DEAL::8564 3 +DEAL::8565 3 +DEAL::8566 3 +DEAL::8567 3 +DEAL::8568 3 +DEAL::8569 3 +DEAL::8570 3 +DEAL::8571 3 +DEAL::8572 3 +DEAL::8573 3 +DEAL::8574 3 +DEAL::8575 3 +DEAL::8576 3 +DEAL::8577 3 +DEAL::8578 3 +DEAL::8579 3 +DEAL::8580 3 +DEAL::8581 3 +DEAL::8582 3 +DEAL::8583 3 +DEAL::8584 3 +DEAL::8585 3 +DEAL::8586 3 +DEAL::8587 3 +DEAL::8588 3 diff --git a/tests/metis/metis_03.output b/tests/metis/metis_03.with_64bit_indices=off.output similarity index 100% rename from tests/metis/metis_03.output rename to tests/metis/metis_03.with_64bit_indices=off.output diff --git a/tests/metis/metis_03.with_64bit_indices=on.output b/tests/metis/metis_03.with_64bit_indices=on.output new file mode 100644 index 0000000000..462d4f8019 --- /dev/null +++ b/tests/metis/metis_03.with_64bit_indices=on.output @@ -0,0 +1,12948 @@ + +DEAL::Dimension = 1 +# vtk DataFile Version 3.0 +#This file was generated +ASCII +DATASET UNSTRUCTURED_GRID + +POINTS 230 double +0.750000 0 0 +0.781250 0 0 +0.437500 0 0 +0.468750 0 0 +0.531250 0 0 +0.562500 0 0 +0.406250 0 0 +0.437500 0 0 +0.968750 0 0 +1.00000 0 0 +0.156250 0 0 +0.187500 0 0 +0.250000 0 0 +0.281250 0 0 +0.281250 0 0 +0.312500 0 0 +0.562500 0 0 +0.593750 0 0 +0.593750 0 0 +0.625000 0 0 +0.781250 0 0 +0.796875 0 0 +0.468750 0 0 +0.484375 0 0 +0.218750 0 0 +0.234375 0 0 +0.234375 0 0 +0.250000 0 0 +0.187500 0 0 +0.203125 0 0 +0.375000 0 0 +0.390625 0 0 +0.359375 0 0 +0.375000 0 0 +0.0312500 0 0 +0.0468750 0 0 +0.500000 0 0 +0.515625 0 0 +0.515625 0 0 +0.531250 0 0 +0.328125 0 0 +0.343750 0 0 +0.125000 0 0 +0.140625 0 0 +0.906250 0 0 +0.921875 0 0 +0.921875 0 0 +0.937500 0 0 +0.718750 0 0 +0.734375 0 0 +0.734375 0 0 +0.750000 0 0 +0.937500 0 0 +0.953125 0 0 +0.953125 0 0 +0.968750 0 0 +0.875000 0 0 +0.890625 0 0 +0.890625 0 0 +0.906250 0 0 +0.859375 0 0 +0.867188 0 0 +0.867188 0 0 +0.875000 0 0 +0.625000 0 0 +0.632812 0 0 +0.492188 0 0 +0.500000 0 0 +0.796875 0 0 +0.804688 0 0 +0.804688 0 0 +0.812500 0 0 +0.703125 0 0 +0.710938 0 0 +0.640625 0 0 +0.648438 0 0 +0.687500 0 0 +0.695312 0 0 +0.695312 0 0 +0.703125 0 0 +0.664062 0 0 +0.671875 0 0 +0.203125 0 0 +0.210938 0 0 +0.343750 0 0 +0.351562 0 0 +0.351562 0 0 +0.359375 0 0 +0.0156250 0 0 +0.0234375 0 0 +0.0234375 0 0 +0.0312500 0 0 +0.828125 0 0 +0.835938 0 0 +0.835938 0 0 +0.843750 0 0 +0.671875 0 0 +0.679688 0 0 +0.679688 0 0 +0.687500 0 0 +0.390625 0 0 +0.398438 0 0 +0.398438 0 0 +0.406250 0 0 +0.0468750 0 0 +0.0546875 0 0 +0.0546875 0 0 +0.0625000 0 0 +0.312500 0 0 +0.320312 0 0 +0.320312 0 0 +0.328125 0 0 +0.140625 0 0 +0.148438 0 0 +0.148438 0 0 +0.156250 0 0 +0.00781250 0 0 +0.0117188 0 0 +0.0937500 0 0 +0.0976562 0 0 +0.00390625 0 0 +0.00781250 0 0 +0.0625000 0 0 +0.0664062 0 0 +0.855469 0 0 +0.859375 0 0 +0.488281 0 0 +0.492188 0 0 +0.121094 0 0 +0.125000 0 0 +0.0703125 0 0 +0.0742188 0 0 +0.632812 0 0 +0.636719 0 0 +0.636719 0 0 +0.640625 0 0 +0.0898438 0 0 +0.0937500 0 0 +0.812500 0 0 +0.816406 0 0 +0.710938 0 0 +0.714844 0 0 +0.714844 0 0 +0.718750 0 0 +0.101562 0 0 +0.105469 0 0 +0.105469 0 0 +0.109375 0 0 +0.843750 0 0 +0.847656 0 0 +0.847656 0 0 +0.851562 0 0 +0.0781250 0 0 +0.0820312 0 0 +0.0820312 0 0 +0.0859375 0 0 +0.820312 0 0 +0.824219 0 0 +0.824219 0 0 +0.828125 0 0 +0.648438 0 0 +0.652344 0 0 +0.652344 0 0 +0.656250 0 0 +0.656250 0 0 +0.660156 0 0 +0.660156 0 0 +0.664062 0 0 +0.210938 0 0 +0.214844 0 0 +0.214844 0 0 +0.218750 0 0 +0.0117188 0 0 +0.0136719 0 0 +0.0136719 0 0 +0.0156250 0 0 +0.00195312 0 0 +0.00390625 0 0 +0.0664062 0 0 +0.0683594 0 0 +0.484375 0 0 +0.486328 0 0 +0.486328 0 0 +0.488281 0 0 +0.109375 0 0 +0.111328 0 0 +0.111328 0 0 +0.113281 0 0 +0.0976562 0 0 +0.0996094 0 0 +0.0996094 0 0 +0.101562 0 0 +0.851562 0 0 +0.853516 0 0 +0.853516 0 0 +0.855469 0 0 +0.117188 0 0 +0.119141 0 0 +0.119141 0 0 +0.121094 0 0 +0.0742188 0 0 +0.0761719 0 0 +0.0761719 0 0 +0.0781250 0 0 +0.0859375 0 0 +0.0878906 0 0 +0.0878906 0 0 +0.0898438 0 0 +0.816406 0 0 +0.818359 0 0 +0.818359 0 0 +0.820312 0 0 +0.116211 0 0 +0.117188 0 0 +0.113281 0 0 +0.114258 0 0 +0.114258 0 0 +0.115234 0 0 +0.00000 0 0 +0.000976562 0 0 +0.000976562 0 0 +0.00195312 0 0 +0.0683594 0 0 +0.0693359 0 0 +0.0693359 0 0 +0.0703125 0 0 +0.115234 0 0 +0.115723 0 0 +0.115723 0 0 +0.116211 0 0 + +CELLS 115 345 +2 0 1 +2 2 3 +2 4 5 +2 6 7 +2 8 9 +2 10 11 +2 12 13 +2 14 15 +2 16 17 +2 18 19 +2 20 21 +2 22 23 +2 24 25 +2 26 27 +2 28 29 +2 30 31 +2 32 33 +2 34 35 +2 36 37 +2 38 39 +2 40 41 +2 42 43 +2 44 45 +2 46 47 +2 48 49 +2 50 51 +2 52 53 +2 54 55 +2 56 57 +2 58 59 +2 60 61 +2 62 63 +2 64 65 +2 66 67 +2 68 69 +2 70 71 +2 72 73 +2 74 75 +2 76 77 +2 78 79 +2 80 81 +2 82 83 +2 84 85 +2 86 87 +2 88 89 +2 90 91 +2 92 93 +2 94 95 +2 96 97 +2 98 99 +2 100 101 +2 102 103 +2 104 105 +2 106 107 +2 108 109 +2 110 111 +2 112 113 +2 114 115 +2 116 117 +2 118 119 +2 120 121 +2 122 123 +2 124 125 +2 126 127 +2 128 129 +2 130 131 +2 132 133 +2 134 135 +2 136 137 +2 138 139 +2 140 141 +2 142 143 +2 144 145 +2 146 147 +2 148 149 +2 150 151 +2 152 153 +2 154 155 +2 156 157 +2 158 159 +2 160 161 +2 162 163 +2 164 165 +2 166 167 +2 168 169 +2 170 171 +2 172 173 +2 174 175 +2 176 177 +2 178 179 +2 180 181 +2 182 183 +2 184 185 +2 186 187 +2 188 189 +2 190 191 +2 192 193 +2 194 195 +2 196 197 +2 198 199 +2 200 201 +2 202 203 +2 204 205 +2 206 207 +2 208 209 +2 210 211 +2 212 213 +2 214 215 +2 216 217 +2 218 219 +2 220 221 +2 222 223 +2 224 225 +2 226 227 +2 228 229 + +CELL_TYPES 115 + 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 +POINT_DATA 230 +SCALARS partitions double 1 +LOOKUP_TABLE default +0.00000 0.00000 4.00000 4.00000 0.00000 0.00000 4.00000 4.00000 1.00000 1.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 4.00000 4.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 3.00000 3.00000 3.00000 3.00000 1.00000 1.00000 1.00000 1.00000 0.00000 0.00000 0.00000 0.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 0.00000 0.00000 4.00000 4.00000 1.00000 1.00000 1.00000 1.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 4.00000 4.00000 4.00000 4.00000 1.00000 1.00000 1.00000 1.00000 0.00000 0.00000 0.00000 0.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 4.00000 4.00000 2.00000 2.00000 4.00000 4.00000 2.00000 2.00000 1.00000 1.00000 4.00000 4.00000 3.00000 3.00000 2.00000 2.00000 0.00000 0.00000 0.00000 0.00000 2.00000 2.00000 1.00000 1.00000 0.00000 0.00000 0.00000 0.00000 2.00000 2.00000 2.00000 2.00000 1.00000 1.00000 1.00000 1.00000 2.00000 2.00000 2.00000 2.00000 1.00000 1.00000 1.00000 1.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 3.00000 3.00000 3.00000 3.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 2.00000 2.00000 4.00000 4.00000 4.00000 4.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 1.00000 1.00000 1.00000 1.00000 3.00000 3.00000 3.00000 3.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 1.00000 1.00000 1.00000 1.00000 3.00000 3.00000 2.00000 2.00000 2.00000 2.00000 4.00000 4.00000 4.00000 4.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 +DEAL::Dimension = 2 +# vtk DataFile Version 3.0 +#This file was generated +ASCII +DATASET UNSTRUCTURED_GRID + +POINTS 4744 double +0.875000 0.875000 0 +1.00000 0.875000 0 +0.875000 1.00000 0 +1.00000 1.00000 0 +0.687500 0.375000 0 +0.750000 0.375000 0 +0.687500 0.437500 0 +0.750000 0.437500 0 +0.750000 0.875000 0 +0.812500 0.875000 0 +0.750000 0.937500 0 +0.812500 0.937500 0 +0.812500 0.875000 0 +0.875000 0.875000 0 +0.812500 0.937500 0 +0.875000 0.937500 0 +0.812500 0.937500 0 +0.875000 0.937500 0 +0.812500 1.00000 0 +0.875000 1.00000 0 +0.187500 0.0625000 0 +0.250000 0.0625000 0 +0.187500 0.125000 0 +0.250000 0.125000 0 +0.125000 0.125000 0 +0.187500 0.125000 0 +0.125000 0.187500 0 +0.187500 0.187500 0 +0.500000 0.437500 0 +0.562500 0.437500 0 +0.500000 0.500000 0 +0.562500 0.500000 0 +0.687500 0.125000 0 +0.750000 0.125000 0 +0.687500 0.187500 0 +0.750000 0.187500 0 +0.0625000 0.562500 0 +0.125000 0.562500 0 +0.0625000 0.625000 0 +0.125000 0.625000 0 +0.125000 0.625000 0 +0.187500 0.625000 0 +0.125000 0.687500 0 +0.187500 0.687500 0 +0.187500 0.625000 0 +0.250000 0.625000 0 +0.187500 0.687500 0 +0.250000 0.687500 0 +0.500000 0.937500 0 +0.562500 0.937500 0 +0.500000 1.00000 0 +0.562500 1.00000 0 +0.562500 0.937500 0 +0.625000 0.937500 0 +0.562500 1.00000 0 +0.625000 1.00000 0 +0.125000 0.250000 0 +0.187500 0.250000 0 +0.125000 0.312500 0 +0.187500 0.312500 0 +0.125000 0.312500 0 +0.187500 0.312500 0 +0.125000 0.375000 0 +0.187500 0.375000 0 +0.437500 0.375000 0 +0.500000 0.375000 0 +0.437500 0.437500 0 +0.500000 0.437500 0 +0.375000 0.562500 0 +0.437500 0.562500 0 +0.375000 0.625000 0 +0.437500 0.625000 0 +0.187500 0.875000 0 +0.250000 0.875000 0 +0.187500 0.937500 0 +0.250000 0.937500 0 +0.125000 0.937500 0 +0.187500 0.937500 0 +0.125000 1.00000 0 +0.187500 1.00000 0 +0.187500 0.937500 0 +0.250000 0.937500 0 +0.187500 1.00000 0 +0.250000 1.00000 0 +0.0625000 0.187500 0 +0.125000 0.187500 0 +0.0625000 0.250000 0 +0.125000 0.250000 0 +0.562500 0.312500 0 +0.625000 0.312500 0 +0.562500 0.375000 0 +0.625000 0.375000 0 +0.375000 0.00000 0 +0.437500 0.00000 0 +0.375000 0.0625000 0 +0.437500 0.0625000 0 +0.437500 0.0625000 0 +0.500000 0.0625000 0 +0.437500 0.125000 0 +0.500000 0.125000 0 +0.500000 0.125000 0 +0.562500 0.125000 0 +0.500000 0.187500 0 +0.562500 0.187500 0 +0.562500 0.125000 0 +0.625000 0.125000 0 +0.562500 0.187500 0 +0.625000 0.187500 0 +0.500000 0.187500 0 +0.562500 0.187500 0 +0.500000 0.250000 0 +0.562500 0.250000 0 +0.562500 0.187500 0 +0.625000 0.187500 0 +0.562500 0.250000 0 +0.625000 0.250000 0 +0.750000 0.375000 0 +0.812500 0.375000 0 +0.750000 0.437500 0 +0.812500 0.437500 0 +0.812500 0.437500 0 +0.875000 0.437500 0 +0.812500 0.500000 0 +0.875000 0.500000 0 +0.187500 0.562500 0 +0.250000 0.562500 0 +0.187500 0.625000 0 +0.250000 0.625000 0 +0.937500 0.562500 0 +1.00000 0.562500 0 +0.937500 0.625000 0 +1.00000 0.625000 0 +0.812500 0.687500 0 +0.875000 0.687500 0 +0.812500 0.750000 0 +0.875000 0.750000 0 +0.625000 0.750000 0 +0.687500 0.750000 0 +0.625000 0.812500 0 +0.687500 0.812500 0 +0.687500 0.750000 0 +0.750000 0.750000 0 +0.687500 0.812500 0 +0.750000 0.812500 0 +0.687500 0.812500 0 +0.750000 0.812500 0 +0.687500 0.875000 0 +0.750000 0.875000 0 +0.875000 0.812500 0 +0.937500 0.812500 0 +0.875000 0.875000 0 +0.937500 0.875000 0 +0.937500 0.812500 0 +1.00000 0.812500 0 +0.937500 0.875000 0 +1.00000 0.875000 0 +0.00000 0.375000 0 +0.0625000 0.375000 0 +0.00000 0.437500 0 +0.0625000 0.437500 0 +0.0625000 0.375000 0 +0.125000 0.375000 0 +0.0625000 0.437500 0 +0.125000 0.437500 0 +0.312500 0.437500 0 +0.375000 0.437500 0 +0.312500 0.500000 0 +0.375000 0.500000 0 +0.750000 0.125000 0 +0.812500 0.125000 0 +0.750000 0.187500 0 +0.812500 0.187500 0 +0.812500 0.187500 0 +0.875000 0.187500 0 +0.812500 0.250000 0 +0.875000 0.250000 0 +0.312500 0.625000 0 +0.375000 0.625000 0 +0.312500 0.687500 0 +0.375000 0.687500 0 +0.0625000 0.812500 0 +0.125000 0.812500 0 +0.0625000 0.875000 0 +0.125000 0.875000 0 +0.437500 0.875000 0 +0.500000 0.875000 0 +0.437500 0.937500 0 +0.500000 0.937500 0 +0.437500 0.937500 0 +0.500000 0.937500 0 +0.437500 1.00000 0 +0.500000 1.00000 0 +0.375000 0.125000 0 +0.437500 0.125000 0 +0.375000 0.187500 0 +0.437500 0.187500 0 +0.437500 0.125000 0 +0.500000 0.125000 0 +0.437500 0.187500 0 +0.500000 0.187500 0 +0.437500 0.187500 0 +0.500000 0.187500 0 +0.437500 0.250000 0 +0.500000 0.250000 0 +0.937500 0.375000 0 +1.00000 0.375000 0 +0.937500 0.437500 0 +1.00000 0.437500 0 +0.875000 0.437500 0 +0.937500 0.437500 0 +0.875000 0.500000 0 +0.937500 0.500000 0 +0.937500 0.437500 0 +1.00000 0.437500 0 +0.937500 0.500000 0 +1.00000 0.500000 0 +0.812500 0.500000 0 +0.875000 0.500000 0 +0.812500 0.562500 0 +0.875000 0.562500 0 +0.812500 0.562500 0 +0.875000 0.562500 0 +0.812500 0.625000 0 +0.875000 0.625000 0 +0.875000 0.625000 0 +0.937500 0.625000 0 +0.875000 0.687500 0 +0.937500 0.687500 0 +0.937500 0.625000 0 +1.00000 0.625000 0 +0.937500 0.687500 0 +1.00000 0.687500 0 +0.937500 0.687500 0 +1.00000 0.687500 0 +0.937500 0.750000 0 +1.00000 0.750000 0 +0.687500 0.875000 0 +0.750000 0.875000 0 +0.687500 0.937500 0 +0.750000 0.937500 0 +0.625000 0.937500 0 +0.687500 0.937500 0 +0.625000 1.00000 0 +0.687500 1.00000 0 +0.687500 0.937500 0 +0.750000 0.937500 0 +0.687500 1.00000 0 +0.750000 1.00000 0 +0.750000 0.750000 0 +0.812500 0.750000 0 +0.750000 0.812500 0 +0.812500 0.812500 0 +0.812500 0.750000 0 +0.875000 0.750000 0 +0.812500 0.812500 0 +0.875000 0.812500 0 +0.812500 0.812500 0 +0.875000 0.812500 0 +0.812500 0.875000 0 +0.875000 0.875000 0 +0.125000 0.375000 0 +0.187500 0.375000 0 +0.125000 0.437500 0 +0.187500 0.437500 0 +0.187500 0.437500 0 +0.250000 0.437500 0 +0.187500 0.500000 0 +0.250000 0.500000 0 +0.937500 0.00000 0 +1.00000 0.00000 0 +0.937500 0.0625000 0 +1.00000 0.0625000 0 +0.875000 0.0625000 0 +0.937500 0.0625000 0 +0.875000 0.125000 0 +0.937500 0.125000 0 +0.937500 0.0625000 0 +1.00000 0.0625000 0 +0.937500 0.125000 0 +1.00000 0.125000 0 +0.875000 0.125000 0 +0.937500 0.125000 0 +0.875000 0.187500 0 +0.937500 0.187500 0 +0.937500 0.125000 0 +1.00000 0.125000 0 +0.937500 0.187500 0 +1.00000 0.187500 0 +0.937500 0.187500 0 +1.00000 0.187500 0 +0.937500 0.250000 0 +1.00000 0.250000 0 +0.312500 0.750000 0 +0.375000 0.750000 0 +0.312500 0.812500 0 +0.375000 0.812500 0 +0.250000 0.812500 0 +0.312500 0.812500 0 +0.250000 0.875000 0 +0.312500 0.875000 0 +0.312500 0.812500 0 +0.375000 0.812500 0 +0.312500 0.875000 0 +0.375000 0.875000 0 +0.500000 0.00000 0 +0.562500 0.00000 0 +0.500000 0.0625000 0 +0.562500 0.0625000 0 +0.562500 0.00000 0 +0.625000 0.00000 0 +0.562500 0.0625000 0 +0.625000 0.0625000 0 +0.500000 0.0625000 0 +0.562500 0.0625000 0 +0.500000 0.125000 0 +0.562500 0.125000 0 +0.562500 0.0625000 0 +0.625000 0.0625000 0 +0.562500 0.125000 0 +0.625000 0.125000 0 +0.625000 0.00000 0 +0.687500 0.00000 0 +0.625000 0.0625000 0 +0.687500 0.0625000 0 +0.687500 0.00000 0 +0.750000 0.00000 0 +0.687500 0.0625000 0 +0.750000 0.0625000 0 +0.625000 0.0625000 0 +0.687500 0.0625000 0 +0.625000 0.125000 0 +0.687500 0.125000 0 +0.687500 0.0625000 0 +0.750000 0.0625000 0 +0.687500 0.125000 0 +0.750000 0.125000 0 +0.00000 0.250000 0 +0.0625000 0.250000 0 +0.00000 0.312500 0 +0.0625000 0.312500 0 +0.0625000 0.250000 0 +0.125000 0.250000 0 +0.0625000 0.312500 0 +0.125000 0.312500 0 +0.00000 0.312500 0 +0.0625000 0.312500 0 +0.00000 0.375000 0 +0.0625000 0.375000 0 +0.0625000 0.312500 0 +0.125000 0.312500 0 +0.0625000 0.375000 0 +0.125000 0.375000 0 +0.750000 0.00000 0 +0.812500 0.00000 0 +0.750000 0.0625000 0 +0.812500 0.0625000 0 +0.812500 0.00000 0 +0.875000 0.00000 0 +0.812500 0.0625000 0 +0.875000 0.0625000 0 +0.750000 0.0625000 0 +0.812500 0.0625000 0 +0.750000 0.125000 0 +0.812500 0.125000 0 +0.812500 0.0625000 0 +0.875000 0.0625000 0 +0.812500 0.125000 0 +0.875000 0.125000 0 +0.250000 0.500000 0 +0.312500 0.500000 0 +0.250000 0.562500 0 +0.312500 0.562500 0 +0.312500 0.500000 0 +0.375000 0.500000 0 +0.312500 0.562500 0 +0.375000 0.562500 0 +0.250000 0.562500 0 +0.312500 0.562500 0 +0.250000 0.625000 0 +0.312500 0.625000 0 +0.312500 0.562500 0 +0.375000 0.562500 0 +0.312500 0.625000 0 +0.375000 0.625000 0 +0.00000 0.875000 0 +0.0625000 0.875000 0 +0.00000 0.937500 0 +0.0625000 0.937500 0 +0.0625000 0.875000 0 +0.125000 0.875000 0 +0.0625000 0.937500 0 +0.125000 0.937500 0 +0.00000 0.937500 0 +0.0625000 0.937500 0 +0.00000 1.00000 0 +0.0625000 1.00000 0 +0.0625000 0.937500 0 +0.125000 0.937500 0 +0.0625000 1.00000 0 +0.125000 1.00000 0 +0.250000 0.875000 0 +0.312500 0.875000 0 +0.250000 0.937500 0 +0.312500 0.937500 0 +0.312500 0.875000 0 +0.375000 0.875000 0 +0.312500 0.937500 0 +0.375000 0.937500 0 +0.250000 0.937500 0 +0.312500 0.937500 0 +0.250000 1.00000 0 +0.312500 1.00000 0 +0.312500 0.937500 0 +0.375000 0.937500 0 +0.312500 1.00000 0 +0.375000 1.00000 0 +0.656250 0.656250 0 +0.687500 0.656250 0 +0.656250 0.687500 0 +0.687500 0.687500 0 +0.718750 0.281250 0 +0.750000 0.281250 0 +0.718750 0.312500 0 +0.750000 0.312500 0 +0.0312500 0.00000 0 +0.0625000 0.00000 0 +0.0312500 0.0312500 0 +0.0625000 0.0312500 0 +0.656250 0.437500 0 +0.687500 0.437500 0 +0.656250 0.468750 0 +0.687500 0.468750 0 +0.625000 0.468750 0 +0.656250 0.468750 0 +0.625000 0.500000 0 +0.656250 0.500000 0 +0.656250 0.562500 0 +0.687500 0.562500 0 +0.656250 0.593750 0 +0.687500 0.593750 0 +0.500000 0.625000 0 +0.531250 0.625000 0 +0.500000 0.656250 0 +0.531250 0.656250 0 +0.531250 0.656250 0 +0.562500 0.656250 0 +0.531250 0.687500 0 +0.562500 0.687500 0 +0.562500 0.656250 0 +0.593750 0.656250 0 +0.562500 0.687500 0 +0.593750 0.687500 0 +0.281250 0.218750 0 +0.312500 0.218750 0 +0.281250 0.250000 0 +0.312500 0.250000 0 +0.0312500 0.656250 0 +0.0625000 0.656250 0 +0.0312500 0.687500 0 +0.0625000 0.687500 0 +0.500000 0.812500 0 +0.531250 0.812500 0 +0.500000 0.843750 0 +0.531250 0.843750 0 +0.687500 0.687500 0 +0.718750 0.687500 0 +0.687500 0.718750 0 +0.718750 0.718750 0 +0.687500 0.718750 0 +0.718750 0.718750 0 +0.687500 0.750000 0 +0.718750 0.750000 0 +0.718750 0.718750 0 +0.750000 0.718750 0 +0.718750 0.750000 0 +0.750000 0.750000 0 +0.687500 0.437500 0 +0.718750 0.437500 0 +0.687500 0.468750 0 +0.718750 0.468750 0 +0.718750 0.437500 0 +0.750000 0.437500 0 +0.718750 0.468750 0 +0.750000 0.468750 0 +0.687500 0.468750 0 +0.718750 0.468750 0 +0.687500 0.500000 0 +0.718750 0.500000 0 +0.718750 0.468750 0 +0.750000 0.468750 0 +0.718750 0.500000 0 +0.750000 0.500000 0 +0.500000 0.687500 0 +0.531250 0.687500 0 +0.500000 0.718750 0 +0.531250 0.718750 0 +0.250000 0.125000 0 +0.281250 0.125000 0 +0.250000 0.156250 0 +0.281250 0.156250 0 +0.281250 0.156250 0 +0.312500 0.156250 0 +0.281250 0.187500 0 +0.312500 0.187500 0 +0.812500 0.343750 0 +0.843750 0.343750 0 +0.812500 0.375000 0 +0.843750 0.375000 0 +0.0312500 0.687500 0 +0.0625000 0.687500 0 +0.0312500 0.718750 0 +0.0625000 0.718750 0 +0.00000 0.718750 0 +0.0312500 0.718750 0 +0.00000 0.750000 0 +0.0312500 0.750000 0 +0.562500 0.812500 0 +0.593750 0.812500 0 +0.562500 0.843750 0 +0.593750 0.843750 0 +0.593750 0.812500 0 +0.625000 0.812500 0 +0.593750 0.843750 0 +0.625000 0.843750 0 +0.562500 0.843750 0 +0.593750 0.843750 0 +0.562500 0.875000 0 +0.593750 0.875000 0 +0.187500 0.0312500 0 +0.218750 0.0312500 0 +0.187500 0.0625000 0 +0.218750 0.0625000 0 +0.218750 0.0312500 0 +0.250000 0.0312500 0 +0.218750 0.0625000 0 +0.250000 0.0625000 0 +0.187500 0.218750 0 +0.218750 0.218750 0 +0.187500 0.250000 0 +0.218750 0.250000 0 +0.593750 0.500000 0 +0.625000 0.500000 0 +0.593750 0.531250 0 +0.625000 0.531250 0 +0.562500 0.531250 0 +0.593750 0.531250 0 +0.562500 0.562500 0 +0.593750 0.562500 0 +0.343750 0.0625000 0 +0.375000 0.0625000 0 +0.343750 0.0937500 0 +0.375000 0.0937500 0 +0.312500 0.0937500 0 +0.343750 0.0937500 0 +0.312500 0.125000 0 +0.343750 0.125000 0 +0.687500 0.187500 0 +0.718750 0.187500 0 +0.687500 0.218750 0 +0.718750 0.218750 0 +0.718750 0.187500 0 +0.750000 0.187500 0 +0.718750 0.218750 0 +0.750000 0.218750 0 +0.0625000 0.531250 0 +0.0937500 0.531250 0 +0.0625000 0.562500 0 +0.0937500 0.562500 0 +0.0937500 0.531250 0 +0.125000 0.531250 0 +0.0937500 0.562500 0 +0.125000 0.562500 0 +0.187500 0.687500 0 +0.218750 0.687500 0 +0.187500 0.718750 0 +0.218750 0.718750 0 +0.218750 0.687500 0 +0.250000 0.687500 0 +0.218750 0.718750 0 +0.250000 0.718750 0 +0.187500 0.250000 0 +0.218750 0.250000 0 +0.187500 0.281250 0 +0.218750 0.281250 0 +0.218750 0.250000 0 +0.250000 0.250000 0 +0.218750 0.281250 0 +0.250000 0.281250 0 +0.187500 0.281250 0 +0.218750 0.281250 0 +0.187500 0.312500 0 +0.218750 0.312500 0 +0.218750 0.281250 0 +0.250000 0.281250 0 +0.218750 0.312500 0 +0.250000 0.312500 0 +0.312500 0.312500 0 +0.343750 0.312500 0 +0.312500 0.343750 0 +0.343750 0.343750 0 +0.343750 0.343750 0 +0.375000 0.343750 0 +0.343750 0.375000 0 +0.375000 0.375000 0 +0.437500 0.500000 0 +0.468750 0.500000 0 +0.437500 0.531250 0 +0.468750 0.531250 0 +0.437500 0.625000 0 +0.468750 0.625000 0 +0.437500 0.656250 0 +0.468750 0.656250 0 +0.437500 0.656250 0 +0.468750 0.656250 0 +0.437500 0.687500 0 +0.468750 0.687500 0 +0.468750 0.656250 0 +0.500000 0.656250 0 +0.468750 0.687500 0 +0.500000 0.687500 0 +0.437500 0.718750 0 +0.468750 0.718750 0 +0.437500 0.750000 0 +0.468750 0.750000 0 +0.468750 0.750000 0 +0.500000 0.750000 0 +0.468750 0.781250 0 +0.500000 0.781250 0 +0.437500 0.781250 0 +0.468750 0.781250 0 +0.437500 0.812500 0 +0.468750 0.812500 0 +0.625000 0.312500 0 +0.656250 0.312500 0 +0.625000 0.343750 0 +0.656250 0.343750 0 +0.656250 0.312500 0 +0.687500 0.312500 0 +0.656250 0.343750 0 +0.687500 0.343750 0 +0.625000 0.343750 0 +0.656250 0.343750 0 +0.625000 0.375000 0 +0.656250 0.375000 0 +0.687500 0.312500 0 +0.718750 0.312500 0 +0.687500 0.343750 0 +0.718750 0.343750 0 +0.718750 0.312500 0 +0.750000 0.312500 0 +0.718750 0.343750 0 +0.750000 0.343750 0 +0.687500 0.343750 0 +0.718750 0.343750 0 +0.687500 0.375000 0 +0.718750 0.375000 0 +0.718750 0.343750 0 +0.750000 0.343750 0 +0.718750 0.375000 0 +0.750000 0.375000 0 +0.687500 0.625000 0 +0.718750 0.625000 0 +0.687500 0.656250 0 +0.718750 0.656250 0 +0.687500 0.656250 0 +0.718750 0.656250 0 +0.687500 0.687500 0 +0.718750 0.687500 0 +0.718750 0.656250 0 +0.750000 0.656250 0 +0.718750 0.687500 0 +0.750000 0.687500 0 +0.0625000 0.0625000 0 +0.0937500 0.0625000 0 +0.0625000 0.0937500 0 +0.0937500 0.0937500 0 +0.0937500 0.0625000 0 +0.125000 0.0625000 0 +0.0937500 0.0937500 0 +0.125000 0.0937500 0 +0.0625000 0.0937500 0 +0.0937500 0.0937500 0 +0.0625000 0.125000 0 +0.0937500 0.125000 0 +0.625000 0.375000 0 +0.656250 0.375000 0 +0.625000 0.406250 0 +0.656250 0.406250 0 +0.656250 0.375000 0 +0.687500 0.375000 0 +0.656250 0.406250 0 +0.687500 0.406250 0 +0.625000 0.406250 0 +0.656250 0.406250 0 +0.625000 0.437500 0 +0.656250 0.437500 0 +0.656250 0.406250 0 +0.687500 0.406250 0 +0.656250 0.437500 0 +0.687500 0.437500 0 +0.687500 0.500000 0 +0.718750 0.500000 0 +0.687500 0.531250 0 +0.718750 0.531250 0 +0.687500 0.531250 0 +0.718750 0.531250 0 +0.687500 0.562500 0 +0.718750 0.562500 0 +0.718750 0.531250 0 +0.750000 0.531250 0 +0.718750 0.562500 0 +0.750000 0.562500 0 +0.562500 0.687500 0 +0.593750 0.687500 0 +0.562500 0.718750 0 +0.593750 0.718750 0 +0.593750 0.687500 0 +0.625000 0.687500 0 +0.593750 0.718750 0 +0.625000 0.718750 0 +0.562500 0.718750 0 +0.593750 0.718750 0 +0.562500 0.750000 0 +0.593750 0.750000 0 +0.312500 0.125000 0 +0.343750 0.125000 0 +0.312500 0.156250 0 +0.343750 0.156250 0 +0.343750 0.125000 0 +0.375000 0.125000 0 +0.343750 0.156250 0 +0.375000 0.156250 0 +0.312500 0.156250 0 +0.343750 0.156250 0 +0.312500 0.187500 0 +0.343750 0.187500 0 +0.343750 0.156250 0 +0.375000 0.156250 0 +0.343750 0.187500 0 +0.375000 0.187500 0 +0.312500 0.187500 0 +0.343750 0.187500 0 +0.312500 0.218750 0 +0.343750 0.218750 0 +0.312500 0.218750 0 +0.343750 0.218750 0 +0.312500 0.250000 0 +0.343750 0.250000 0 +0.343750 0.218750 0 +0.375000 0.218750 0 +0.343750 0.250000 0 +0.375000 0.250000 0 +0.812500 0.250000 0 +0.843750 0.250000 0 +0.812500 0.281250 0 +0.843750 0.281250 0 +0.843750 0.250000 0 +0.875000 0.250000 0 +0.843750 0.281250 0 +0.875000 0.281250 0 +0.812500 0.281250 0 +0.843750 0.281250 0 +0.812500 0.312500 0 +0.843750 0.312500 0 +0.0625000 0.687500 0 +0.0937500 0.687500 0 +0.0625000 0.718750 0 +0.0937500 0.718750 0 +0.0937500 0.687500 0 +0.125000 0.687500 0 +0.0937500 0.718750 0 +0.125000 0.718750 0 +0.0625000 0.718750 0 +0.0937500 0.718750 0 +0.0625000 0.750000 0 +0.0937500 0.750000 0 +0.0937500 0.718750 0 +0.125000 0.718750 0 +0.0937500 0.750000 0 +0.125000 0.750000 0 +0.500000 0.750000 0 +0.531250 0.750000 0 +0.500000 0.781250 0 +0.531250 0.781250 0 +0.500000 0.781250 0 +0.531250 0.781250 0 +0.500000 0.812500 0 +0.531250 0.812500 0 +0.531250 0.781250 0 +0.562500 0.781250 0 +0.531250 0.812500 0 +0.562500 0.812500 0 +0.125000 0.00000 0 +0.156250 0.00000 0 +0.125000 0.0312500 0 +0.156250 0.0312500 0 +0.156250 0.00000 0 +0.187500 0.00000 0 +0.156250 0.0312500 0 +0.187500 0.0312500 0 +0.125000 0.0312500 0 +0.156250 0.0312500 0 +0.125000 0.0625000 0 +0.156250 0.0625000 0 +0.187500 0.125000 0 +0.218750 0.125000 0 +0.187500 0.156250 0 +0.218750 0.156250 0 +0.218750 0.125000 0 +0.250000 0.125000 0 +0.218750 0.156250 0 +0.250000 0.156250 0 +0.187500 0.156250 0 +0.218750 0.156250 0 +0.187500 0.187500 0 +0.218750 0.187500 0 +0.218750 0.156250 0 +0.250000 0.156250 0 +0.218750 0.187500 0 +0.250000 0.187500 0 +0.500000 0.375000 0 +0.531250 0.375000 0 +0.500000 0.406250 0 +0.531250 0.406250 0 +0.500000 0.406250 0 +0.531250 0.406250 0 +0.500000 0.437500 0 +0.531250 0.437500 0 +0.531250 0.406250 0 +0.562500 0.406250 0 +0.531250 0.437500 0 +0.562500 0.437500 0 +0.500000 0.500000 0 +0.531250 0.500000 0 +0.500000 0.531250 0 +0.531250 0.531250 0 +0.531250 0.500000 0 +0.562500 0.500000 0 +0.531250 0.531250 0 +0.562500 0.531250 0 +0.500000 0.531250 0 +0.531250 0.531250 0 +0.500000 0.562500 0 +0.531250 0.562500 0 +0.250000 0.00000 0 +0.281250 0.00000 0 +0.250000 0.0312500 0 +0.281250 0.0312500 0 +0.281250 0.00000 0 +0.312500 0.00000 0 +0.281250 0.0312500 0 +0.312500 0.0312500 0 +0.250000 0.0312500 0 +0.281250 0.0312500 0 +0.250000 0.0625000 0 +0.281250 0.0625000 0 +0.281250 0.0312500 0 +0.312500 0.0312500 0 +0.281250 0.0625000 0 +0.312500 0.0625000 0 +0.625000 0.187500 0 +0.656250 0.187500 0 +0.625000 0.218750 0 +0.656250 0.218750 0 +0.625000 0.218750 0 +0.656250 0.218750 0 +0.625000 0.250000 0 +0.656250 0.250000 0 +0.656250 0.218750 0 +0.687500 0.218750 0 +0.656250 0.250000 0 +0.687500 0.250000 0 +0.00000 0.500000 0 +0.0312500 0.500000 0 +0.00000 0.531250 0 +0.0312500 0.531250 0 +0.0312500 0.500000 0 +0.0625000 0.500000 0 +0.0312500 0.531250 0 +0.0625000 0.531250 0 +0.00000 0.531250 0 +0.0312500 0.531250 0 +0.00000 0.562500 0 +0.0312500 0.562500 0 +0.00000 0.562500 0 +0.0312500 0.562500 0 +0.00000 0.593750 0 +0.0312500 0.593750 0 +0.0312500 0.562500 0 +0.0625000 0.562500 0 +0.0312500 0.593750 0 +0.0625000 0.593750 0 +0.00000 0.593750 0 +0.0312500 0.593750 0 +0.00000 0.625000 0 +0.0312500 0.625000 0 +0.0312500 0.593750 0 +0.0625000 0.593750 0 +0.0312500 0.625000 0 +0.0625000 0.625000 0 +0.500000 0.875000 0 +0.531250 0.875000 0 +0.500000 0.906250 0 +0.531250 0.906250 0 +0.500000 0.906250 0 +0.531250 0.906250 0 +0.500000 0.937500 0 +0.531250 0.937500 0 +0.531250 0.906250 0 +0.562500 0.906250 0 +0.531250 0.937500 0 +0.562500 0.937500 0 +0.187500 0.312500 0 +0.218750 0.312500 0 +0.187500 0.343750 0 +0.218750 0.343750 0 +0.218750 0.312500 0 +0.250000 0.312500 0 +0.218750 0.343750 0 +0.250000 0.343750 0 +0.187500 0.343750 0 +0.218750 0.343750 0 +0.187500 0.375000 0 +0.218750 0.375000 0 +0.281250 0.250000 0 +0.312500 0.250000 0 +0.281250 0.281250 0 +0.312500 0.281250 0 +0.250000 0.281250 0 +0.281250 0.281250 0 +0.250000 0.312500 0 +0.281250 0.312500 0 +0.281250 0.281250 0 +0.312500 0.281250 0 +0.281250 0.312500 0 +0.312500 0.312500 0 +0.312500 0.250000 0 +0.343750 0.250000 0 +0.312500 0.281250 0 +0.343750 0.281250 0 +0.312500 0.281250 0 +0.343750 0.281250 0 +0.312500 0.312500 0 +0.343750 0.312500 0 +0.343750 0.281250 0 +0.375000 0.281250 0 +0.343750 0.312500 0 +0.375000 0.312500 0 +0.375000 0.437500 0 +0.406250 0.437500 0 +0.375000 0.468750 0 +0.406250 0.468750 0 +0.406250 0.437500 0 +0.437500 0.437500 0 +0.406250 0.468750 0 +0.437500 0.468750 0 +0.375000 0.468750 0 +0.406250 0.468750 0 +0.375000 0.500000 0 +0.406250 0.500000 0 +0.437500 0.562500 0 +0.468750 0.562500 0 +0.437500 0.593750 0 +0.468750 0.593750 0 +0.468750 0.562500 0 +0.500000 0.562500 0 +0.468750 0.593750 0 +0.500000 0.593750 0 +0.437500 0.593750 0 +0.468750 0.593750 0 +0.437500 0.625000 0 +0.468750 0.625000 0 +0.468750 0.593750 0 +0.500000 0.593750 0 +0.468750 0.625000 0 +0.500000 0.625000 0 +0.375000 0.687500 0 +0.406250 0.687500 0 +0.375000 0.718750 0 +0.406250 0.718750 0 +0.375000 0.718750 0 +0.406250 0.718750 0 +0.375000 0.750000 0 +0.406250 0.750000 0 +0.406250 0.718750 0 +0.437500 0.718750 0 +0.406250 0.750000 0 +0.437500 0.750000 0 +0.375000 0.812500 0 +0.406250 0.812500 0 +0.375000 0.843750 0 +0.406250 0.843750 0 +0.406250 0.812500 0 +0.437500 0.812500 0 +0.406250 0.843750 0 +0.437500 0.843750 0 +0.375000 0.843750 0 +0.406250 0.843750 0 +0.375000 0.875000 0 +0.406250 0.875000 0 +0.437500 0.812500 0 +0.468750 0.812500 0 +0.437500 0.843750 0 +0.468750 0.843750 0 +0.468750 0.812500 0 +0.500000 0.812500 0 +0.468750 0.843750 0 +0.500000 0.843750 0 +0.437500 0.843750 0 +0.468750 0.843750 0 +0.437500 0.875000 0 +0.468750 0.875000 0 +0.468750 0.843750 0 +0.500000 0.843750 0 +0.468750 0.875000 0 +0.500000 0.875000 0 +0.00000 0.125000 0 +0.0312500 0.125000 0 +0.00000 0.156250 0 +0.0312500 0.156250 0 +0.00000 0.156250 0 +0.0312500 0.156250 0 +0.00000 0.187500 0 +0.0312500 0.187500 0 +0.0312500 0.156250 0 +0.0625000 0.156250 0 +0.0312500 0.187500 0 +0.0625000 0.187500 0 +0.500000 0.250000 0 +0.531250 0.250000 0 +0.500000 0.281250 0 +0.531250 0.281250 0 +0.531250 0.250000 0 +0.562500 0.250000 0 +0.531250 0.281250 0 +0.562500 0.281250 0 +0.500000 0.281250 0 +0.531250 0.281250 0 +0.500000 0.312500 0 +0.531250 0.312500 0 +0.375000 0.0625000 0 +0.406250 0.0625000 0 +0.375000 0.0937500 0 +0.406250 0.0937500 0 +0.406250 0.0625000 0 +0.437500 0.0625000 0 +0.406250 0.0937500 0 +0.437500 0.0937500 0 +0.375000 0.0937500 0 +0.406250 0.0937500 0 +0.375000 0.125000 0 +0.406250 0.125000 0 +0.406250 0.0937500 0 +0.437500 0.0937500 0 +0.406250 0.125000 0 +0.437500 0.125000 0 +0.875000 0.250000 0 +0.906250 0.250000 0 +0.875000 0.281250 0 +0.906250 0.281250 0 +0.875000 0.281250 0 +0.906250 0.281250 0 +0.875000 0.312500 0 +0.906250 0.312500 0 +0.906250 0.281250 0 +0.937500 0.281250 0 +0.906250 0.312500 0 +0.937500 0.312500 0 +0.875000 0.312500 0 +0.906250 0.312500 0 +0.875000 0.343750 0 +0.906250 0.343750 0 +0.906250 0.312500 0 +0.937500 0.312500 0 +0.906250 0.343750 0 +0.937500 0.343750 0 +0.875000 0.343750 0 +0.906250 0.343750 0 +0.875000 0.375000 0 +0.906250 0.375000 0 +0.750000 0.437500 0 +0.781250 0.437500 0 +0.750000 0.468750 0 +0.781250 0.468750 0 +0.781250 0.437500 0 +0.812500 0.437500 0 +0.781250 0.468750 0 +0.812500 0.468750 0 +0.750000 0.468750 0 +0.781250 0.468750 0 +0.750000 0.500000 0 +0.781250 0.500000 0 +0.781250 0.468750 0 +0.812500 0.468750 0 +0.781250 0.500000 0 +0.812500 0.500000 0 +0.125000 0.500000 0 +0.156250 0.500000 0 +0.125000 0.531250 0 +0.156250 0.531250 0 +0.125000 0.531250 0 +0.156250 0.531250 0 +0.125000 0.562500 0 +0.156250 0.562500 0 +0.156250 0.531250 0 +0.187500 0.531250 0 +0.156250 0.562500 0 +0.187500 0.562500 0 +0.875000 0.500000 0 +0.906250 0.500000 0 +0.875000 0.531250 0 +0.906250 0.531250 0 +0.906250 0.500000 0 +0.937500 0.500000 0 +0.906250 0.531250 0 +0.937500 0.531250 0 +0.875000 0.531250 0 +0.906250 0.531250 0 +0.875000 0.562500 0 +0.906250 0.562500 0 +0.750000 0.687500 0 +0.781250 0.687500 0 +0.750000 0.718750 0 +0.781250 0.718750 0 +0.781250 0.687500 0 +0.812500 0.687500 0 +0.781250 0.718750 0 +0.812500 0.718750 0 +0.750000 0.718750 0 +0.781250 0.718750 0 +0.750000 0.750000 0 +0.781250 0.750000 0 +0.781250 0.718750 0 +0.812500 0.718750 0 +0.781250 0.750000 0 +0.812500 0.750000 0 +0.875000 0.750000 0 +0.906250 0.750000 0 +0.875000 0.781250 0 +0.906250 0.781250 0 +0.875000 0.781250 0 +0.906250 0.781250 0 +0.875000 0.812500 0 +0.906250 0.812500 0 +0.906250 0.781250 0 +0.937500 0.781250 0 +0.906250 0.812500 0 +0.937500 0.812500 0 +0.00000 0.437500 0 +0.0312500 0.437500 0 +0.00000 0.468750 0 +0.0312500 0.468750 0 +0.0312500 0.437500 0 +0.0625000 0.437500 0 +0.0312500 0.468750 0 +0.0625000 0.468750 0 +0.00000 0.468750 0 +0.0312500 0.468750 0 +0.00000 0.500000 0 +0.0312500 0.500000 0 +0.0625000 0.437500 0 +0.0937500 0.437500 0 +0.0625000 0.468750 0 +0.0937500 0.468750 0 +0.0937500 0.437500 0 +0.125000 0.437500 0 +0.0937500 0.468750 0 +0.125000 0.468750 0 +0.0625000 0.468750 0 +0.0937500 0.468750 0 +0.0625000 0.500000 0 +0.0937500 0.500000 0 +0.375000 0.312500 0 +0.406250 0.312500 0 +0.375000 0.343750 0 +0.406250 0.343750 0 +0.375000 0.343750 0 +0.406250 0.343750 0 +0.375000 0.375000 0 +0.406250 0.375000 0 +0.406250 0.343750 0 +0.437500 0.343750 0 +0.406250 0.375000 0 +0.437500 0.375000 0 +0.250000 0.375000 0 +0.281250 0.375000 0 +0.250000 0.406250 0 +0.281250 0.406250 0 +0.281250 0.375000 0 +0.312500 0.375000 0 +0.281250 0.406250 0 +0.312500 0.406250 0 +0.250000 0.406250 0 +0.281250 0.406250 0 +0.250000 0.437500 0 +0.281250 0.437500 0 +0.750000 0.187500 0 +0.781250 0.187500 0 +0.750000 0.218750 0 +0.781250 0.218750 0 +0.781250 0.187500 0 +0.812500 0.187500 0 +0.781250 0.218750 0 +0.812500 0.218750 0 +0.750000 0.218750 0 +0.781250 0.218750 0 +0.750000 0.250000 0 +0.781250 0.250000 0 +0.781250 0.218750 0 +0.812500 0.218750 0 +0.781250 0.250000 0 +0.812500 0.250000 0 +0.250000 0.687500 0 +0.281250 0.687500 0 +0.250000 0.718750 0 +0.281250 0.718750 0 +0.250000 0.718750 0 +0.281250 0.718750 0 +0.250000 0.750000 0 +0.281250 0.750000 0 +0.281250 0.718750 0 +0.312500 0.718750 0 +0.281250 0.750000 0 +0.312500 0.750000 0 +0.00000 0.750000 0 +0.0312500 0.750000 0 +0.00000 0.781250 0 +0.0312500 0.781250 0 +0.0312500 0.750000 0 +0.0625000 0.750000 0 +0.0312500 0.781250 0 +0.0625000 0.781250 0 +0.00000 0.781250 0 +0.0312500 0.781250 0 +0.00000 0.812500 0 +0.0312500 0.812500 0 +0.187500 0.750000 0 +0.218750 0.750000 0 +0.187500 0.781250 0 +0.218750 0.781250 0 +0.187500 0.781250 0 +0.218750 0.781250 0 +0.187500 0.812500 0 +0.218750 0.812500 0 +0.218750 0.781250 0 +0.250000 0.781250 0 +0.218750 0.812500 0 +0.250000 0.812500 0 +0.125000 0.812500 0 +0.156250 0.812500 0 +0.125000 0.843750 0 +0.156250 0.843750 0 +0.125000 0.843750 0 +0.156250 0.843750 0 +0.125000 0.875000 0 +0.156250 0.875000 0 +0.156250 0.843750 0 +0.187500 0.843750 0 +0.156250 0.875000 0 +0.187500 0.875000 0 +0.625000 0.687500 0 +0.656250 0.687500 0 +0.625000 0.718750 0 +0.656250 0.718750 0 +0.656250 0.687500 0 +0.687500 0.687500 0 +0.656250 0.718750 0 +0.687500 0.718750 0 +0.625000 0.718750 0 +0.656250 0.718750 0 +0.625000 0.750000 0 +0.656250 0.750000 0 +0.656250 0.718750 0 +0.687500 0.718750 0 +0.656250 0.750000 0 +0.687500 0.750000 0 +0.0625000 0.00000 0 +0.0937500 0.00000 0 +0.0625000 0.0312500 0 +0.0937500 0.0312500 0 +0.0937500 0.00000 0 +0.125000 0.00000 0 +0.0937500 0.0312500 0 +0.125000 0.0312500 0 +0.0625000 0.0312500 0 +0.0937500 0.0312500 0 +0.0625000 0.0625000 0 +0.0937500 0.0625000 0 +0.0937500 0.0312500 0 +0.125000 0.0312500 0 +0.0937500 0.0625000 0 +0.125000 0.0625000 0 +0.687500 0.562500 0 +0.718750 0.562500 0 +0.687500 0.593750 0 +0.718750 0.593750 0 +0.718750 0.562500 0 +0.750000 0.562500 0 +0.718750 0.593750 0 +0.750000 0.593750 0 +0.687500 0.593750 0 +0.718750 0.593750 0 +0.687500 0.625000 0 +0.718750 0.625000 0 +0.718750 0.593750 0 +0.750000 0.593750 0 +0.718750 0.625000 0 +0.750000 0.625000 0 +0.750000 0.250000 0 +0.781250 0.250000 0 +0.750000 0.281250 0 +0.781250 0.281250 0 +0.781250 0.250000 0 +0.812500 0.250000 0 +0.781250 0.281250 0 +0.812500 0.281250 0 +0.750000 0.281250 0 +0.781250 0.281250 0 +0.750000 0.312500 0 +0.781250 0.312500 0 +0.781250 0.281250 0 +0.812500 0.281250 0 +0.781250 0.312500 0 +0.812500 0.312500 0 +0.750000 0.312500 0 +0.781250 0.312500 0 +0.750000 0.343750 0 +0.781250 0.343750 0 +0.781250 0.312500 0 +0.812500 0.312500 0 +0.781250 0.343750 0 +0.812500 0.343750 0 +0.750000 0.343750 0 +0.781250 0.343750 0 +0.750000 0.375000 0 +0.781250 0.375000 0 +0.781250 0.343750 0 +0.812500 0.343750 0 +0.781250 0.375000 0 +0.812500 0.375000 0 +0.0625000 0.625000 0 +0.0937500 0.625000 0 +0.0625000 0.656250 0 +0.0937500 0.656250 0 +0.0937500 0.625000 0 +0.125000 0.625000 0 +0.0937500 0.656250 0 +0.125000 0.656250 0 +0.0625000 0.656250 0 +0.0937500 0.656250 0 +0.0625000 0.687500 0 +0.0937500 0.687500 0 +0.0937500 0.656250 0 +0.125000 0.656250 0 +0.0937500 0.687500 0 +0.125000 0.687500 0 +0.562500 0.750000 0 +0.593750 0.750000 0 +0.562500 0.781250 0 +0.593750 0.781250 0 +0.593750 0.750000 0 +0.625000 0.750000 0 +0.593750 0.781250 0 +0.625000 0.781250 0 +0.562500 0.781250 0 +0.593750 0.781250 0 +0.562500 0.812500 0 +0.593750 0.812500 0 +0.593750 0.781250 0 +0.625000 0.781250 0 +0.593750 0.812500 0 +0.625000 0.812500 0 +0.750000 0.937500 0 +0.781250 0.937500 0 +0.750000 0.968750 0 +0.781250 0.968750 0 +0.781250 0.937500 0 +0.812500 0.937500 0 +0.781250 0.968750 0 +0.812500 0.968750 0 +0.750000 0.968750 0 +0.781250 0.968750 0 +0.750000 1.00000 0 +0.781250 1.00000 0 +0.781250 0.968750 0 +0.812500 0.968750 0 +0.781250 1.00000 0 +0.812500 1.00000 0 +0.125000 0.0625000 0 +0.156250 0.0625000 0 +0.125000 0.0937500 0 +0.156250 0.0937500 0 +0.156250 0.0625000 0 +0.187500 0.0625000 0 +0.156250 0.0937500 0 +0.187500 0.0937500 0 +0.125000 0.0937500 0 +0.156250 0.0937500 0 +0.125000 0.125000 0 +0.156250 0.125000 0 +0.156250 0.0937500 0 +0.187500 0.0937500 0 +0.156250 0.125000 0 +0.187500 0.125000 0 +0.125000 0.187500 0 +0.156250 0.187500 0 +0.125000 0.218750 0 +0.156250 0.218750 0 +0.156250 0.187500 0 +0.187500 0.187500 0 +0.156250 0.218750 0 +0.187500 0.218750 0 +0.125000 0.218750 0 +0.156250 0.218750 0 +0.125000 0.250000 0 +0.156250 0.250000 0 +0.156250 0.218750 0 +0.187500 0.218750 0 +0.156250 0.250000 0 +0.187500 0.250000 0 +0.562500 0.375000 0 +0.593750 0.375000 0 +0.562500 0.406250 0 +0.593750 0.406250 0 +0.593750 0.375000 0 +0.625000 0.375000 0 +0.593750 0.406250 0 +0.625000 0.406250 0 +0.562500 0.406250 0 +0.593750 0.406250 0 +0.562500 0.437500 0 +0.593750 0.437500 0 +0.593750 0.406250 0 +0.625000 0.406250 0 +0.593750 0.437500 0 +0.625000 0.437500 0 +0.562500 0.437500 0 +0.593750 0.437500 0 +0.562500 0.468750 0 +0.593750 0.468750 0 +0.593750 0.437500 0 +0.625000 0.437500 0 +0.593750 0.468750 0 +0.625000 0.468750 0 +0.562500 0.468750 0 +0.593750 0.468750 0 +0.562500 0.500000 0 +0.593750 0.500000 0 +0.593750 0.468750 0 +0.625000 0.468750 0 +0.593750 0.500000 0 +0.625000 0.500000 0 +0.500000 0.562500 0 +0.531250 0.562500 0 +0.500000 0.593750 0 +0.531250 0.593750 0 +0.531250 0.562500 0 +0.562500 0.562500 0 +0.531250 0.593750 0 +0.562500 0.593750 0 +0.500000 0.593750 0 +0.531250 0.593750 0 +0.500000 0.625000 0 +0.531250 0.625000 0 +0.531250 0.593750 0 +0.562500 0.593750 0 +0.531250 0.625000 0 +0.562500 0.625000 0 +0.312500 0.00000 0 +0.343750 0.00000 0 +0.312500 0.0312500 0 +0.343750 0.0312500 0 +0.343750 0.00000 0 +0.375000 0.00000 0 +0.343750 0.0312500 0 +0.375000 0.0312500 0 +0.312500 0.0312500 0 +0.343750 0.0312500 0 +0.312500 0.0625000 0 +0.343750 0.0625000 0 +0.343750 0.0312500 0 +0.375000 0.0312500 0 +0.343750 0.0625000 0 +0.375000 0.0625000 0 +0.250000 0.0625000 0 +0.281250 0.0625000 0 +0.250000 0.0937500 0 +0.281250 0.0937500 0 +0.281250 0.0625000 0 +0.312500 0.0625000 0 +0.281250 0.0937500 0 +0.312500 0.0937500 0 +0.250000 0.0937500 0 +0.281250 0.0937500 0 +0.250000 0.125000 0 +0.281250 0.125000 0 +0.281250 0.0937500 0 +0.312500 0.0937500 0 +0.281250 0.125000 0 +0.312500 0.125000 0 +0.625000 0.125000 0 +0.656250 0.125000 0 +0.625000 0.156250 0 +0.656250 0.156250 0 +0.656250 0.125000 0 +0.687500 0.125000 0 +0.656250 0.156250 0 +0.687500 0.156250 0 +0.625000 0.156250 0 +0.656250 0.156250 0 +0.625000 0.187500 0 +0.656250 0.187500 0 +0.656250 0.156250 0 +0.687500 0.156250 0 +0.656250 0.187500 0 +0.687500 0.187500 0 +0.125000 0.687500 0 +0.156250 0.687500 0 +0.125000 0.718750 0 +0.156250 0.718750 0 +0.156250 0.687500 0 +0.187500 0.687500 0 +0.156250 0.718750 0 +0.187500 0.718750 0 +0.125000 0.718750 0 +0.156250 0.718750 0 +0.125000 0.750000 0 +0.156250 0.750000 0 +0.156250 0.718750 0 +0.187500 0.718750 0 +0.156250 0.750000 0 +0.187500 0.750000 0 +0.562500 0.875000 0 +0.593750 0.875000 0 +0.562500 0.906250 0 +0.593750 0.906250 0 +0.593750 0.875000 0 +0.625000 0.875000 0 +0.593750 0.906250 0 +0.625000 0.906250 0 +0.562500 0.906250 0 +0.593750 0.906250 0 +0.562500 0.937500 0 +0.593750 0.937500 0 +0.593750 0.906250 0 +0.625000 0.906250 0 +0.593750 0.937500 0 +0.625000 0.937500 0 +0.250000 0.312500 0 +0.281250 0.312500 0 +0.250000 0.343750 0 +0.281250 0.343750 0 +0.281250 0.312500 0 +0.312500 0.312500 0 +0.281250 0.343750 0 +0.312500 0.343750 0 +0.250000 0.343750 0 +0.281250 0.343750 0 +0.250000 0.375000 0 +0.281250 0.375000 0 +0.281250 0.343750 0 +0.312500 0.343750 0 +0.281250 0.375000 0 +0.312500 0.375000 0 +0.375000 0.375000 0 +0.406250 0.375000 0 +0.375000 0.406250 0 +0.406250 0.406250 0 +0.406250 0.375000 0 +0.437500 0.375000 0 +0.406250 0.406250 0 +0.437500 0.406250 0 +0.375000 0.406250 0 +0.406250 0.406250 0 +0.375000 0.437500 0 +0.406250 0.437500 0 +0.406250 0.406250 0 +0.437500 0.406250 0 +0.406250 0.437500 0 +0.437500 0.437500 0 +0.437500 0.437500 0 +0.468750 0.437500 0 +0.437500 0.468750 0 +0.468750 0.468750 0 +0.468750 0.437500 0 +0.500000 0.437500 0 +0.468750 0.468750 0 +0.500000 0.468750 0 +0.437500 0.468750 0 +0.468750 0.468750 0 +0.437500 0.500000 0 +0.468750 0.500000 0 +0.468750 0.468750 0 +0.500000 0.468750 0 +0.468750 0.500000 0 +0.500000 0.500000 0 +0.375000 0.500000 0 +0.406250 0.500000 0 +0.375000 0.531250 0 +0.406250 0.531250 0 +0.406250 0.500000 0 +0.437500 0.500000 0 +0.406250 0.531250 0 +0.437500 0.531250 0 +0.375000 0.531250 0 +0.406250 0.531250 0 +0.375000 0.562500 0 +0.406250 0.562500 0 +0.406250 0.531250 0 +0.437500 0.531250 0 +0.406250 0.562500 0 +0.437500 0.562500 0 +0.375000 0.625000 0 +0.406250 0.625000 0 +0.375000 0.656250 0 +0.406250 0.656250 0 +0.406250 0.625000 0 +0.437500 0.625000 0 +0.406250 0.656250 0 +0.437500 0.656250 0 +0.375000 0.656250 0 +0.406250 0.656250 0 +0.375000 0.687500 0 +0.406250 0.687500 0 +0.406250 0.656250 0 +0.437500 0.656250 0 +0.406250 0.687500 0 +0.437500 0.687500 0 +0.125000 0.875000 0 +0.156250 0.875000 0 +0.125000 0.906250 0 +0.156250 0.906250 0 +0.156250 0.875000 0 +0.187500 0.875000 0 +0.156250 0.906250 0 +0.187500 0.906250 0 +0.125000 0.906250 0 +0.156250 0.906250 0 +0.125000 0.937500 0 +0.156250 0.937500 0 +0.156250 0.906250 0 +0.187500 0.906250 0 +0.156250 0.937500 0 +0.187500 0.937500 0 +0.375000 0.750000 0 +0.406250 0.750000 0 +0.375000 0.781250 0 +0.406250 0.781250 0 +0.406250 0.750000 0 +0.437500 0.750000 0 +0.406250 0.781250 0 +0.437500 0.781250 0 +0.375000 0.781250 0 +0.406250 0.781250 0 +0.375000 0.812500 0 +0.406250 0.812500 0 +0.406250 0.781250 0 +0.437500 0.781250 0 +0.406250 0.812500 0 +0.437500 0.812500 0 +0.0625000 0.125000 0 +0.0937500 0.125000 0 +0.0625000 0.156250 0 +0.0937500 0.156250 0 +0.0937500 0.125000 0 +0.125000 0.125000 0 +0.0937500 0.156250 0 +0.125000 0.156250 0 +0.0625000 0.156250 0 +0.0937500 0.156250 0 +0.0625000 0.187500 0 +0.0937500 0.187500 0 +0.0937500 0.156250 0 +0.125000 0.156250 0 +0.0937500 0.187500 0 +0.125000 0.187500 0 +0.00000 0.187500 0 +0.0312500 0.187500 0 +0.00000 0.218750 0 +0.0312500 0.218750 0 +0.0312500 0.187500 0 +0.0625000 0.187500 0 +0.0312500 0.218750 0 +0.0625000 0.218750 0 +0.00000 0.218750 0 +0.0312500 0.218750 0 +0.00000 0.250000 0 +0.0312500 0.250000 0 +0.0312500 0.218750 0 +0.0625000 0.218750 0 +0.0312500 0.250000 0 +0.0625000 0.250000 0 +0.562500 0.250000 0 +0.593750 0.250000 0 +0.562500 0.281250 0 +0.593750 0.281250 0 +0.593750 0.250000 0 +0.625000 0.250000 0 +0.593750 0.281250 0 +0.625000 0.281250 0 +0.562500 0.281250 0 +0.593750 0.281250 0 +0.562500 0.312500 0 +0.593750 0.312500 0 +0.593750 0.281250 0 +0.625000 0.281250 0 +0.593750 0.312500 0 +0.625000 0.312500 0 +0.500000 0.312500 0 +0.531250 0.312500 0 +0.500000 0.343750 0 +0.531250 0.343750 0 +0.531250 0.312500 0 +0.562500 0.312500 0 +0.531250 0.343750 0 +0.562500 0.343750 0 +0.500000 0.343750 0 +0.531250 0.343750 0 +0.500000 0.375000 0 +0.531250 0.375000 0 +0.531250 0.343750 0 +0.562500 0.343750 0 +0.531250 0.375000 0 +0.562500 0.375000 0 +0.437500 0.00000 0 +0.468750 0.00000 0 +0.437500 0.0312500 0 +0.468750 0.0312500 0 +0.468750 0.00000 0 +0.500000 0.00000 0 +0.468750 0.0312500 0 +0.500000 0.0312500 0 +0.437500 0.0312500 0 +0.468750 0.0312500 0 +0.437500 0.0625000 0 +0.468750 0.0625000 0 +0.468750 0.0312500 0 +0.500000 0.0312500 0 +0.468750 0.0625000 0 +0.500000 0.0625000 0 +0.937500 0.250000 0 +0.968750 0.250000 0 +0.937500 0.281250 0 +0.968750 0.281250 0 +0.968750 0.250000 0 +1.00000 0.250000 0 +0.968750 0.281250 0 +1.00000 0.281250 0 +0.937500 0.281250 0 +0.968750 0.281250 0 +0.937500 0.312500 0 +0.968750 0.312500 0 +0.968750 0.281250 0 +1.00000 0.281250 0 +0.968750 0.312500 0 +1.00000 0.312500 0 +0.937500 0.312500 0 +0.968750 0.312500 0 +0.937500 0.343750 0 +0.968750 0.343750 0 +0.968750 0.312500 0 +1.00000 0.312500 0 +0.968750 0.343750 0 +1.00000 0.343750 0 +0.937500 0.343750 0 +0.968750 0.343750 0 +0.937500 0.375000 0 +0.968750 0.375000 0 +0.968750 0.343750 0 +1.00000 0.343750 0 +0.968750 0.375000 0 +1.00000 0.375000 0 +0.812500 0.375000 0 +0.843750 0.375000 0 +0.812500 0.406250 0 +0.843750 0.406250 0 +0.843750 0.375000 0 +0.875000 0.375000 0 +0.843750 0.406250 0 +0.875000 0.406250 0 +0.812500 0.406250 0 +0.843750 0.406250 0 +0.812500 0.437500 0 +0.843750 0.437500 0 +0.843750 0.406250 0 +0.875000 0.406250 0 +0.843750 0.437500 0 +0.875000 0.437500 0 +0.187500 0.500000 0 +0.218750 0.500000 0 +0.187500 0.531250 0 +0.218750 0.531250 0 +0.218750 0.500000 0 +0.250000 0.500000 0 +0.218750 0.531250 0 +0.250000 0.531250 0 +0.187500 0.531250 0 +0.218750 0.531250 0 +0.187500 0.562500 0 +0.218750 0.562500 0 +0.218750 0.531250 0 +0.250000 0.531250 0 +0.218750 0.562500 0 +0.250000 0.562500 0 +0.125000 0.562500 0 +0.156250 0.562500 0 +0.125000 0.593750 0 +0.156250 0.593750 0 +0.156250 0.562500 0 +0.187500 0.562500 0 +0.156250 0.593750 0 +0.187500 0.593750 0 +0.125000 0.593750 0 +0.156250 0.593750 0 +0.125000 0.625000 0 +0.156250 0.625000 0 +0.156250 0.593750 0 +0.187500 0.593750 0 +0.156250 0.625000 0 +0.187500 0.625000 0 +0.937500 0.500000 0 +0.968750 0.500000 0 +0.937500 0.531250 0 +0.968750 0.531250 0 +0.968750 0.500000 0 +1.00000 0.500000 0 +0.968750 0.531250 0 +1.00000 0.531250 0 +0.937500 0.531250 0 +0.968750 0.531250 0 +0.937500 0.562500 0 +0.968750 0.562500 0 +0.968750 0.531250 0 +1.00000 0.531250 0 +0.968750 0.562500 0 +1.00000 0.562500 0 +0.875000 0.562500 0 +0.906250 0.562500 0 +0.875000 0.593750 0 +0.906250 0.593750 0 +0.906250 0.562500 0 +0.937500 0.562500 0 +0.906250 0.593750 0 +0.937500 0.593750 0 +0.875000 0.593750 0 +0.906250 0.593750 0 +0.875000 0.625000 0 +0.906250 0.625000 0 +0.906250 0.593750 0 +0.937500 0.593750 0 +0.906250 0.625000 0 +0.937500 0.625000 0 +0.750000 0.625000 0 +0.781250 0.625000 0 +0.750000 0.656250 0 +0.781250 0.656250 0 +0.781250 0.625000 0 +0.812500 0.625000 0 +0.781250 0.656250 0 +0.812500 0.656250 0 +0.750000 0.656250 0 +0.781250 0.656250 0 +0.750000 0.687500 0 +0.781250 0.687500 0 +0.781250 0.656250 0 +0.812500 0.656250 0 +0.781250 0.687500 0 +0.812500 0.687500 0 +0.812500 0.625000 0 +0.843750 0.625000 0 +0.812500 0.656250 0 +0.843750 0.656250 0 +0.843750 0.625000 0 +0.875000 0.625000 0 +0.843750 0.656250 0 +0.875000 0.656250 0 +0.812500 0.656250 0 +0.843750 0.656250 0 +0.812500 0.687500 0 +0.843750 0.687500 0 +0.843750 0.656250 0 +0.875000 0.656250 0 +0.843750 0.687500 0 +0.875000 0.687500 0 +0.625000 0.812500 0 +0.656250 0.812500 0 +0.625000 0.843750 0 +0.656250 0.843750 0 +0.656250 0.812500 0 +0.687500 0.812500 0 +0.656250 0.843750 0 +0.687500 0.843750 0 +0.625000 0.843750 0 +0.656250 0.843750 0 +0.625000 0.875000 0 +0.656250 0.875000 0 +0.656250 0.843750 0 +0.687500 0.843750 0 +0.656250 0.875000 0 +0.687500 0.875000 0 +0.937500 0.750000 0 +0.968750 0.750000 0 +0.937500 0.781250 0 +0.968750 0.781250 0 +0.968750 0.750000 0 +1.00000 0.750000 0 +0.968750 0.781250 0 +1.00000 0.781250 0 +0.937500 0.781250 0 +0.968750 0.781250 0 +0.937500 0.812500 0 +0.968750 0.812500 0 +0.968750 0.781250 0 +1.00000 0.781250 0 +0.968750 0.812500 0 +1.00000 0.812500 0 +0.375000 0.250000 0 +0.406250 0.250000 0 +0.375000 0.281250 0 +0.406250 0.281250 0 +0.406250 0.250000 0 +0.437500 0.250000 0 +0.406250 0.281250 0 +0.437500 0.281250 0 +0.375000 0.281250 0 +0.406250 0.281250 0 +0.375000 0.312500 0 +0.406250 0.312500 0 +0.406250 0.281250 0 +0.437500 0.281250 0 +0.406250 0.312500 0 +0.437500 0.312500 0 +0.437500 0.250000 0 +0.468750 0.250000 0 +0.437500 0.281250 0 +0.468750 0.281250 0 +0.468750 0.250000 0 +0.500000 0.250000 0 +0.468750 0.281250 0 +0.500000 0.281250 0 +0.437500 0.281250 0 +0.468750 0.281250 0 +0.437500 0.312500 0 +0.468750 0.312500 0 +0.468750 0.281250 0 +0.500000 0.281250 0 +0.468750 0.312500 0 +0.500000 0.312500 0 +0.437500 0.312500 0 +0.468750 0.312500 0 +0.437500 0.343750 0 +0.468750 0.343750 0 +0.468750 0.312500 0 +0.500000 0.312500 0 +0.468750 0.343750 0 +0.500000 0.343750 0 +0.437500 0.343750 0 +0.468750 0.343750 0 +0.437500 0.375000 0 +0.468750 0.375000 0 +0.468750 0.343750 0 +0.500000 0.343750 0 +0.468750 0.375000 0 +0.500000 0.375000 0 +0.312500 0.375000 0 +0.343750 0.375000 0 +0.312500 0.406250 0 +0.343750 0.406250 0 +0.343750 0.375000 0 +0.375000 0.375000 0 +0.343750 0.406250 0 +0.375000 0.406250 0 +0.312500 0.406250 0 +0.343750 0.406250 0 +0.312500 0.437500 0 +0.343750 0.437500 0 +0.343750 0.406250 0 +0.375000 0.406250 0 +0.343750 0.437500 0 +0.375000 0.437500 0 +0.250000 0.437500 0 +0.281250 0.437500 0 +0.250000 0.468750 0 +0.281250 0.468750 0 +0.281250 0.437500 0 +0.312500 0.437500 0 +0.281250 0.468750 0 +0.312500 0.468750 0 +0.250000 0.468750 0 +0.281250 0.468750 0 +0.250000 0.500000 0 +0.281250 0.500000 0 +0.281250 0.468750 0 +0.312500 0.468750 0 +0.281250 0.500000 0 +0.312500 0.500000 0 +0.812500 0.125000 0 +0.843750 0.125000 0 +0.812500 0.156250 0 +0.843750 0.156250 0 +0.843750 0.125000 0 +0.875000 0.125000 0 +0.843750 0.156250 0 +0.875000 0.156250 0 +0.812500 0.156250 0 +0.843750 0.156250 0 +0.812500 0.187500 0 +0.843750 0.187500 0 +0.843750 0.156250 0 +0.875000 0.156250 0 +0.843750 0.187500 0 +0.875000 0.187500 0 +0.250000 0.625000 0 +0.281250 0.625000 0 +0.250000 0.656250 0 +0.281250 0.656250 0 +0.281250 0.625000 0 +0.312500 0.625000 0 +0.281250 0.656250 0 +0.312500 0.656250 0 +0.250000 0.656250 0 +0.281250 0.656250 0 +0.250000 0.687500 0 +0.281250 0.687500 0 +0.281250 0.656250 0 +0.312500 0.656250 0 +0.281250 0.687500 0 +0.312500 0.687500 0 +0.312500 0.687500 0 +0.343750 0.687500 0 +0.312500 0.718750 0 +0.343750 0.718750 0 +0.343750 0.687500 0 +0.375000 0.687500 0 +0.343750 0.718750 0 +0.375000 0.718750 0 +0.312500 0.718750 0 +0.343750 0.718750 0 +0.312500 0.750000 0 +0.343750 0.750000 0 +0.343750 0.718750 0 +0.375000 0.718750 0 +0.343750 0.750000 0 +0.375000 0.750000 0 +0.0625000 0.750000 0 +0.0937500 0.750000 0 +0.0625000 0.781250 0 +0.0937500 0.781250 0 +0.0937500 0.750000 0 +0.125000 0.750000 0 +0.0937500 0.781250 0 +0.125000 0.781250 0 +0.0625000 0.781250 0 +0.0937500 0.781250 0 +0.0625000 0.812500 0 +0.0937500 0.812500 0 +0.0937500 0.781250 0 +0.125000 0.781250 0 +0.0937500 0.812500 0 +0.125000 0.812500 0 +0.00000 0.812500 0 +0.0312500 0.812500 0 +0.00000 0.843750 0 +0.0312500 0.843750 0 +0.0312500 0.812500 0 +0.0625000 0.812500 0 +0.0312500 0.843750 0 +0.0625000 0.843750 0 +0.00000 0.843750 0 +0.0312500 0.843750 0 +0.00000 0.875000 0 +0.0312500 0.875000 0 +0.0312500 0.843750 0 +0.0625000 0.843750 0 +0.0312500 0.875000 0 +0.0625000 0.875000 0 +0.125000 0.750000 0 +0.156250 0.750000 0 +0.125000 0.781250 0 +0.156250 0.781250 0 +0.156250 0.750000 0 +0.187500 0.750000 0 +0.156250 0.781250 0 +0.187500 0.781250 0 +0.125000 0.781250 0 +0.156250 0.781250 0 +0.125000 0.812500 0 +0.156250 0.812500 0 +0.156250 0.781250 0 +0.187500 0.781250 0 +0.156250 0.812500 0 +0.187500 0.812500 0 +0.187500 0.812500 0 +0.218750 0.812500 0 +0.187500 0.843750 0 +0.218750 0.843750 0 +0.218750 0.812500 0 +0.250000 0.812500 0 +0.218750 0.843750 0 +0.250000 0.843750 0 +0.187500 0.843750 0 +0.218750 0.843750 0 +0.187500 0.875000 0 +0.218750 0.875000 0 +0.218750 0.843750 0 +0.250000 0.843750 0 +0.218750 0.875000 0 +0.250000 0.875000 0 +0.375000 0.875000 0 +0.406250 0.875000 0 +0.375000 0.906250 0 +0.406250 0.906250 0 +0.406250 0.875000 0 +0.437500 0.875000 0 +0.406250 0.906250 0 +0.437500 0.906250 0 +0.375000 0.906250 0 +0.406250 0.906250 0 +0.375000 0.937500 0 +0.406250 0.937500 0 +0.406250 0.906250 0 +0.437500 0.906250 0 +0.406250 0.937500 0 +0.437500 0.937500 0 +0.375000 0.937500 0 +0.406250 0.937500 0 +0.375000 0.968750 0 +0.406250 0.968750 0 +0.406250 0.937500 0 +0.437500 0.937500 0 +0.406250 0.968750 0 +0.437500 0.968750 0 +0.375000 0.968750 0 +0.406250 0.968750 0 +0.375000 1.00000 0 +0.406250 1.00000 0 +0.406250 0.968750 0 +0.437500 0.968750 0 +0.406250 1.00000 0 +0.437500 1.00000 0 +0.375000 0.187500 0 +0.406250 0.187500 0 +0.375000 0.218750 0 +0.406250 0.218750 0 +0.406250 0.187500 0 +0.437500 0.187500 0 +0.406250 0.218750 0 +0.437500 0.218750 0 +0.375000 0.218750 0 +0.406250 0.218750 0 +0.375000 0.250000 0 +0.406250 0.250000 0 +0.406250 0.218750 0 +0.437500 0.218750 0 +0.406250 0.250000 0 +0.437500 0.250000 0 +0.875000 0.375000 0 +0.906250 0.375000 0 +0.875000 0.406250 0 +0.906250 0.406250 0 +0.906250 0.375000 0 +0.937500 0.375000 0 +0.906250 0.406250 0 +0.937500 0.406250 0 +0.875000 0.406250 0 +0.906250 0.406250 0 +0.875000 0.437500 0 +0.906250 0.437500 0 +0.906250 0.406250 0 +0.937500 0.406250 0 +0.906250 0.437500 0 +0.937500 0.437500 0 +0.750000 0.500000 0 +0.781250 0.500000 0 +0.750000 0.531250 0 +0.781250 0.531250 0 +0.781250 0.500000 0 +0.812500 0.500000 0 +0.781250 0.531250 0 +0.812500 0.531250 0 +0.750000 0.531250 0 +0.781250 0.531250 0 +0.750000 0.562500 0 +0.781250 0.562500 0 +0.781250 0.531250 0 +0.812500 0.531250 0 +0.781250 0.562500 0 +0.812500 0.562500 0 +0.750000 0.562500 0 +0.781250 0.562500 0 +0.750000 0.593750 0 +0.781250 0.593750 0 +0.781250 0.562500 0 +0.812500 0.562500 0 +0.781250 0.593750 0 +0.812500 0.593750 0 +0.750000 0.593750 0 +0.781250 0.593750 0 +0.750000 0.625000 0 +0.781250 0.625000 0 +0.781250 0.593750 0 +0.812500 0.593750 0 +0.781250 0.625000 0 +0.812500 0.625000 0 +0.875000 0.687500 0 +0.906250 0.687500 0 +0.875000 0.718750 0 +0.906250 0.718750 0 +0.906250 0.687500 0 +0.937500 0.687500 0 +0.906250 0.718750 0 +0.937500 0.718750 0 +0.875000 0.718750 0 +0.906250 0.718750 0 +0.875000 0.750000 0 +0.906250 0.750000 0 +0.906250 0.718750 0 +0.937500 0.718750 0 +0.906250 0.750000 0 +0.937500 0.750000 0 +0.625000 0.875000 0 +0.656250 0.875000 0 +0.625000 0.906250 0 +0.656250 0.906250 0 +0.656250 0.875000 0 +0.687500 0.875000 0 +0.656250 0.906250 0 +0.687500 0.906250 0 +0.625000 0.906250 0 +0.656250 0.906250 0 +0.625000 0.937500 0 +0.656250 0.937500 0 +0.656250 0.906250 0 +0.687500 0.906250 0 +0.656250 0.937500 0 +0.687500 0.937500 0 +0.750000 0.812500 0 +0.781250 0.812500 0 +0.750000 0.843750 0 +0.781250 0.843750 0 +0.781250 0.812500 0 +0.812500 0.812500 0 +0.781250 0.843750 0 +0.812500 0.843750 0 +0.750000 0.843750 0 +0.781250 0.843750 0 +0.750000 0.875000 0 +0.781250 0.875000 0 +0.781250 0.843750 0 +0.812500 0.843750 0 +0.781250 0.875000 0 +0.812500 0.875000 0 +0.187500 0.375000 0 +0.218750 0.375000 0 +0.187500 0.406250 0 +0.218750 0.406250 0 +0.218750 0.375000 0 +0.250000 0.375000 0 +0.218750 0.406250 0 +0.250000 0.406250 0 +0.187500 0.406250 0 +0.218750 0.406250 0 +0.187500 0.437500 0 +0.218750 0.437500 0 +0.218750 0.406250 0 +0.250000 0.406250 0 +0.218750 0.437500 0 +0.250000 0.437500 0 +0.125000 0.437500 0 +0.156250 0.437500 0 +0.125000 0.468750 0 +0.156250 0.468750 0 +0.156250 0.437500 0 +0.187500 0.437500 0 +0.156250 0.468750 0 +0.187500 0.468750 0 +0.125000 0.468750 0 +0.156250 0.468750 0 +0.125000 0.500000 0 +0.156250 0.500000 0 +0.156250 0.468750 0 +0.187500 0.468750 0 +0.156250 0.500000 0 +0.187500 0.500000 0 +0.875000 0.00000 0 +0.906250 0.00000 0 +0.875000 0.0312500 0 +0.906250 0.0312500 0 +0.906250 0.00000 0 +0.937500 0.00000 0 +0.906250 0.0312500 0 +0.937500 0.0312500 0 +0.875000 0.0312500 0 +0.906250 0.0312500 0 +0.875000 0.0625000 0 +0.906250 0.0625000 0 +0.906250 0.0312500 0 +0.937500 0.0312500 0 +0.906250 0.0625000 0 +0.937500 0.0625000 0 +0.875000 0.187500 0 +0.906250 0.187500 0 +0.875000 0.218750 0 +0.906250 0.218750 0 +0.906250 0.187500 0 +0.937500 0.187500 0 +0.906250 0.218750 0 +0.937500 0.218750 0 +0.875000 0.218750 0 +0.906250 0.218750 0 +0.875000 0.250000 0 +0.906250 0.250000 0 +0.906250 0.218750 0 +0.937500 0.218750 0 +0.906250 0.250000 0 +0.937500 0.250000 0 +0.250000 0.750000 0 +0.281250 0.750000 0 +0.250000 0.781250 0 +0.281250 0.781250 0 +0.281250 0.750000 0 +0.312500 0.750000 0 +0.281250 0.781250 0 +0.312500 0.781250 0 +0.250000 0.781250 0 +0.281250 0.781250 0 +0.250000 0.812500 0 +0.281250 0.812500 0 +0.281250 0.781250 0 +0.312500 0.781250 0 +0.281250 0.812500 0 +0.312500 0.812500 0 +0.640625 0.640625 0 +0.656250 0.640625 0 +0.640625 0.656250 0 +0.656250 0.656250 0 +0.703125 0.250000 0 +0.718750 0.250000 0 +0.703125 0.265625 0 +0.718750 0.265625 0 +0.00000 0.0312500 0 +0.0156250 0.0312500 0 +0.00000 0.0468750 0 +0.0156250 0.0468750 0 +0.0156250 0.0312500 0 +0.0312500 0.0312500 0 +0.0156250 0.0468750 0 +0.0312500 0.0468750 0 +0.00000 0.0468750 0 +0.0156250 0.0468750 0 +0.00000 0.0625000 0 +0.0156250 0.0625000 0 +0.640625 0.562500 0 +0.656250 0.562500 0 +0.640625 0.578125 0 +0.656250 0.578125 0 +0.625000 0.578125 0 +0.640625 0.578125 0 +0.625000 0.593750 0 +0.640625 0.593750 0 +0.640625 0.578125 0 +0.656250 0.578125 0 +0.640625 0.593750 0 +0.656250 0.593750 0 +0.640625 0.593750 0 +0.656250 0.593750 0 +0.640625 0.609375 0 +0.656250 0.609375 0 +0.500000 0.656250 0 +0.515625 0.656250 0 +0.500000 0.671875 0 +0.515625 0.671875 0 +0.515625 0.656250 0 +0.531250 0.656250 0 +0.515625 0.671875 0 +0.531250 0.671875 0 +0.500000 0.671875 0 +0.515625 0.671875 0 +0.500000 0.687500 0 +0.515625 0.687500 0 +0.515625 0.671875 0 +0.531250 0.671875 0 +0.515625 0.687500 0 +0.531250 0.687500 0 +0.265625 0.187500 0 +0.281250 0.187500 0 +0.265625 0.203125 0 +0.281250 0.203125 0 +0.00000 0.656250 0 +0.0156250 0.656250 0 +0.00000 0.671875 0 +0.0156250 0.671875 0 +0.0156250 0.656250 0 +0.0312500 0.656250 0 +0.0156250 0.671875 0 +0.0312500 0.671875 0 +0.0156250 0.671875 0 +0.0312500 0.671875 0 +0.0156250 0.687500 0 +0.0312500 0.687500 0 +0.656250 0.625000 0 +0.671875 0.625000 0 +0.656250 0.640625 0 +0.671875 0.640625 0 +0.671875 0.625000 0 +0.687500 0.625000 0 +0.671875 0.640625 0 +0.687500 0.640625 0 +0.656250 0.640625 0 +0.671875 0.640625 0 +0.656250 0.656250 0 +0.671875 0.656250 0 +0.671875 0.640625 0 +0.687500 0.640625 0 +0.671875 0.656250 0 +0.687500 0.656250 0 +0.703125 0.281250 0 +0.718750 0.281250 0 +0.703125 0.296875 0 +0.718750 0.296875 0 +0.687500 0.296875 0 +0.703125 0.296875 0 +0.687500 0.312500 0 +0.703125 0.312500 0 +0.703125 0.296875 0 +0.718750 0.296875 0 +0.703125 0.312500 0 +0.718750 0.312500 0 +0.00000 0.00000 0 +0.0156250 0.00000 0 +0.00000 0.0156250 0 +0.0156250 0.0156250 0 +0.0156250 0.00000 0 +0.0312500 0.00000 0 +0.0156250 0.0156250 0 +0.0312500 0.0156250 0 +0.0156250 0.0156250 0 +0.0312500 0.0156250 0 +0.0156250 0.0312500 0 +0.0312500 0.0312500 0 +0.656250 0.468750 0 +0.671875 0.468750 0 +0.656250 0.484375 0 +0.671875 0.484375 0 +0.671875 0.468750 0 +0.687500 0.468750 0 +0.671875 0.484375 0 +0.687500 0.484375 0 +0.656250 0.484375 0 +0.671875 0.484375 0 +0.656250 0.500000 0 +0.671875 0.500000 0 +0.671875 0.484375 0 +0.687500 0.484375 0 +0.671875 0.500000 0 +0.687500 0.500000 0 +0.578125 0.625000 0 +0.593750 0.625000 0 +0.578125 0.640625 0 +0.593750 0.640625 0 +0.562500 0.640625 0 +0.578125 0.640625 0 +0.562500 0.656250 0 +0.578125 0.656250 0 +0.578125 0.640625 0 +0.593750 0.640625 0 +0.578125 0.656250 0 +0.593750 0.656250 0 +0.250000 0.218750 0 +0.265625 0.218750 0 +0.250000 0.234375 0 +0.265625 0.234375 0 +0.265625 0.218750 0 +0.281250 0.218750 0 +0.265625 0.234375 0 +0.281250 0.234375 0 +0.265625 0.234375 0 +0.281250 0.234375 0 +0.265625 0.250000 0 +0.281250 0.250000 0 +0.00000 0.625000 0 +0.0156250 0.625000 0 +0.00000 0.640625 0 +0.0156250 0.640625 0 +0.0156250 0.625000 0 +0.0312500 0.625000 0 +0.0156250 0.640625 0 +0.0312500 0.640625 0 +0.00000 0.640625 0 +0.0156250 0.640625 0 +0.00000 0.656250 0 +0.0156250 0.656250 0 +0.0156250 0.640625 0 +0.0312500 0.640625 0 +0.0156250 0.656250 0 +0.0312500 0.656250 0 +0.546875 0.843750 0 +0.562500 0.843750 0 +0.546875 0.859375 0 +0.562500 0.859375 0 +0.531250 0.859375 0 +0.546875 0.859375 0 +0.531250 0.875000 0 +0.546875 0.875000 0 +0.546875 0.859375 0 +0.562500 0.859375 0 +0.546875 0.875000 0 +0.562500 0.875000 0 +0.656250 0.250000 0 +0.671875 0.250000 0 +0.656250 0.265625 0 +0.671875 0.265625 0 +0.671875 0.250000 0 +0.687500 0.250000 0 +0.671875 0.265625 0 +0.687500 0.265625 0 +0.671875 0.265625 0 +0.687500 0.265625 0 +0.671875 0.281250 0 +0.687500 0.281250 0 +0.718750 0.687500 0 +0.734375 0.687500 0 +0.718750 0.703125 0 +0.734375 0.703125 0 +0.734375 0.687500 0 +0.750000 0.687500 0 +0.734375 0.703125 0 +0.750000 0.703125 0 +0.718750 0.703125 0 +0.734375 0.703125 0 +0.718750 0.718750 0 +0.734375 0.718750 0 +0.734375 0.703125 0 +0.750000 0.703125 0 +0.734375 0.718750 0 +0.750000 0.718750 0 +0.0468750 0.0937500 0 +0.0625000 0.0937500 0 +0.0468750 0.109375 0 +0.0625000 0.109375 0 +0.0312500 0.109375 0 +0.0468750 0.109375 0 +0.0312500 0.125000 0 +0.0468750 0.125000 0 +0.0468750 0.109375 0 +0.0625000 0.109375 0 +0.0468750 0.125000 0 +0.0625000 0.125000 0 +0.656250 0.500000 0 +0.671875 0.500000 0 +0.656250 0.515625 0 +0.671875 0.515625 0 +0.671875 0.500000 0 +0.687500 0.500000 0 +0.671875 0.515625 0 +0.687500 0.515625 0 +0.671875 0.515625 0 +0.687500 0.515625 0 +0.671875 0.531250 0 +0.687500 0.531250 0 +0.625000 0.531250 0 +0.640625 0.531250 0 +0.625000 0.546875 0 +0.640625 0.546875 0 +0.640625 0.531250 0 +0.656250 0.531250 0 +0.640625 0.546875 0 +0.656250 0.546875 0 +0.625000 0.546875 0 +0.640625 0.546875 0 +0.625000 0.562500 0 +0.640625 0.562500 0 +0.640625 0.546875 0 +0.656250 0.546875 0 +0.640625 0.562500 0 +0.656250 0.562500 0 +0.546875 0.718750 0 +0.562500 0.718750 0 +0.546875 0.734375 0 +0.562500 0.734375 0 +0.531250 0.734375 0 +0.546875 0.734375 0 +0.531250 0.750000 0 +0.546875 0.750000 0 +0.546875 0.734375 0 +0.562500 0.734375 0 +0.546875 0.750000 0 +0.562500 0.750000 0 +0.843750 0.312500 0 +0.859375 0.312500 0 +0.843750 0.328125 0 +0.859375 0.328125 0 +0.859375 0.312500 0 +0.875000 0.312500 0 +0.859375 0.328125 0 +0.875000 0.328125 0 +0.859375 0.328125 0 +0.875000 0.328125 0 +0.859375 0.343750 0 +0.875000 0.343750 0 +0.0312500 0.718750 0 +0.0468750 0.718750 0 +0.0312500 0.734375 0 +0.0468750 0.734375 0 +0.0468750 0.718750 0 +0.0625000 0.718750 0 +0.0468750 0.734375 0 +0.0625000 0.734375 0 +0.0312500 0.734375 0 +0.0468750 0.734375 0 +0.0312500 0.750000 0 +0.0468750 0.750000 0 +0.0468750 0.734375 0 +0.0625000 0.734375 0 +0.0468750 0.750000 0 +0.0625000 0.750000 0 +0.234375 0.00000 0 +0.250000 0.00000 0 +0.234375 0.0156250 0 +0.250000 0.0156250 0 +0.218750 0.0156250 0 +0.234375 0.0156250 0 +0.218750 0.0312500 0 +0.234375 0.0312500 0 +0.234375 0.0156250 0 +0.250000 0.0156250 0 +0.234375 0.0312500 0 +0.250000 0.0312500 0 +0.218750 0.187500 0 +0.234375 0.187500 0 +0.218750 0.203125 0 +0.234375 0.203125 0 +0.234375 0.187500 0 +0.250000 0.187500 0 +0.234375 0.203125 0 +0.250000 0.203125 0 +0.234375 0.203125 0 +0.250000 0.203125 0 +0.234375 0.218750 0 +0.250000 0.218750 0 +0.218750 0.218750 0 +0.234375 0.218750 0 +0.218750 0.234375 0 +0.234375 0.234375 0 +0.234375 0.218750 0 +0.250000 0.218750 0 +0.234375 0.234375 0 +0.250000 0.234375 0 +0.218750 0.234375 0 +0.234375 0.234375 0 +0.218750 0.250000 0 +0.234375 0.250000 0 +0.234375 0.234375 0 +0.250000 0.234375 0 +0.234375 0.250000 0 +0.250000 0.250000 0 +0.609375 0.562500 0 +0.625000 0.562500 0 +0.609375 0.578125 0 +0.625000 0.578125 0 +0.593750 0.578125 0 +0.609375 0.578125 0 +0.593750 0.593750 0 +0.609375 0.593750 0 +0.609375 0.578125 0 +0.625000 0.578125 0 +0.609375 0.593750 0 +0.625000 0.593750 0 +0.593750 0.593750 0 +0.609375 0.593750 0 +0.593750 0.609375 0 +0.609375 0.609375 0 +0.609375 0.593750 0 +0.625000 0.593750 0 +0.609375 0.609375 0 +0.625000 0.609375 0 +0.609375 0.609375 0 +0.625000 0.609375 0 +0.609375 0.625000 0 +0.625000 0.625000 0 +0.343750 0.0937500 0 +0.359375 0.0937500 0 +0.343750 0.109375 0 +0.359375 0.109375 0 +0.359375 0.0937500 0 +0.375000 0.0937500 0 +0.359375 0.109375 0 +0.375000 0.109375 0 +0.343750 0.109375 0 +0.359375 0.109375 0 +0.343750 0.125000 0 +0.359375 0.125000 0 +0.359375 0.109375 0 +0.375000 0.109375 0 +0.359375 0.125000 0 +0.375000 0.125000 0 +0.109375 0.500000 0 +0.125000 0.500000 0 +0.109375 0.515625 0 +0.125000 0.515625 0 +0.0937500 0.515625 0 +0.109375 0.515625 0 +0.0937500 0.531250 0 +0.109375 0.531250 0 +0.109375 0.515625 0 +0.125000 0.515625 0 +0.109375 0.531250 0 +0.125000 0.531250 0 +0.218750 0.718750 0 +0.234375 0.718750 0 +0.218750 0.734375 0 +0.234375 0.734375 0 +0.234375 0.718750 0 +0.250000 0.718750 0 +0.234375 0.734375 0 +0.250000 0.734375 0 +0.234375 0.734375 0 +0.250000 0.734375 0 +0.234375 0.750000 0 +0.250000 0.750000 0 +0.343750 0.312500 0 +0.359375 0.312500 0 +0.343750 0.328125 0 +0.359375 0.328125 0 +0.359375 0.312500 0 +0.375000 0.312500 0 +0.359375 0.328125 0 +0.375000 0.328125 0 +0.343750 0.328125 0 +0.359375 0.328125 0 +0.343750 0.343750 0 +0.359375 0.343750 0 +0.359375 0.328125 0 +0.375000 0.328125 0 +0.359375 0.343750 0 +0.375000 0.343750 0 +0.484375 0.531250 0 +0.500000 0.531250 0 +0.484375 0.546875 0 +0.500000 0.546875 0 +0.468750 0.546875 0 +0.484375 0.546875 0 +0.468750 0.562500 0 +0.484375 0.562500 0 +0.484375 0.546875 0 +0.500000 0.546875 0 +0.484375 0.562500 0 +0.500000 0.562500 0 +0.468750 0.687500 0 +0.484375 0.687500 0 +0.468750 0.703125 0 +0.484375 0.703125 0 +0.484375 0.687500 0 +0.500000 0.687500 0 +0.484375 0.703125 0 +0.500000 0.703125 0 +0.484375 0.703125 0 +0.500000 0.703125 0 +0.484375 0.718750 0 +0.500000 0.718750 0 +0.468750 0.781250 0 +0.484375 0.781250 0 +0.468750 0.796875 0 +0.484375 0.796875 0 +0.484375 0.781250 0 +0.500000 0.781250 0 +0.484375 0.796875 0 +0.500000 0.796875 0 +0.468750 0.796875 0 +0.484375 0.796875 0 +0.468750 0.812500 0 +0.484375 0.812500 0 +0.484375 0.796875 0 +0.500000 0.796875 0 +0.484375 0.812500 0 +0.500000 0.812500 0 +0.625000 0.656250 0 +0.640625 0.656250 0 +0.625000 0.671875 0 +0.640625 0.671875 0 +0.640625 0.656250 0 +0.656250 0.656250 0 +0.640625 0.671875 0 +0.656250 0.671875 0 +0.625000 0.671875 0 +0.640625 0.671875 0 +0.625000 0.687500 0 +0.640625 0.687500 0 +0.640625 0.671875 0 +0.656250 0.671875 0 +0.640625 0.687500 0 +0.656250 0.687500 0 +0.718750 0.250000 0 +0.734375 0.250000 0 +0.718750 0.265625 0 +0.734375 0.265625 0 +0.734375 0.250000 0 +0.750000 0.250000 0 +0.734375 0.265625 0 +0.750000 0.265625 0 +0.718750 0.265625 0 +0.734375 0.265625 0 +0.718750 0.281250 0 +0.734375 0.281250 0 +0.734375 0.265625 0 +0.750000 0.265625 0 +0.734375 0.281250 0 +0.750000 0.281250 0 +0.0312500 0.0312500 0 +0.0468750 0.0312500 0 +0.0312500 0.0468750 0 +0.0468750 0.0468750 0 +0.0468750 0.0312500 0 +0.0625000 0.0312500 0 +0.0468750 0.0468750 0 +0.0625000 0.0468750 0 +0.0312500 0.0468750 0 +0.0468750 0.0468750 0 +0.0312500 0.0625000 0 +0.0468750 0.0625000 0 +0.0468750 0.0468750 0 +0.0625000 0.0468750 0 +0.0468750 0.0625000 0 +0.0625000 0.0625000 0 +0.625000 0.437500 0 +0.640625 0.437500 0 +0.625000 0.453125 0 +0.640625 0.453125 0 +0.640625 0.437500 0 +0.656250 0.437500 0 +0.640625 0.453125 0 +0.656250 0.453125 0 +0.625000 0.453125 0 +0.640625 0.453125 0 +0.625000 0.468750 0 +0.640625 0.468750 0 +0.640625 0.453125 0 +0.656250 0.453125 0 +0.640625 0.468750 0 +0.656250 0.468750 0 +0.656250 0.593750 0 +0.671875 0.593750 0 +0.656250 0.609375 0 +0.671875 0.609375 0 +0.671875 0.593750 0 +0.687500 0.593750 0 +0.671875 0.609375 0 +0.687500 0.609375 0 +0.656250 0.609375 0 +0.671875 0.609375 0 +0.656250 0.625000 0 +0.671875 0.625000 0 +0.671875 0.609375 0 +0.687500 0.609375 0 +0.671875 0.625000 0 +0.687500 0.625000 0 +0.531250 0.625000 0 +0.546875 0.625000 0 +0.531250 0.640625 0 +0.546875 0.640625 0 +0.546875 0.625000 0 +0.562500 0.625000 0 +0.546875 0.640625 0 +0.562500 0.640625 0 +0.531250 0.640625 0 +0.546875 0.640625 0 +0.531250 0.656250 0 +0.546875 0.656250 0 +0.546875 0.640625 0 +0.562500 0.640625 0 +0.546875 0.656250 0 +0.562500 0.656250 0 +0.593750 0.656250 0 +0.609375 0.656250 0 +0.593750 0.671875 0 +0.609375 0.671875 0 +0.609375 0.656250 0 +0.625000 0.656250 0 +0.609375 0.671875 0 +0.625000 0.671875 0 +0.593750 0.671875 0 +0.609375 0.671875 0 +0.593750 0.687500 0 +0.609375 0.687500 0 +0.609375 0.671875 0 +0.625000 0.671875 0 +0.609375 0.687500 0 +0.625000 0.687500 0 +0.281250 0.187500 0 +0.296875 0.187500 0 +0.281250 0.203125 0 +0.296875 0.203125 0 +0.296875 0.187500 0 +0.312500 0.187500 0 +0.296875 0.203125 0 +0.312500 0.203125 0 +0.281250 0.203125 0 +0.296875 0.203125 0 +0.281250 0.218750 0 +0.296875 0.218750 0 +0.296875 0.203125 0 +0.312500 0.203125 0 +0.296875 0.218750 0 +0.312500 0.218750 0 +0.0312500 0.625000 0 +0.0468750 0.625000 0 +0.0312500 0.640625 0 +0.0468750 0.640625 0 +0.0468750 0.625000 0 +0.0625000 0.625000 0 +0.0468750 0.640625 0 +0.0625000 0.640625 0 +0.0312500 0.640625 0 +0.0468750 0.640625 0 +0.0312500 0.656250 0 +0.0468750 0.656250 0 +0.0468750 0.640625 0 +0.0625000 0.640625 0 +0.0468750 0.656250 0 +0.0625000 0.656250 0 +0.531250 0.812500 0 +0.546875 0.812500 0 +0.531250 0.828125 0 +0.546875 0.828125 0 +0.546875 0.812500 0 +0.562500 0.812500 0 +0.546875 0.828125 0 +0.562500 0.828125 0 +0.531250 0.828125 0 +0.546875 0.828125 0 +0.531250 0.843750 0 +0.546875 0.843750 0 +0.546875 0.828125 0 +0.562500 0.828125 0 +0.546875 0.843750 0 +0.562500 0.843750 0 +0.500000 0.843750 0 +0.515625 0.843750 0 +0.500000 0.859375 0 +0.515625 0.859375 0 +0.515625 0.843750 0 +0.531250 0.843750 0 +0.515625 0.859375 0 +0.531250 0.859375 0 +0.500000 0.859375 0 +0.515625 0.859375 0 +0.500000 0.875000 0 +0.515625 0.875000 0 +0.515625 0.859375 0 +0.531250 0.859375 0 +0.515625 0.875000 0 +0.531250 0.875000 0 +0.625000 0.250000 0 +0.640625 0.250000 0 +0.625000 0.265625 0 +0.640625 0.265625 0 +0.640625 0.250000 0 +0.656250 0.250000 0 +0.640625 0.265625 0 +0.656250 0.265625 0 +0.625000 0.265625 0 +0.640625 0.265625 0 +0.625000 0.281250 0 +0.640625 0.281250 0 +0.640625 0.265625 0 +0.656250 0.265625 0 +0.640625 0.281250 0 +0.656250 0.281250 0 +0.625000 0.281250 0 +0.640625 0.281250 0 +0.625000 0.296875 0 +0.640625 0.296875 0 +0.640625 0.281250 0 +0.656250 0.281250 0 +0.640625 0.296875 0 +0.656250 0.296875 0 +0.625000 0.296875 0 +0.640625 0.296875 0 +0.625000 0.312500 0 +0.640625 0.312500 0 +0.640625 0.296875 0 +0.656250 0.296875 0 +0.640625 0.312500 0 +0.656250 0.312500 0 +0.656250 0.281250 0 +0.671875 0.281250 0 +0.656250 0.296875 0 +0.671875 0.296875 0 +0.671875 0.281250 0 +0.687500 0.281250 0 +0.671875 0.296875 0 +0.687500 0.296875 0 +0.656250 0.296875 0 +0.671875 0.296875 0 +0.656250 0.312500 0 +0.671875 0.312500 0 +0.671875 0.296875 0 +0.687500 0.296875 0 +0.671875 0.312500 0 +0.687500 0.312500 0 +0.00000 0.0625000 0 +0.0156250 0.0625000 0 +0.00000 0.0781250 0 +0.0156250 0.0781250 0 +0.0156250 0.0625000 0 +0.0312500 0.0625000 0 +0.0156250 0.0781250 0 +0.0312500 0.0781250 0 +0.00000 0.0781250 0 +0.0156250 0.0781250 0 +0.00000 0.0937500 0 +0.0156250 0.0937500 0 +0.0156250 0.0781250 0 +0.0312500 0.0781250 0 +0.0156250 0.0937500 0 +0.0312500 0.0937500 0 +0.0312500 0.0625000 0 +0.0468750 0.0625000 0 +0.0312500 0.0781250 0 +0.0468750 0.0781250 0 +0.0468750 0.0625000 0 +0.0625000 0.0625000 0 +0.0468750 0.0781250 0 +0.0625000 0.0781250 0 +0.0312500 0.0781250 0 +0.0468750 0.0781250 0 +0.0312500 0.0937500 0 +0.0468750 0.0937500 0 +0.0468750 0.0781250 0 +0.0625000 0.0781250 0 +0.0468750 0.0937500 0 +0.0625000 0.0937500 0 +0.00000 0.0937500 0 +0.0156250 0.0937500 0 +0.00000 0.109375 0 +0.0156250 0.109375 0 +0.0156250 0.0937500 0 +0.0312500 0.0937500 0 +0.0156250 0.109375 0 +0.0312500 0.109375 0 +0.00000 0.109375 0 +0.0156250 0.109375 0 +0.00000 0.125000 0 +0.0156250 0.125000 0 +0.0156250 0.109375 0 +0.0312500 0.109375 0 +0.0156250 0.125000 0 +0.0312500 0.125000 0 +0.625000 0.500000 0 +0.640625 0.500000 0 +0.625000 0.515625 0 +0.640625 0.515625 0 +0.640625 0.500000 0 +0.656250 0.500000 0 +0.640625 0.515625 0 +0.656250 0.515625 0 +0.625000 0.515625 0 +0.640625 0.515625 0 +0.625000 0.531250 0 +0.640625 0.531250 0 +0.640625 0.515625 0 +0.656250 0.515625 0 +0.640625 0.531250 0 +0.656250 0.531250 0 +0.656250 0.531250 0 +0.671875 0.531250 0 +0.656250 0.546875 0 +0.671875 0.546875 0 +0.671875 0.531250 0 +0.687500 0.531250 0 +0.671875 0.546875 0 +0.687500 0.546875 0 +0.656250 0.546875 0 +0.671875 0.546875 0 +0.656250 0.562500 0 +0.671875 0.562500 0 +0.671875 0.546875 0 +0.687500 0.546875 0 +0.671875 0.562500 0 +0.687500 0.562500 0 +0.531250 0.687500 0 +0.546875 0.687500 0 +0.531250 0.703125 0 +0.546875 0.703125 0 +0.546875 0.687500 0 +0.562500 0.687500 0 +0.546875 0.703125 0 +0.562500 0.703125 0 +0.531250 0.703125 0 +0.546875 0.703125 0 +0.531250 0.718750 0 +0.546875 0.718750 0 +0.546875 0.703125 0 +0.562500 0.703125 0 +0.546875 0.718750 0 +0.562500 0.718750 0 +0.500000 0.718750 0 +0.515625 0.718750 0 +0.500000 0.734375 0 +0.515625 0.734375 0 +0.515625 0.718750 0 +0.531250 0.718750 0 +0.515625 0.734375 0 +0.531250 0.734375 0 +0.500000 0.734375 0 +0.515625 0.734375 0 +0.500000 0.750000 0 +0.515625 0.750000 0 +0.515625 0.734375 0 +0.531250 0.734375 0 +0.515625 0.750000 0 +0.531250 0.750000 0 +0.281250 0.125000 0 +0.296875 0.125000 0 +0.281250 0.140625 0 +0.296875 0.140625 0 +0.296875 0.125000 0 +0.312500 0.125000 0 +0.296875 0.140625 0 +0.312500 0.140625 0 +0.281250 0.140625 0 +0.296875 0.140625 0 +0.281250 0.156250 0 +0.296875 0.156250 0 +0.296875 0.140625 0 +0.312500 0.140625 0 +0.296875 0.156250 0 +0.312500 0.156250 0 +0.250000 0.156250 0 +0.265625 0.156250 0 +0.250000 0.171875 0 +0.265625 0.171875 0 +0.265625 0.156250 0 +0.281250 0.156250 0 +0.265625 0.171875 0 +0.281250 0.171875 0 +0.250000 0.171875 0 +0.265625 0.171875 0 +0.250000 0.187500 0 +0.265625 0.187500 0 +0.265625 0.171875 0 +0.281250 0.171875 0 +0.265625 0.187500 0 +0.281250 0.187500 0 +0.812500 0.312500 0 +0.828125 0.312500 0 +0.812500 0.328125 0 +0.828125 0.328125 0 +0.828125 0.312500 0 +0.843750 0.312500 0 +0.828125 0.328125 0 +0.843750 0.328125 0 +0.812500 0.328125 0 +0.828125 0.328125 0 +0.812500 0.343750 0 +0.828125 0.343750 0 +0.828125 0.328125 0 +0.843750 0.328125 0 +0.828125 0.343750 0 +0.843750 0.343750 0 +0.843750 0.343750 0 +0.859375 0.343750 0 +0.843750 0.359375 0 +0.859375 0.359375 0 +0.859375 0.343750 0 +0.875000 0.343750 0 +0.859375 0.359375 0 +0.875000 0.359375 0 +0.843750 0.359375 0 +0.859375 0.359375 0 +0.843750 0.375000 0 +0.859375 0.375000 0 +0.859375 0.359375 0 +0.875000 0.359375 0 +0.859375 0.375000 0 +0.875000 0.375000 0 +0.00000 0.687500 0 +0.0156250 0.687500 0 +0.00000 0.703125 0 +0.0156250 0.703125 0 +0.0156250 0.687500 0 +0.0312500 0.687500 0 +0.0156250 0.703125 0 +0.0312500 0.703125 0 +0.00000 0.703125 0 +0.0156250 0.703125 0 +0.00000 0.718750 0 +0.0156250 0.718750 0 +0.0156250 0.703125 0 +0.0312500 0.703125 0 +0.0156250 0.718750 0 +0.0312500 0.718750 0 +0.593750 0.843750 0 +0.609375 0.843750 0 +0.593750 0.859375 0 +0.609375 0.859375 0 +0.609375 0.843750 0 +0.625000 0.843750 0 +0.609375 0.859375 0 +0.625000 0.859375 0 +0.593750 0.859375 0 +0.609375 0.859375 0 +0.593750 0.875000 0 +0.609375 0.875000 0 +0.609375 0.859375 0 +0.625000 0.859375 0 +0.609375 0.875000 0 +0.625000 0.875000 0 +0.187500 0.00000 0 +0.203125 0.00000 0 +0.187500 0.0156250 0 +0.203125 0.0156250 0 +0.203125 0.00000 0 +0.218750 0.00000 0 +0.203125 0.0156250 0 +0.218750 0.0156250 0 +0.187500 0.0156250 0 +0.203125 0.0156250 0 +0.187500 0.0312500 0 +0.203125 0.0312500 0 +0.203125 0.0156250 0 +0.218750 0.0156250 0 +0.203125 0.0312500 0 +0.218750 0.0312500 0 +0.187500 0.187500 0 +0.203125 0.187500 0 +0.187500 0.203125 0 +0.203125 0.203125 0 +0.203125 0.187500 0 +0.218750 0.187500 0 +0.203125 0.203125 0 +0.218750 0.203125 0 +0.187500 0.203125 0 +0.203125 0.203125 0 +0.187500 0.218750 0 +0.203125 0.218750 0 +0.203125 0.203125 0 +0.218750 0.203125 0 +0.203125 0.218750 0 +0.218750 0.218750 0 +0.562500 0.500000 0 +0.578125 0.500000 0 +0.562500 0.515625 0 +0.578125 0.515625 0 +0.578125 0.500000 0 +0.593750 0.500000 0 +0.578125 0.515625 0 +0.593750 0.515625 0 +0.562500 0.515625 0 +0.578125 0.515625 0 +0.562500 0.531250 0 +0.578125 0.531250 0 +0.578125 0.515625 0 +0.593750 0.515625 0 +0.578125 0.531250 0 +0.593750 0.531250 0 +0.593750 0.531250 0 +0.609375 0.531250 0 +0.593750 0.546875 0 +0.609375 0.546875 0 +0.609375 0.531250 0 +0.625000 0.531250 0 +0.609375 0.546875 0 +0.625000 0.546875 0 +0.593750 0.546875 0 +0.609375 0.546875 0 +0.593750 0.562500 0 +0.609375 0.562500 0 +0.609375 0.546875 0 +0.625000 0.546875 0 +0.609375 0.562500 0 +0.625000 0.562500 0 +0.562500 0.562500 0 +0.578125 0.562500 0 +0.562500 0.578125 0 +0.578125 0.578125 0 +0.578125 0.562500 0 +0.593750 0.562500 0 +0.578125 0.578125 0 +0.593750 0.578125 0 +0.562500 0.578125 0 +0.578125 0.578125 0 +0.562500 0.593750 0 +0.578125 0.593750 0 +0.578125 0.578125 0 +0.593750 0.578125 0 +0.578125 0.593750 0 +0.593750 0.593750 0 +0.562500 0.593750 0 +0.578125 0.593750 0 +0.562500 0.609375 0 +0.578125 0.609375 0 +0.578125 0.593750 0 +0.593750 0.593750 0 +0.578125 0.609375 0 +0.593750 0.609375 0 +0.562500 0.609375 0 +0.578125 0.609375 0 +0.562500 0.625000 0 +0.578125 0.625000 0 +0.578125 0.609375 0 +0.593750 0.609375 0 +0.578125 0.625000 0 +0.593750 0.625000 0 +0.312500 0.0625000 0 +0.328125 0.0625000 0 +0.312500 0.0781250 0 +0.328125 0.0781250 0 +0.328125 0.0625000 0 +0.343750 0.0625000 0 +0.328125 0.0781250 0 +0.343750 0.0781250 0 +0.312500 0.0781250 0 +0.328125 0.0781250 0 +0.312500 0.0937500 0 +0.328125 0.0937500 0 +0.328125 0.0781250 0 +0.343750 0.0781250 0 +0.328125 0.0937500 0 +0.343750 0.0937500 0 +0.687500 0.218750 0 +0.703125 0.218750 0 +0.687500 0.234375 0 +0.703125 0.234375 0 +0.703125 0.218750 0 +0.718750 0.218750 0 +0.703125 0.234375 0 +0.718750 0.234375 0 +0.687500 0.234375 0 +0.703125 0.234375 0 +0.687500 0.250000 0 +0.703125 0.250000 0 +0.703125 0.234375 0 +0.718750 0.234375 0 +0.703125 0.250000 0 +0.718750 0.250000 0 +0.718750 0.218750 0 +0.734375 0.218750 0 +0.718750 0.234375 0 +0.734375 0.234375 0 +0.734375 0.218750 0 +0.750000 0.218750 0 +0.734375 0.234375 0 +0.750000 0.234375 0 +0.718750 0.234375 0 +0.734375 0.234375 0 +0.718750 0.250000 0 +0.734375 0.250000 0 +0.734375 0.234375 0 +0.750000 0.234375 0 +0.734375 0.250000 0 +0.750000 0.250000 0 +0.0625000 0.500000 0 +0.0781250 0.500000 0 +0.0625000 0.515625 0 +0.0781250 0.515625 0 +0.0781250 0.500000 0 +0.0937500 0.500000 0 +0.0781250 0.515625 0 +0.0937500 0.515625 0 +0.0625000 0.515625 0 +0.0781250 0.515625 0 +0.0625000 0.531250 0 +0.0781250 0.531250 0 +0.0781250 0.515625 0 +0.0937500 0.515625 0 +0.0781250 0.531250 0 +0.0937500 0.531250 0 +0.187500 0.718750 0 +0.203125 0.718750 0 +0.187500 0.734375 0 +0.203125 0.734375 0 +0.203125 0.718750 0 +0.218750 0.718750 0 +0.203125 0.734375 0 +0.218750 0.734375 0 +0.187500 0.734375 0 +0.203125 0.734375 0 +0.187500 0.750000 0 +0.203125 0.750000 0 +0.203125 0.734375 0 +0.218750 0.734375 0 +0.203125 0.750000 0 +0.218750 0.750000 0 +0.312500 0.343750 0 +0.328125 0.343750 0 +0.312500 0.359375 0 +0.328125 0.359375 0 +0.328125 0.343750 0 +0.343750 0.343750 0 +0.328125 0.359375 0 +0.343750 0.359375 0 +0.312500 0.359375 0 +0.328125 0.359375 0 +0.312500 0.375000 0 +0.328125 0.375000 0 +0.328125 0.359375 0 +0.343750 0.359375 0 +0.328125 0.375000 0 +0.343750 0.375000 0 +0.468750 0.500000 0 +0.484375 0.500000 0 +0.468750 0.515625 0 +0.484375 0.515625 0 +0.484375 0.500000 0 +0.500000 0.500000 0 +0.484375 0.515625 0 +0.500000 0.515625 0 +0.468750 0.515625 0 +0.484375 0.515625 0 +0.468750 0.531250 0 +0.484375 0.531250 0 +0.484375 0.515625 0 +0.500000 0.515625 0 +0.484375 0.531250 0 +0.500000 0.531250 0 +0.437500 0.531250 0 +0.453125 0.531250 0 +0.437500 0.546875 0 +0.453125 0.546875 0 +0.453125 0.531250 0 +0.468750 0.531250 0 +0.453125 0.546875 0 +0.468750 0.546875 0 +0.437500 0.546875 0 +0.453125 0.546875 0 +0.437500 0.562500 0 +0.453125 0.562500 0 +0.453125 0.546875 0 +0.468750 0.546875 0 +0.453125 0.562500 0 +0.468750 0.562500 0 +0.468750 0.625000 0 +0.484375 0.625000 0 +0.468750 0.640625 0 +0.484375 0.640625 0 +0.484375 0.625000 0 +0.500000 0.625000 0 +0.484375 0.640625 0 +0.500000 0.640625 0 +0.468750 0.640625 0 +0.484375 0.640625 0 +0.468750 0.656250 0 +0.484375 0.656250 0 +0.484375 0.640625 0 +0.500000 0.640625 0 +0.484375 0.656250 0 +0.500000 0.656250 0 +0.437500 0.687500 0 +0.453125 0.687500 0 +0.437500 0.703125 0 +0.453125 0.703125 0 +0.453125 0.687500 0 +0.468750 0.687500 0 +0.453125 0.703125 0 +0.468750 0.703125 0 +0.437500 0.703125 0 +0.453125 0.703125 0 +0.437500 0.718750 0 +0.453125 0.718750 0 +0.453125 0.703125 0 +0.468750 0.703125 0 +0.453125 0.718750 0 +0.468750 0.718750 0 +0.468750 0.718750 0 +0.484375 0.718750 0 +0.468750 0.734375 0 +0.484375 0.734375 0 +0.484375 0.718750 0 +0.500000 0.718750 0 +0.484375 0.734375 0 +0.500000 0.734375 0 +0.468750 0.734375 0 +0.484375 0.734375 0 +0.468750 0.750000 0 +0.484375 0.750000 0 +0.484375 0.734375 0 +0.500000 0.734375 0 +0.484375 0.750000 0 +0.500000 0.750000 0 +0.437500 0.750000 0 +0.453125 0.750000 0 +0.437500 0.765625 0 +0.453125 0.765625 0 +0.453125 0.750000 0 +0.468750 0.750000 0 +0.453125 0.765625 0 +0.468750 0.765625 0 +0.437500 0.765625 0 +0.453125 0.765625 0 +0.437500 0.781250 0 +0.453125 0.781250 0 +0.453125 0.765625 0 +0.468750 0.765625 0 +0.453125 0.781250 0 +0.468750 0.781250 0 +0.656250 0.343750 0 +0.671875 0.343750 0 +0.656250 0.359375 0 +0.671875 0.359375 0 +0.671875 0.343750 0 +0.687500 0.343750 0 +0.671875 0.359375 0 +0.687500 0.359375 0 +0.656250 0.359375 0 +0.671875 0.359375 0 +0.656250 0.375000 0 +0.671875 0.375000 0 +0.671875 0.359375 0 +0.687500 0.359375 0 +0.671875 0.375000 0 +0.687500 0.375000 0 +0.718750 0.625000 0 +0.734375 0.625000 0 +0.718750 0.640625 0 +0.734375 0.640625 0 +0.734375 0.625000 0 +0.750000 0.625000 0 +0.734375 0.640625 0 +0.750000 0.640625 0 +0.718750 0.640625 0 +0.734375 0.640625 0 +0.718750 0.656250 0 +0.734375 0.656250 0 +0.734375 0.640625 0 +0.750000 0.640625 0 +0.734375 0.656250 0 +0.750000 0.656250 0 +0.0937500 0.0937500 0 +0.109375 0.0937500 0 +0.0937500 0.109375 0 +0.109375 0.109375 0 +0.109375 0.0937500 0 +0.125000 0.0937500 0 +0.109375 0.109375 0 +0.125000 0.109375 0 +0.0937500 0.109375 0 +0.109375 0.109375 0 +0.0937500 0.125000 0 +0.109375 0.125000 0 +0.109375 0.109375 0 +0.125000 0.109375 0 +0.109375 0.125000 0 +0.125000 0.125000 0 +0.718750 0.500000 0 +0.734375 0.500000 0 +0.718750 0.515625 0 +0.734375 0.515625 0 +0.734375 0.500000 0 +0.750000 0.500000 0 +0.734375 0.515625 0 +0.750000 0.515625 0 +0.718750 0.515625 0 +0.734375 0.515625 0 +0.718750 0.531250 0 +0.734375 0.531250 0 +0.734375 0.515625 0 +0.750000 0.515625 0 +0.734375 0.531250 0 +0.750000 0.531250 0 +0.593750 0.718750 0 +0.609375 0.718750 0 +0.593750 0.734375 0 +0.609375 0.734375 0 +0.609375 0.718750 0 +0.625000 0.718750 0 +0.609375 0.734375 0 +0.625000 0.734375 0 +0.593750 0.734375 0 +0.609375 0.734375 0 +0.593750 0.750000 0 +0.609375 0.750000 0 +0.609375 0.734375 0 +0.625000 0.734375 0 +0.609375 0.750000 0 +0.625000 0.750000 0 +0.343750 0.187500 0 +0.359375 0.187500 0 +0.343750 0.203125 0 +0.359375 0.203125 0 +0.359375 0.187500 0 +0.375000 0.187500 0 +0.359375 0.203125 0 +0.375000 0.203125 0 +0.343750 0.203125 0 +0.359375 0.203125 0 +0.343750 0.218750 0 +0.359375 0.218750 0 +0.359375 0.203125 0 +0.375000 0.203125 0 +0.359375 0.218750 0 +0.375000 0.218750 0 +0.843750 0.281250 0 +0.859375 0.281250 0 +0.843750 0.296875 0 +0.859375 0.296875 0 +0.859375 0.281250 0 +0.875000 0.281250 0 +0.859375 0.296875 0 +0.875000 0.296875 0 +0.843750 0.296875 0 +0.859375 0.296875 0 +0.843750 0.312500 0 +0.859375 0.312500 0 +0.859375 0.296875 0 +0.875000 0.296875 0 +0.859375 0.312500 0 +0.875000 0.312500 0 +0.531250 0.750000 0 +0.546875 0.750000 0 +0.531250 0.765625 0 +0.546875 0.765625 0 +0.546875 0.750000 0 +0.562500 0.750000 0 +0.546875 0.765625 0 +0.562500 0.765625 0 +0.531250 0.765625 0 +0.546875 0.765625 0 +0.531250 0.781250 0 +0.546875 0.781250 0 +0.546875 0.765625 0 +0.562500 0.765625 0 +0.546875 0.781250 0 +0.562500 0.781250 0 +0.156250 0.0312500 0 +0.171875 0.0312500 0 +0.156250 0.0468750 0 +0.171875 0.0468750 0 +0.171875 0.0312500 0 +0.187500 0.0312500 0 +0.171875 0.0468750 0 +0.187500 0.0468750 0 +0.156250 0.0468750 0 +0.171875 0.0468750 0 +0.156250 0.0625000 0 +0.171875 0.0625000 0 +0.171875 0.0468750 0 +0.187500 0.0468750 0 +0.171875 0.0625000 0 +0.187500 0.0625000 0 +0.531250 0.375000 0 +0.546875 0.375000 0 +0.531250 0.390625 0 +0.546875 0.390625 0 +0.546875 0.375000 0 +0.562500 0.375000 0 +0.546875 0.390625 0 +0.562500 0.390625 0 +0.531250 0.390625 0 +0.546875 0.390625 0 +0.531250 0.406250 0 +0.546875 0.406250 0 +0.546875 0.390625 0 +0.562500 0.390625 0 +0.546875 0.406250 0 +0.562500 0.406250 0 +0.531250 0.531250 0 +0.546875 0.531250 0 +0.531250 0.546875 0 +0.546875 0.546875 0 +0.546875 0.531250 0 +0.562500 0.531250 0 +0.546875 0.546875 0 +0.562500 0.546875 0 +0.531250 0.546875 0 +0.546875 0.546875 0 +0.531250 0.562500 0 +0.546875 0.562500 0 +0.546875 0.546875 0 +0.562500 0.546875 0 +0.546875 0.562500 0 +0.562500 0.562500 0 +0.656250 0.187500 0 +0.671875 0.187500 0 +0.656250 0.203125 0 +0.671875 0.203125 0 +0.671875 0.187500 0 +0.687500 0.187500 0 +0.671875 0.203125 0 +0.687500 0.203125 0 +0.656250 0.203125 0 +0.671875 0.203125 0 +0.656250 0.218750 0 +0.671875 0.218750 0 +0.671875 0.203125 0 +0.687500 0.203125 0 +0.671875 0.218750 0 +0.687500 0.218750 0 +0.0312500 0.531250 0 +0.0468750 0.531250 0 +0.0312500 0.546875 0 +0.0468750 0.546875 0 +0.0468750 0.531250 0 +0.0625000 0.531250 0 +0.0468750 0.546875 0 +0.0625000 0.546875 0 +0.0312500 0.546875 0 +0.0468750 0.546875 0 +0.0312500 0.562500 0 +0.0468750 0.562500 0 +0.0468750 0.546875 0 +0.0625000 0.546875 0 +0.0468750 0.562500 0 +0.0625000 0.562500 0 +0.531250 0.875000 0 +0.546875 0.875000 0 +0.531250 0.890625 0 +0.546875 0.890625 0 +0.546875 0.875000 0 +0.562500 0.875000 0 +0.546875 0.890625 0 +0.562500 0.890625 0 +0.531250 0.890625 0 +0.546875 0.890625 0 +0.531250 0.906250 0 +0.546875 0.906250 0 +0.546875 0.890625 0 +0.562500 0.890625 0 +0.546875 0.906250 0 +0.562500 0.906250 0 +0.218750 0.343750 0 +0.234375 0.343750 0 +0.218750 0.359375 0 +0.234375 0.359375 0 +0.234375 0.343750 0 +0.250000 0.343750 0 +0.234375 0.359375 0 +0.250000 0.359375 0 +0.218750 0.359375 0 +0.234375 0.359375 0 +0.218750 0.375000 0 +0.234375 0.375000 0 +0.234375 0.359375 0 +0.250000 0.359375 0 +0.234375 0.375000 0 +0.250000 0.375000 0 +0.250000 0.250000 0 +0.265625 0.250000 0 +0.250000 0.265625 0 +0.265625 0.265625 0 +0.265625 0.250000 0 +0.281250 0.250000 0 +0.265625 0.265625 0 +0.281250 0.265625 0 +0.250000 0.265625 0 +0.265625 0.265625 0 +0.250000 0.281250 0 +0.265625 0.281250 0 +0.265625 0.265625 0 +0.281250 0.265625 0 +0.265625 0.281250 0 +0.281250 0.281250 0 +0.343750 0.250000 0 +0.359375 0.250000 0 +0.343750 0.265625 0 +0.359375 0.265625 0 +0.359375 0.250000 0 +0.375000 0.250000 0 +0.359375 0.265625 0 +0.375000 0.265625 0 +0.343750 0.265625 0 +0.359375 0.265625 0 +0.343750 0.281250 0 +0.359375 0.281250 0 +0.359375 0.265625 0 +0.375000 0.265625 0 +0.359375 0.281250 0 +0.375000 0.281250 0 +0.406250 0.468750 0 +0.421875 0.468750 0 +0.406250 0.484375 0 +0.421875 0.484375 0 +0.421875 0.468750 0 +0.437500 0.468750 0 +0.421875 0.484375 0 +0.437500 0.484375 0 +0.406250 0.484375 0 +0.421875 0.484375 0 +0.406250 0.500000 0 +0.421875 0.500000 0 +0.421875 0.484375 0 +0.437500 0.484375 0 +0.421875 0.500000 0 +0.437500 0.500000 0 +0.406250 0.687500 0 +0.421875 0.687500 0 +0.406250 0.703125 0 +0.421875 0.703125 0 +0.421875 0.687500 0 +0.437500 0.687500 0 +0.421875 0.703125 0 +0.437500 0.703125 0 +0.406250 0.703125 0 +0.421875 0.703125 0 +0.406250 0.718750 0 +0.421875 0.718750 0 +0.421875 0.703125 0 +0.437500 0.703125 0 +0.421875 0.718750 0 +0.437500 0.718750 0 +0.406250 0.843750 0 +0.421875 0.843750 0 +0.406250 0.859375 0 +0.421875 0.859375 0 +0.421875 0.843750 0 +0.437500 0.843750 0 +0.421875 0.859375 0 +0.437500 0.859375 0 +0.406250 0.859375 0 +0.421875 0.859375 0 +0.406250 0.875000 0 +0.421875 0.875000 0 +0.421875 0.859375 0 +0.437500 0.859375 0 +0.421875 0.875000 0 +0.437500 0.875000 0 +0.0312500 0.125000 0 +0.0468750 0.125000 0 +0.0312500 0.140625 0 +0.0468750 0.140625 0 +0.0468750 0.125000 0 +0.0625000 0.125000 0 +0.0468750 0.140625 0 +0.0625000 0.140625 0 +0.0312500 0.140625 0 +0.0468750 0.140625 0 +0.0312500 0.156250 0 +0.0468750 0.156250 0 +0.0468750 0.140625 0 +0.0625000 0.140625 0 +0.0468750 0.156250 0 +0.0625000 0.156250 0 +0.531250 0.281250 0 +0.546875 0.281250 0 +0.531250 0.296875 0 +0.546875 0.296875 0 +0.546875 0.281250 0 +0.562500 0.281250 0 +0.546875 0.296875 0 +0.562500 0.296875 0 +0.531250 0.296875 0 +0.546875 0.296875 0 +0.531250 0.312500 0 +0.546875 0.312500 0 +0.546875 0.296875 0 +0.562500 0.296875 0 +0.546875 0.312500 0 +0.562500 0.312500 0 +0.906250 0.250000 0 +0.921875 0.250000 0 +0.906250 0.265625 0 +0.921875 0.265625 0 +0.921875 0.250000 0 +0.937500 0.250000 0 +0.921875 0.265625 0 +0.937500 0.265625 0 +0.906250 0.265625 0 +0.921875 0.265625 0 +0.906250 0.281250 0 +0.921875 0.281250 0 +0.921875 0.265625 0 +0.937500 0.265625 0 +0.921875 0.281250 0 +0.937500 0.281250 0 +0.906250 0.343750 0 +0.921875 0.343750 0 +0.906250 0.359375 0 +0.921875 0.359375 0 +0.921875 0.343750 0 +0.937500 0.343750 0 +0.921875 0.359375 0 +0.937500 0.359375 0 +0.906250 0.359375 0 +0.921875 0.359375 0 +0.906250 0.375000 0 +0.921875 0.375000 0 +0.921875 0.359375 0 +0.937500 0.359375 0 +0.921875 0.375000 0 +0.937500 0.375000 0 +0.156250 0.500000 0 +0.171875 0.500000 0 +0.156250 0.515625 0 +0.171875 0.515625 0 +0.171875 0.500000 0 +0.187500 0.500000 0 +0.171875 0.515625 0 +0.187500 0.515625 0 +0.156250 0.515625 0 +0.171875 0.515625 0 +0.156250 0.531250 0 +0.171875 0.531250 0 +0.171875 0.515625 0 +0.187500 0.515625 0 +0.171875 0.531250 0 +0.187500 0.531250 0 +0.906250 0.531250 0 +0.921875 0.531250 0 +0.906250 0.546875 0 +0.921875 0.546875 0 +0.921875 0.531250 0 +0.937500 0.531250 0 +0.921875 0.546875 0 +0.937500 0.546875 0 +0.906250 0.546875 0 +0.921875 0.546875 0 +0.906250 0.562500 0 +0.921875 0.562500 0 +0.921875 0.546875 0 +0.937500 0.546875 0 +0.921875 0.562500 0 +0.937500 0.562500 0 +0.906250 0.750000 0 +0.921875 0.750000 0 +0.906250 0.765625 0 +0.921875 0.765625 0 +0.921875 0.750000 0 +0.937500 0.750000 0 +0.921875 0.765625 0 +0.937500 0.765625 0 +0.906250 0.765625 0 +0.921875 0.765625 0 +0.906250 0.781250 0 +0.921875 0.781250 0 +0.921875 0.765625 0 +0.937500 0.765625 0 +0.921875 0.781250 0 +0.937500 0.781250 0 +0.0312500 0.468750 0 +0.0468750 0.468750 0 +0.0312500 0.484375 0 +0.0468750 0.484375 0 +0.0468750 0.468750 0 +0.0625000 0.468750 0 +0.0468750 0.484375 0 +0.0625000 0.484375 0 +0.0312500 0.484375 0 +0.0468750 0.484375 0 +0.0312500 0.500000 0 +0.0468750 0.500000 0 +0.0468750 0.484375 0 +0.0625000 0.484375 0 +0.0468750 0.500000 0 +0.0625000 0.500000 0 +0.0937500 0.468750 0 +0.109375 0.468750 0 +0.0937500 0.484375 0 +0.109375 0.484375 0 +0.109375 0.468750 0 +0.125000 0.468750 0 +0.109375 0.484375 0 +0.125000 0.484375 0 +0.0937500 0.484375 0 +0.109375 0.484375 0 +0.0937500 0.500000 0 +0.109375 0.500000 0 +0.109375 0.484375 0 +0.125000 0.484375 0 +0.109375 0.500000 0 +0.125000 0.500000 0 +0.406250 0.312500 0 +0.421875 0.312500 0 +0.406250 0.328125 0 +0.421875 0.328125 0 +0.421875 0.312500 0 +0.437500 0.312500 0 +0.421875 0.328125 0 +0.437500 0.328125 0 +0.406250 0.328125 0 +0.421875 0.328125 0 +0.406250 0.343750 0 +0.421875 0.343750 0 +0.421875 0.328125 0 +0.437500 0.328125 0 +0.421875 0.343750 0 +0.437500 0.343750 0 +0.281250 0.406250 0 +0.296875 0.406250 0 +0.281250 0.421875 0 +0.296875 0.421875 0 +0.296875 0.406250 0 +0.312500 0.406250 0 +0.296875 0.421875 0 +0.312500 0.421875 0 +0.281250 0.421875 0 +0.296875 0.421875 0 +0.281250 0.437500 0 +0.296875 0.437500 0 +0.296875 0.421875 0 +0.312500 0.421875 0 +0.296875 0.437500 0 +0.312500 0.437500 0 +0.281250 0.687500 0 +0.296875 0.687500 0 +0.281250 0.703125 0 +0.296875 0.703125 0 +0.296875 0.687500 0 +0.312500 0.687500 0 +0.296875 0.703125 0 +0.312500 0.703125 0 +0.281250 0.703125 0 +0.296875 0.703125 0 +0.281250 0.718750 0 +0.296875 0.718750 0 +0.296875 0.703125 0 +0.312500 0.703125 0 +0.296875 0.718750 0 +0.312500 0.718750 0 +0.0312500 0.781250 0 +0.0468750 0.781250 0 +0.0312500 0.796875 0 +0.0468750 0.796875 0 +0.0468750 0.781250 0 +0.0625000 0.781250 0 +0.0468750 0.796875 0 +0.0625000 0.796875 0 +0.0312500 0.796875 0 +0.0468750 0.796875 0 +0.0312500 0.812500 0 +0.0468750 0.812500 0 +0.0468750 0.796875 0 +0.0625000 0.796875 0 +0.0468750 0.812500 0 +0.0625000 0.812500 0 +0.218750 0.750000 0 +0.234375 0.750000 0 +0.218750 0.765625 0 +0.234375 0.765625 0 +0.234375 0.750000 0 +0.250000 0.750000 0 +0.234375 0.765625 0 +0.250000 0.765625 0 +0.218750 0.765625 0 +0.234375 0.765625 0 +0.218750 0.781250 0 +0.234375 0.781250 0 +0.234375 0.765625 0 +0.250000 0.765625 0 +0.234375 0.781250 0 +0.250000 0.781250 0 +0.156250 0.812500 0 +0.171875 0.812500 0 +0.156250 0.828125 0 +0.171875 0.828125 0 +0.171875 0.812500 0 +0.187500 0.812500 0 +0.171875 0.828125 0 +0.187500 0.828125 0 +0.156250 0.828125 0 +0.171875 0.828125 0 +0.156250 0.843750 0 +0.171875 0.843750 0 +0.171875 0.828125 0 +0.187500 0.828125 0 +0.171875 0.843750 0 +0.187500 0.843750 0 +0.632812 0.632812 0 +0.640625 0.632812 0 +0.632812 0.640625 0 +0.640625 0.640625 0 +0.687500 0.265625 0 +0.695312 0.265625 0 +0.687500 0.273438 0 +0.695312 0.273438 0 +0.695312 0.265625 0 +0.703125 0.265625 0 +0.695312 0.273438 0 +0.703125 0.273438 0 +0.687500 0.273438 0 +0.695312 0.273438 0 +0.687500 0.281250 0 +0.695312 0.281250 0 +0.625000 0.562500 0 +0.632812 0.562500 0 +0.625000 0.570312 0 +0.632812 0.570312 0 +0.632812 0.562500 0 +0.640625 0.562500 0 +0.632812 0.570312 0 +0.640625 0.570312 0 +0.625000 0.570312 0 +0.632812 0.570312 0 +0.625000 0.578125 0 +0.632812 0.578125 0 +0.632812 0.570312 0 +0.640625 0.570312 0 +0.632812 0.578125 0 +0.640625 0.578125 0 +0.625000 0.609375 0 +0.632812 0.609375 0 +0.625000 0.617188 0 +0.632812 0.617188 0 +0.625000 0.617188 0 +0.632812 0.617188 0 +0.625000 0.625000 0 +0.632812 0.625000 0 +0.632812 0.617188 0 +0.640625 0.617188 0 +0.632812 0.625000 0 +0.640625 0.625000 0 +0.593750 0.625000 0 +0.601562 0.625000 0 +0.593750 0.632812 0 +0.601562 0.632812 0 +0.601562 0.625000 0 +0.609375 0.625000 0 +0.601562 0.632812 0 +0.609375 0.632812 0 +0.593750 0.632812 0 +0.601562 0.632812 0 +0.593750 0.640625 0 +0.601562 0.640625 0 +0.609375 0.625000 0 +0.617188 0.625000 0 +0.609375 0.632812 0 +0.617188 0.632812 0 +0.617188 0.625000 0 +0.625000 0.625000 0 +0.617188 0.632812 0 +0.625000 0.632812 0 +0.609375 0.632812 0 +0.617188 0.632812 0 +0.609375 0.640625 0 +0.617188 0.640625 0 +0.617188 0.632812 0 +0.625000 0.632812 0 +0.617188 0.640625 0 +0.625000 0.640625 0 +0.250000 0.203125 0 +0.257812 0.203125 0 +0.250000 0.210938 0 +0.257812 0.210938 0 +0.250000 0.210938 0 +0.257812 0.210938 0 +0.250000 0.218750 0 +0.257812 0.218750 0 +0.257812 0.210938 0 +0.265625 0.210938 0 +0.257812 0.218750 0 +0.265625 0.218750 0 +0.640625 0.625000 0 +0.648438 0.625000 0 +0.640625 0.632812 0 +0.648438 0.632812 0 +0.648438 0.625000 0 +0.656250 0.625000 0 +0.648438 0.632812 0 +0.656250 0.632812 0 +0.640625 0.632812 0 +0.648438 0.632812 0 +0.640625 0.640625 0 +0.648438 0.640625 0 +0.648438 0.632812 0 +0.656250 0.632812 0 +0.648438 0.640625 0 +0.656250 0.640625 0 +0.625000 0.640625 0 +0.632812 0.640625 0 +0.625000 0.648438 0 +0.632812 0.648438 0 +0.632812 0.640625 0 +0.640625 0.640625 0 +0.632812 0.648438 0 +0.640625 0.648438 0 +0.625000 0.648438 0 +0.632812 0.648438 0 +0.625000 0.656250 0 +0.632812 0.656250 0 +0.632812 0.648438 0 +0.640625 0.648438 0 +0.632812 0.656250 0 +0.640625 0.656250 0 +0.687500 0.250000 0 +0.695312 0.250000 0 +0.687500 0.257812 0 +0.695312 0.257812 0 +0.695312 0.250000 0 +0.703125 0.250000 0 +0.695312 0.257812 0 +0.703125 0.257812 0 +0.687500 0.257812 0 +0.695312 0.257812 0 +0.687500 0.265625 0 +0.695312 0.265625 0 +0.695312 0.257812 0 +0.703125 0.257812 0 +0.695312 0.265625 0 +0.703125 0.265625 0 +0.703125 0.265625 0 +0.710938 0.265625 0 +0.703125 0.273438 0 +0.710938 0.273438 0 +0.710938 0.265625 0 +0.718750 0.265625 0 +0.710938 0.273438 0 +0.718750 0.273438 0 +0.703125 0.273438 0 +0.710938 0.273438 0 +0.703125 0.281250 0 +0.710938 0.281250 0 +0.710938 0.273438 0 +0.718750 0.273438 0 +0.710938 0.281250 0 +0.718750 0.281250 0 +0.0156250 0.0468750 0 +0.0234375 0.0468750 0 +0.0156250 0.0546875 0 +0.0234375 0.0546875 0 +0.0234375 0.0468750 0 +0.0312500 0.0468750 0 +0.0234375 0.0546875 0 +0.0312500 0.0546875 0 +0.0156250 0.0546875 0 +0.0234375 0.0546875 0 +0.0156250 0.0625000 0 +0.0234375 0.0625000 0 +0.0234375 0.0546875 0 +0.0312500 0.0546875 0 +0.0234375 0.0625000 0 +0.0312500 0.0625000 0 +0.625000 0.593750 0 +0.632812 0.593750 0 +0.625000 0.601562 0 +0.632812 0.601562 0 +0.632812 0.593750 0 +0.640625 0.593750 0 +0.632812 0.601562 0 +0.640625 0.601562 0 +0.625000 0.601562 0 +0.632812 0.601562 0 +0.625000 0.609375 0 +0.632812 0.609375 0 +0.632812 0.601562 0 +0.640625 0.601562 0 +0.632812 0.609375 0 +0.640625 0.609375 0 +0.640625 0.609375 0 +0.648438 0.609375 0 +0.640625 0.617188 0 +0.648438 0.617188 0 +0.648438 0.609375 0 +0.656250 0.609375 0 +0.648438 0.617188 0 +0.656250 0.617188 0 +0.640625 0.617188 0 +0.648438 0.617188 0 +0.640625 0.625000 0 +0.648438 0.625000 0 +0.648438 0.617188 0 +0.656250 0.617188 0 +0.648438 0.625000 0 +0.656250 0.625000 0 +0.593750 0.640625 0 +0.601562 0.640625 0 +0.593750 0.648438 0 +0.601562 0.648438 0 +0.601562 0.640625 0 +0.609375 0.640625 0 +0.601562 0.648438 0 +0.609375 0.648438 0 +0.593750 0.648438 0 +0.601562 0.648438 0 +0.593750 0.656250 0 +0.601562 0.656250 0 +0.601562 0.648438 0 +0.609375 0.648438 0 +0.601562 0.656250 0 +0.609375 0.656250 0 +0.609375 0.640625 0 +0.617188 0.640625 0 +0.609375 0.648438 0 +0.617188 0.648438 0 +0.617188 0.640625 0 +0.625000 0.640625 0 +0.617188 0.648438 0 +0.625000 0.648438 0 +0.609375 0.648438 0 +0.617188 0.648438 0 +0.609375 0.656250 0 +0.617188 0.656250 0 +0.617188 0.648438 0 +0.625000 0.648438 0 +0.617188 0.656250 0 +0.625000 0.656250 0 +0.250000 0.187500 0 +0.257812 0.187500 0 +0.250000 0.195312 0 +0.257812 0.195312 0 +0.257812 0.187500 0 +0.265625 0.187500 0 +0.257812 0.195312 0 +0.265625 0.195312 0 +0.250000 0.195312 0 +0.257812 0.195312 0 +0.250000 0.203125 0 +0.257812 0.203125 0 +0.257812 0.195312 0 +0.265625 0.195312 0 +0.257812 0.203125 0 +0.265625 0.203125 0 +0.265625 0.203125 0 +0.273438 0.203125 0 +0.265625 0.210938 0 +0.273438 0.210938 0 +0.273438 0.203125 0 +0.281250 0.203125 0 +0.273438 0.210938 0 +0.281250 0.210938 0 +0.265625 0.210938 0 +0.273438 0.210938 0 +0.265625 0.218750 0 +0.273438 0.218750 0 +0.273438 0.210938 0 +0.281250 0.210938 0 +0.273438 0.218750 0 +0.281250 0.218750 0 +0.00000 0.671875 0 +0.00781250 0.671875 0 +0.00000 0.679688 0 +0.00781250 0.679688 0 +0.00781250 0.671875 0 +0.0156250 0.671875 0 +0.00781250 0.679688 0 +0.0156250 0.679688 0 +0.00000 0.679688 0 +0.00781250 0.679688 0 +0.00000 0.687500 0 +0.00781250 0.687500 0 +0.00781250 0.679688 0 +0.0156250 0.679688 0 +0.00781250 0.687500 0 +0.0156250 0.687500 0 +0.687500 0.281250 0 +0.695312 0.281250 0 +0.687500 0.289062 0 +0.695312 0.289062 0 +0.695312 0.281250 0 +0.703125 0.281250 0 +0.695312 0.289062 0 +0.703125 0.289062 0 +0.687500 0.289062 0 +0.695312 0.289062 0 +0.687500 0.296875 0 +0.695312 0.296875 0 +0.695312 0.289062 0 +0.703125 0.289062 0 +0.695312 0.296875 0 +0.703125 0.296875 0 +0.00000 0.0156250 0 +0.00781250 0.0156250 0 +0.00000 0.0234375 0 +0.00781250 0.0234375 0 +0.00781250 0.0156250 0 +0.0156250 0.0156250 0 +0.00781250 0.0234375 0 +0.0156250 0.0234375 0 +0.00000 0.0234375 0 +0.00781250 0.0234375 0 +0.00000 0.0312500 0 +0.00781250 0.0312500 0 +0.00781250 0.0234375 0 +0.0156250 0.0234375 0 +0.00781250 0.0312500 0 +0.0156250 0.0312500 0 +0.562500 0.625000 0 +0.570312 0.625000 0 +0.562500 0.632812 0 +0.570312 0.632812 0 +0.570312 0.625000 0 +0.578125 0.625000 0 +0.570312 0.632812 0 +0.578125 0.632812 0 +0.562500 0.632812 0 +0.570312 0.632812 0 +0.562500 0.640625 0 +0.570312 0.640625 0 +0.570312 0.632812 0 +0.578125 0.632812 0 +0.570312 0.640625 0 +0.578125 0.640625 0 +0.250000 0.234375 0 +0.257812 0.234375 0 +0.250000 0.242188 0 +0.257812 0.242188 0 +0.257812 0.234375 0 +0.265625 0.234375 0 +0.257812 0.242188 0 +0.265625 0.242188 0 +0.250000 0.242188 0 +0.257812 0.242188 0 +0.250000 0.250000 0 +0.257812 0.250000 0 +0.257812 0.242188 0 +0.265625 0.242188 0 +0.257812 0.250000 0 +0.265625 0.250000 0 +0.531250 0.843750 0 +0.539062 0.843750 0 +0.531250 0.851562 0 +0.539062 0.851562 0 +0.539062 0.843750 0 +0.546875 0.843750 0 +0.539062 0.851562 0 +0.546875 0.851562 0 +0.531250 0.851562 0 +0.539062 0.851562 0 +0.531250 0.859375 0 +0.539062 0.859375 0 +0.539062 0.851562 0 +0.546875 0.851562 0 +0.539062 0.859375 0 +0.546875 0.859375 0 +0.656250 0.265625 0 +0.664062 0.265625 0 +0.656250 0.273438 0 +0.664062 0.273438 0 +0.664062 0.265625 0 +0.671875 0.265625 0 +0.664062 0.273438 0 +0.671875 0.273438 0 +0.656250 0.273438 0 +0.664062 0.273438 0 +0.656250 0.281250 0 +0.664062 0.281250 0 +0.664062 0.273438 0 +0.671875 0.273438 0 +0.664062 0.281250 0 +0.671875 0.281250 0 +0.0312500 0.0937500 0 +0.0390625 0.0937500 0 +0.0312500 0.101562 0 +0.0390625 0.101562 0 +0.0390625 0.0937500 0 +0.0468750 0.0937500 0 +0.0390625 0.101562 0 +0.0468750 0.101562 0 +0.0312500 0.101562 0 +0.0390625 0.101562 0 +0.0312500 0.109375 0 +0.0390625 0.109375 0 +0.0390625 0.101562 0 +0.0468750 0.101562 0 +0.0390625 0.109375 0 +0.0468750 0.109375 0 +0.656250 0.515625 0 +0.664062 0.515625 0 +0.656250 0.523438 0 +0.664062 0.523438 0 +0.664062 0.515625 0 +0.671875 0.515625 0 +0.664062 0.523438 0 +0.671875 0.523438 0 +0.656250 0.523438 0 +0.664062 0.523438 0 +0.656250 0.531250 0 +0.664062 0.531250 0 +0.664062 0.523438 0 +0.671875 0.523438 0 +0.664062 0.531250 0 +0.671875 0.531250 0 +0.531250 0.718750 0 +0.539062 0.718750 0 +0.531250 0.726562 0 +0.539062 0.726562 0 +0.539062 0.718750 0 +0.546875 0.718750 0 +0.539062 0.726562 0 +0.546875 0.726562 0 +0.531250 0.726562 0 +0.539062 0.726562 0 +0.531250 0.734375 0 +0.539062 0.734375 0 +0.539062 0.726562 0 +0.546875 0.726562 0 +0.539062 0.734375 0 +0.546875 0.734375 0 +0.843750 0.328125 0 +0.851562 0.328125 0 +0.843750 0.335938 0 +0.851562 0.335938 0 +0.851562 0.328125 0 +0.859375 0.328125 0 +0.851562 0.335938 0 +0.859375 0.335938 0 +0.843750 0.335938 0 +0.851562 0.335938 0 +0.843750 0.343750 0 +0.851562 0.343750 0 +0.851562 0.335938 0 +0.859375 0.335938 0 +0.851562 0.343750 0 +0.859375 0.343750 0 +0.218750 0.00000 0 +0.226562 0.00000 0 +0.218750 0.00781250 0 +0.226562 0.00781250 0 +0.226562 0.00000 0 +0.234375 0.00000 0 +0.226562 0.00781250 0 +0.234375 0.00781250 0 +0.218750 0.00781250 0 +0.226562 0.00781250 0 +0.218750 0.0156250 0 +0.226562 0.0156250 0 +0.226562 0.00781250 0 +0.234375 0.00781250 0 +0.226562 0.0156250 0 +0.234375 0.0156250 0 +0.218750 0.203125 0 +0.226562 0.203125 0 +0.218750 0.210938 0 +0.226562 0.210938 0 +0.226562 0.203125 0 +0.234375 0.203125 0 +0.226562 0.210938 0 +0.234375 0.210938 0 +0.218750 0.210938 0 +0.226562 0.210938 0 +0.218750 0.218750 0 +0.226562 0.218750 0 +0.226562 0.210938 0 +0.234375 0.210938 0 +0.226562 0.218750 0 +0.234375 0.218750 0 +0.593750 0.562500 0 +0.601562 0.562500 0 +0.593750 0.570312 0 +0.601562 0.570312 0 +0.601562 0.562500 0 +0.609375 0.562500 0 +0.601562 0.570312 0 +0.609375 0.570312 0 +0.593750 0.570312 0 +0.601562 0.570312 0 +0.593750 0.578125 0 +0.601562 0.578125 0 +0.601562 0.570312 0 +0.609375 0.570312 0 +0.601562 0.578125 0 +0.609375 0.578125 0 +0.593750 0.609375 0 +0.601562 0.609375 0 +0.593750 0.617188 0 +0.601562 0.617188 0 +0.601562 0.609375 0 +0.609375 0.609375 0 +0.601562 0.617188 0 +0.609375 0.617188 0 +0.593750 0.617188 0 +0.601562 0.617188 0 +0.593750 0.625000 0 +0.601562 0.625000 0 +0.601562 0.617188 0 +0.609375 0.617188 0 +0.601562 0.625000 0 +0.609375 0.625000 0 +0.0937500 0.500000 0 +0.101562 0.500000 0 +0.0937500 0.507812 0 +0.101562 0.507812 0 +0.101562 0.500000 0 +0.109375 0.500000 0 +0.101562 0.507812 0 +0.109375 0.507812 0 +0.0937500 0.507812 0 +0.101562 0.507812 0 +0.0937500 0.515625 0 +0.101562 0.515625 0 +0.101562 0.507812 0 +0.109375 0.507812 0 +0.101562 0.515625 0 +0.109375 0.515625 0 +0.218750 0.734375 0 +0.226562 0.734375 0 +0.218750 0.742188 0 +0.226562 0.742188 0 +0.226562 0.734375 0 +0.234375 0.734375 0 +0.226562 0.742188 0 +0.234375 0.742188 0 +0.218750 0.742188 0 +0.226562 0.742188 0 +0.218750 0.750000 0 +0.226562 0.750000 0 +0.226562 0.742188 0 +0.234375 0.742188 0 +0.226562 0.750000 0 +0.234375 0.750000 0 +0.468750 0.531250 0 +0.476562 0.531250 0 +0.468750 0.539062 0 +0.476562 0.539062 0 +0.476562 0.531250 0 +0.484375 0.531250 0 +0.476562 0.539062 0 +0.484375 0.539062 0 +0.468750 0.539062 0 +0.476562 0.539062 0 +0.468750 0.546875 0 +0.476562 0.546875 0 +0.476562 0.539062 0 +0.484375 0.539062 0 +0.476562 0.546875 0 +0.484375 0.546875 0 +0.468750 0.703125 0 +0.476562 0.703125 0 +0.468750 0.710938 0 +0.476562 0.710938 0 +0.476562 0.703125 0 +0.484375 0.703125 0 +0.476562 0.710938 0 +0.484375 0.710938 0 +0.468750 0.710938 0 +0.476562 0.710938 0 +0.468750 0.718750 0 +0.476562 0.718750 0 +0.476562 0.710938 0 +0.484375 0.710938 0 +0.476562 0.718750 0 +0.484375 0.718750 0 +0.625000 0.625000 0 +0.628906 0.625000 0 +0.625000 0.628906 0 +0.628906 0.628906 0 +0.628906 0.625000 0 +0.632812 0.625000 0 +0.628906 0.628906 0 +0.632812 0.628906 0 +0.625000 0.628906 0 +0.628906 0.628906 0 +0.625000 0.632812 0 +0.628906 0.632812 0 +0.632812 0.625000 0 +0.636719 0.625000 0 +0.632812 0.628906 0 +0.636719 0.628906 0 +0.636719 0.625000 0 +0.640625 0.625000 0 +0.636719 0.628906 0 +0.640625 0.628906 0 +0.632812 0.628906 0 +0.636719 0.628906 0 +0.632812 0.632812 0 +0.636719 0.632812 0 +0.636719 0.628906 0 +0.640625 0.628906 0 +0.636719 0.632812 0 +0.640625 0.632812 0 +0.625000 0.632812 0 +0.628906 0.632812 0 +0.625000 0.636719 0 +0.628906 0.636719 0 +0.628906 0.632812 0 +0.632812 0.632812 0 +0.628906 0.636719 0 +0.632812 0.636719 0 +0.625000 0.636719 0 +0.628906 0.636719 0 +0.625000 0.640625 0 +0.628906 0.640625 0 +0.628906 0.636719 0 +0.632812 0.636719 0 +0.628906 0.640625 0 +0.632812 0.640625 0 +0.695312 0.273438 0 +0.699219 0.273438 0 +0.695312 0.277344 0 +0.699219 0.277344 0 +0.699219 0.273438 0 +0.703125 0.273438 0 +0.699219 0.277344 0 +0.703125 0.277344 0 +0.695312 0.277344 0 +0.699219 0.277344 0 +0.695312 0.281250 0 +0.699219 0.281250 0 +0.699219 0.277344 0 +0.703125 0.277344 0 +0.699219 0.281250 0 +0.703125 0.281250 0 +0.632812 0.609375 0 +0.636719 0.609375 0 +0.632812 0.613281 0 +0.636719 0.613281 0 +0.636719 0.609375 0 +0.640625 0.609375 0 +0.636719 0.613281 0 +0.640625 0.613281 0 +0.632812 0.613281 0 +0.636719 0.613281 0 +0.632812 0.617188 0 +0.636719 0.617188 0 +0.636719 0.613281 0 +0.640625 0.613281 0 +0.636719 0.617188 0 +0.640625 0.617188 0 +0.601562 0.632812 0 +0.605469 0.632812 0 +0.601562 0.636719 0 +0.605469 0.636719 0 +0.605469 0.632812 0 +0.609375 0.632812 0 +0.605469 0.636719 0 +0.609375 0.636719 0 +0.601562 0.636719 0 +0.605469 0.636719 0 +0.601562 0.640625 0 +0.605469 0.640625 0 +0.605469 0.636719 0 +0.609375 0.636719 0 +0.605469 0.640625 0 +0.609375 0.640625 0 +0.257812 0.203125 0 +0.261719 0.203125 0 +0.257812 0.207031 0 +0.261719 0.207031 0 +0.261719 0.203125 0 +0.265625 0.203125 0 +0.261719 0.207031 0 +0.265625 0.207031 0 +0.257812 0.207031 0 +0.261719 0.207031 0 +0.257812 0.210938 0 +0.261719 0.210938 0 +0.261719 0.207031 0 +0.265625 0.207031 0 +0.261719 0.210938 0 +0.265625 0.210938 0 +0.628906 0.628906 0 +0.630859 0.628906 0 +0.628906 0.630859 0 +0.630859 0.630859 0 +0.630859 0.628906 0 +0.632812 0.628906 0 +0.630859 0.630859 0 +0.632812 0.630859 0 +0.628906 0.630859 0 +0.630859 0.630859 0 +0.628906 0.632812 0 +0.630859 0.632812 0 +0.630859 0.630859 0 +0.632812 0.630859 0 +0.630859 0.632812 0 +0.632812 0.632812 0 + +CELLS 1186 5930 +4 0 1 3 2 +4 4 5 7 6 +4 8 9 11 10 +4 12 13 15 14 +4 16 17 19 18 +4 20 21 23 22 +4 24 25 27 26 +4 28 29 31 30 +4 32 33 35 34 +4 36 37 39 38 +4 40 41 43 42 +4 44 45 47 46 +4 48 49 51 50 +4 52 53 55 54 +4 56 57 59 58 +4 60 61 63 62 +4 64 65 67 66 +4 68 69 71 70 +4 72 73 75 74 +4 76 77 79 78 +4 80 81 83 82 +4 84 85 87 86 +4 88 89 91 90 +4 92 93 95 94 +4 96 97 99 98 +4 100 101 103 102 +4 104 105 107 106 +4 108 109 111 110 +4 112 113 115 114 +4 116 117 119 118 +4 120 121 123 122 +4 124 125 127 126 +4 128 129 131 130 +4 132 133 135 134 +4 136 137 139 138 +4 140 141 143 142 +4 144 145 147 146 +4 148 149 151 150 +4 152 153 155 154 +4 156 157 159 158 +4 160 161 163 162 +4 164 165 167 166 +4 168 169 171 170 +4 172 173 175 174 +4 176 177 179 178 +4 180 181 183 182 +4 184 185 187 186 +4 188 189 191 190 +4 192 193 195 194 +4 196 197 199 198 +4 200 201 203 202 +4 204 205 207 206 +4 208 209 211 210 +4 212 213 215 214 +4 216 217 219 218 +4 220 221 223 222 +4 224 225 227 226 +4 228 229 231 230 +4 232 233 235 234 +4 236 237 239 238 +4 240 241 243 242 +4 244 245 247 246 +4 248 249 251 250 +4 252 253 255 254 +4 256 257 259 258 +4 260 261 263 262 +4 264 265 267 266 +4 268 269 271 270 +4 272 273 275 274 +4 276 277 279 278 +4 280 281 283 282 +4 284 285 287 286 +4 288 289 291 290 +4 292 293 295 294 +4 296 297 299 298 +4 300 301 303 302 +4 304 305 307 306 +4 308 309 311 310 +4 312 313 315 314 +4 316 317 319 318 +4 320 321 323 322 +4 324 325 327 326 +4 328 329 331 330 +4 332 333 335 334 +4 336 337 339 338 +4 340 341 343 342 +4 344 345 347 346 +4 348 349 351 350 +4 352 353 355 354 +4 356 357 359 358 +4 360 361 363 362 +4 364 365 367 366 +4 368 369 371 370 +4 372 373 375 374 +4 376 377 379 378 +4 380 381 383 382 +4 384 385 387 386 +4 388 389 391 390 +4 392 393 395 394 +4 396 397 399 398 +4 400 401 403 402 +4 404 405 407 406 +4 408 409 411 410 +4 412 413 415 414 +4 416 417 419 418 +4 420 421 423 422 +4 424 425 427 426 +4 428 429 431 430 +4 432 433 435 434 +4 436 437 439 438 +4 440 441 443 442 +4 444 445 447 446 +4 448 449 451 450 +4 452 453 455 454 +4 456 457 459 458 +4 460 461 463 462 +4 464 465 467 466 +4 468 469 471 470 +4 472 473 475 474 +4 476 477 479 478 +4 480 481 483 482 +4 484 485 487 486 +4 488 489 491 490 +4 492 493 495 494 +4 496 497 499 498 +4 500 501 503 502 +4 504 505 507 506 +4 508 509 511 510 +4 512 513 515 514 +4 516 517 519 518 +4 520 521 523 522 +4 524 525 527 526 +4 528 529 531 530 +4 532 533 535 534 +4 536 537 539 538 +4 540 541 543 542 +4 544 545 547 546 +4 548 549 551 550 +4 552 553 555 554 +4 556 557 559 558 +4 560 561 563 562 +4 564 565 567 566 +4 568 569 571 570 +4 572 573 575 574 +4 576 577 579 578 +4 580 581 583 582 +4 584 585 587 586 +4 588 589 591 590 +4 592 593 595 594 +4 596 597 599 598 +4 600 601 603 602 +4 604 605 607 606 +4 608 609 611 610 +4 612 613 615 614 +4 616 617 619 618 +4 620 621 623 622 +4 624 625 627 626 +4 628 629 631 630 +4 632 633 635 634 +4 636 637 639 638 +4 640 641 643 642 +4 644 645 647 646 +4 648 649 651 650 +4 652 653 655 654 +4 656 657 659 658 +4 660 661 663 662 +4 664 665 667 666 +4 668 669 671 670 +4 672 673 675 674 +4 676 677 679 678 +4 680 681 683 682 +4 684 685 687 686 +4 688 689 691 690 +4 692 693 695 694 +4 696 697 699 698 +4 700 701 703 702 +4 704 705 707 706 +4 708 709 711 710 +4 712 713 715 714 +4 716 717 719 718 +4 720 721 723 722 +4 724 725 727 726 +4 728 729 731 730 +4 732 733 735 734 +4 736 737 739 738 +4 740 741 743 742 +4 744 745 747 746 +4 748 749 751 750 +4 752 753 755 754 +4 756 757 759 758 +4 760 761 763 762 +4 764 765 767 766 +4 768 769 771 770 +4 772 773 775 774 +4 776 777 779 778 +4 780 781 783 782 +4 784 785 787 786 +4 788 789 791 790 +4 792 793 795 794 +4 796 797 799 798 +4 800 801 803 802 +4 804 805 807 806 +4 808 809 811 810 +4 812 813 815 814 +4 816 817 819 818 +4 820 821 823 822 +4 824 825 827 826 +4 828 829 831 830 +4 832 833 835 834 +4 836 837 839 838 +4 840 841 843 842 +4 844 845 847 846 +4 848 849 851 850 +4 852 853 855 854 +4 856 857 859 858 +4 860 861 863 862 +4 864 865 867 866 +4 868 869 871 870 +4 872 873 875 874 +4 876 877 879 878 +4 880 881 883 882 +4 884 885 887 886 +4 888 889 891 890 +4 892 893 895 894 +4 896 897 899 898 +4 900 901 903 902 +4 904 905 907 906 +4 908 909 911 910 +4 912 913 915 914 +4 916 917 919 918 +4 920 921 923 922 +4 924 925 927 926 +4 928 929 931 930 +4 932 933 935 934 +4 936 937 939 938 +4 940 941 943 942 +4 944 945 947 946 +4 948 949 951 950 +4 952 953 955 954 +4 956 957 959 958 +4 960 961 963 962 +4 964 965 967 966 +4 968 969 971 970 +4 972 973 975 974 +4 976 977 979 978 +4 980 981 983 982 +4 984 985 987 986 +4 988 989 991 990 +4 992 993 995 994 +4 996 997 999 998 +4 1000 1001 1003 1002 +4 1004 1005 1007 1006 +4 1008 1009 1011 1010 +4 1012 1013 1015 1014 +4 1016 1017 1019 1018 +4 1020 1021 1023 1022 +4 1024 1025 1027 1026 +4 1028 1029 1031 1030 +4 1032 1033 1035 1034 +4 1036 1037 1039 1038 +4 1040 1041 1043 1042 +4 1044 1045 1047 1046 +4 1048 1049 1051 1050 +4 1052 1053 1055 1054 +4 1056 1057 1059 1058 +4 1060 1061 1063 1062 +4 1064 1065 1067 1066 +4 1068 1069 1071 1070 +4 1072 1073 1075 1074 +4 1076 1077 1079 1078 +4 1080 1081 1083 1082 +4 1084 1085 1087 1086 +4 1088 1089 1091 1090 +4 1092 1093 1095 1094 +4 1096 1097 1099 1098 +4 1100 1101 1103 1102 +4 1104 1105 1107 1106 +4 1108 1109 1111 1110 +4 1112 1113 1115 1114 +4 1116 1117 1119 1118 +4 1120 1121 1123 1122 +4 1124 1125 1127 1126 +4 1128 1129 1131 1130 +4 1132 1133 1135 1134 +4 1136 1137 1139 1138 +4 1140 1141 1143 1142 +4 1144 1145 1147 1146 +4 1148 1149 1151 1150 +4 1152 1153 1155 1154 +4 1156 1157 1159 1158 +4 1160 1161 1163 1162 +4 1164 1165 1167 1166 +4 1168 1169 1171 1170 +4 1172 1173 1175 1174 +4 1176 1177 1179 1178 +4 1180 1181 1183 1182 +4 1184 1185 1187 1186 +4 1188 1189 1191 1190 +4 1192 1193 1195 1194 +4 1196 1197 1199 1198 +4 1200 1201 1203 1202 +4 1204 1205 1207 1206 +4 1208 1209 1211 1210 +4 1212 1213 1215 1214 +4 1216 1217 1219 1218 +4 1220 1221 1223 1222 +4 1224 1225 1227 1226 +4 1228 1229 1231 1230 +4 1232 1233 1235 1234 +4 1236 1237 1239 1238 +4 1240 1241 1243 1242 +4 1244 1245 1247 1246 +4 1248 1249 1251 1250 +4 1252 1253 1255 1254 +4 1256 1257 1259 1258 +4 1260 1261 1263 1262 +4 1264 1265 1267 1266 +4 1268 1269 1271 1270 +4 1272 1273 1275 1274 +4 1276 1277 1279 1278 +4 1280 1281 1283 1282 +4 1284 1285 1287 1286 +4 1288 1289 1291 1290 +4 1292 1293 1295 1294 +4 1296 1297 1299 1298 +4 1300 1301 1303 1302 +4 1304 1305 1307 1306 +4 1308 1309 1311 1310 +4 1312 1313 1315 1314 +4 1316 1317 1319 1318 +4 1320 1321 1323 1322 +4 1324 1325 1327 1326 +4 1328 1329 1331 1330 +4 1332 1333 1335 1334 +4 1336 1337 1339 1338 +4 1340 1341 1343 1342 +4 1344 1345 1347 1346 +4 1348 1349 1351 1350 +4 1352 1353 1355 1354 +4 1356 1357 1359 1358 +4 1360 1361 1363 1362 +4 1364 1365 1367 1366 +4 1368 1369 1371 1370 +4 1372 1373 1375 1374 +4 1376 1377 1379 1378 +4 1380 1381 1383 1382 +4 1384 1385 1387 1386 +4 1388 1389 1391 1390 +4 1392 1393 1395 1394 +4 1396 1397 1399 1398 +4 1400 1401 1403 1402 +4 1404 1405 1407 1406 +4 1408 1409 1411 1410 +4 1412 1413 1415 1414 +4 1416 1417 1419 1418 +4 1420 1421 1423 1422 +4 1424 1425 1427 1426 +4 1428 1429 1431 1430 +4 1432 1433 1435 1434 +4 1436 1437 1439 1438 +4 1440 1441 1443 1442 +4 1444 1445 1447 1446 +4 1448 1449 1451 1450 +4 1452 1453 1455 1454 +4 1456 1457 1459 1458 +4 1460 1461 1463 1462 +4 1464 1465 1467 1466 +4 1468 1469 1471 1470 +4 1472 1473 1475 1474 +4 1476 1477 1479 1478 +4 1480 1481 1483 1482 +4 1484 1485 1487 1486 +4 1488 1489 1491 1490 +4 1492 1493 1495 1494 +4 1496 1497 1499 1498 +4 1500 1501 1503 1502 +4 1504 1505 1507 1506 +4 1508 1509 1511 1510 +4 1512 1513 1515 1514 +4 1516 1517 1519 1518 +4 1520 1521 1523 1522 +4 1524 1525 1527 1526 +4 1528 1529 1531 1530 +4 1532 1533 1535 1534 +4 1536 1537 1539 1538 +4 1540 1541 1543 1542 +4 1544 1545 1547 1546 +4 1548 1549 1551 1550 +4 1552 1553 1555 1554 +4 1556 1557 1559 1558 +4 1560 1561 1563 1562 +4 1564 1565 1567 1566 +4 1568 1569 1571 1570 +4 1572 1573 1575 1574 +4 1576 1577 1579 1578 +4 1580 1581 1583 1582 +4 1584 1585 1587 1586 +4 1588 1589 1591 1590 +4 1592 1593 1595 1594 +4 1596 1597 1599 1598 +4 1600 1601 1603 1602 +4 1604 1605 1607 1606 +4 1608 1609 1611 1610 +4 1612 1613 1615 1614 +4 1616 1617 1619 1618 +4 1620 1621 1623 1622 +4 1624 1625 1627 1626 +4 1628 1629 1631 1630 +4 1632 1633 1635 1634 +4 1636 1637 1639 1638 +4 1640 1641 1643 1642 +4 1644 1645 1647 1646 +4 1648 1649 1651 1650 +4 1652 1653 1655 1654 +4 1656 1657 1659 1658 +4 1660 1661 1663 1662 +4 1664 1665 1667 1666 +4 1668 1669 1671 1670 +4 1672 1673 1675 1674 +4 1676 1677 1679 1678 +4 1680 1681 1683 1682 +4 1684 1685 1687 1686 +4 1688 1689 1691 1690 +4 1692 1693 1695 1694 +4 1696 1697 1699 1698 +4 1700 1701 1703 1702 +4 1704 1705 1707 1706 +4 1708 1709 1711 1710 +4 1712 1713 1715 1714 +4 1716 1717 1719 1718 +4 1720 1721 1723 1722 +4 1724 1725 1727 1726 +4 1728 1729 1731 1730 +4 1732 1733 1735 1734 +4 1736 1737 1739 1738 +4 1740 1741 1743 1742 +4 1744 1745 1747 1746 +4 1748 1749 1751 1750 +4 1752 1753 1755 1754 +4 1756 1757 1759 1758 +4 1760 1761 1763 1762 +4 1764 1765 1767 1766 +4 1768 1769 1771 1770 +4 1772 1773 1775 1774 +4 1776 1777 1779 1778 +4 1780 1781 1783 1782 +4 1784 1785 1787 1786 +4 1788 1789 1791 1790 +4 1792 1793 1795 1794 +4 1796 1797 1799 1798 +4 1800 1801 1803 1802 +4 1804 1805 1807 1806 +4 1808 1809 1811 1810 +4 1812 1813 1815 1814 +4 1816 1817 1819 1818 +4 1820 1821 1823 1822 +4 1824 1825 1827 1826 +4 1828 1829 1831 1830 +4 1832 1833 1835 1834 +4 1836 1837 1839 1838 +4 1840 1841 1843 1842 +4 1844 1845 1847 1846 +4 1848 1849 1851 1850 +4 1852 1853 1855 1854 +4 1856 1857 1859 1858 +4 1860 1861 1863 1862 +4 1864 1865 1867 1866 +4 1868 1869 1871 1870 +4 1872 1873 1875 1874 +4 1876 1877 1879 1878 +4 1880 1881 1883 1882 +4 1884 1885 1887 1886 +4 1888 1889 1891 1890 +4 1892 1893 1895 1894 +4 1896 1897 1899 1898 +4 1900 1901 1903 1902 +4 1904 1905 1907 1906 +4 1908 1909 1911 1910 +4 1912 1913 1915 1914 +4 1916 1917 1919 1918 +4 1920 1921 1923 1922 +4 1924 1925 1927 1926 +4 1928 1929 1931 1930 +4 1932 1933 1935 1934 +4 1936 1937 1939 1938 +4 1940 1941 1943 1942 +4 1944 1945 1947 1946 +4 1948 1949 1951 1950 +4 1952 1953 1955 1954 +4 1956 1957 1959 1958 +4 1960 1961 1963 1962 +4 1964 1965 1967 1966 +4 1968 1969 1971 1970 +4 1972 1973 1975 1974 +4 1976 1977 1979 1978 +4 1980 1981 1983 1982 +4 1984 1985 1987 1986 +4 1988 1989 1991 1990 +4 1992 1993 1995 1994 +4 1996 1997 1999 1998 +4 2000 2001 2003 2002 +4 2004 2005 2007 2006 +4 2008 2009 2011 2010 +4 2012 2013 2015 2014 +4 2016 2017 2019 2018 +4 2020 2021 2023 2022 +4 2024 2025 2027 2026 +4 2028 2029 2031 2030 +4 2032 2033 2035 2034 +4 2036 2037 2039 2038 +4 2040 2041 2043 2042 +4 2044 2045 2047 2046 +4 2048 2049 2051 2050 +4 2052 2053 2055 2054 +4 2056 2057 2059 2058 +4 2060 2061 2063 2062 +4 2064 2065 2067 2066 +4 2068 2069 2071 2070 +4 2072 2073 2075 2074 +4 2076 2077 2079 2078 +4 2080 2081 2083 2082 +4 2084 2085 2087 2086 +4 2088 2089 2091 2090 +4 2092 2093 2095 2094 +4 2096 2097 2099 2098 +4 2100 2101 2103 2102 +4 2104 2105 2107 2106 +4 2108 2109 2111 2110 +4 2112 2113 2115 2114 +4 2116 2117 2119 2118 +4 2120 2121 2123 2122 +4 2124 2125 2127 2126 +4 2128 2129 2131 2130 +4 2132 2133 2135 2134 +4 2136 2137 2139 2138 +4 2140 2141 2143 2142 +4 2144 2145 2147 2146 +4 2148 2149 2151 2150 +4 2152 2153 2155 2154 +4 2156 2157 2159 2158 +4 2160 2161 2163 2162 +4 2164 2165 2167 2166 +4 2168 2169 2171 2170 +4 2172 2173 2175 2174 +4 2176 2177 2179 2178 +4 2180 2181 2183 2182 +4 2184 2185 2187 2186 +4 2188 2189 2191 2190 +4 2192 2193 2195 2194 +4 2196 2197 2199 2198 +4 2200 2201 2203 2202 +4 2204 2205 2207 2206 +4 2208 2209 2211 2210 +4 2212 2213 2215 2214 +4 2216 2217 2219 2218 +4 2220 2221 2223 2222 +4 2224 2225 2227 2226 +4 2228 2229 2231 2230 +4 2232 2233 2235 2234 +4 2236 2237 2239 2238 +4 2240 2241 2243 2242 +4 2244 2245 2247 2246 +4 2248 2249 2251 2250 +4 2252 2253 2255 2254 +4 2256 2257 2259 2258 +4 2260 2261 2263 2262 +4 2264 2265 2267 2266 +4 2268 2269 2271 2270 +4 2272 2273 2275 2274 +4 2276 2277 2279 2278 +4 2280 2281 2283 2282 +4 2284 2285 2287 2286 +4 2288 2289 2291 2290 +4 2292 2293 2295 2294 +4 2296 2297 2299 2298 +4 2300 2301 2303 2302 +4 2304 2305 2307 2306 +4 2308 2309 2311 2310 +4 2312 2313 2315 2314 +4 2316 2317 2319 2318 +4 2320 2321 2323 2322 +4 2324 2325 2327 2326 +4 2328 2329 2331 2330 +4 2332 2333 2335 2334 +4 2336 2337 2339 2338 +4 2340 2341 2343 2342 +4 2344 2345 2347 2346 +4 2348 2349 2351 2350 +4 2352 2353 2355 2354 +4 2356 2357 2359 2358 +4 2360 2361 2363 2362 +4 2364 2365 2367 2366 +4 2368 2369 2371 2370 +4 2372 2373 2375 2374 +4 2376 2377 2379 2378 +4 2380 2381 2383 2382 +4 2384 2385 2387 2386 +4 2388 2389 2391 2390 +4 2392 2393 2395 2394 +4 2396 2397 2399 2398 +4 2400 2401 2403 2402 +4 2404 2405 2407 2406 +4 2408 2409 2411 2410 +4 2412 2413 2415 2414 +4 2416 2417 2419 2418 +4 2420 2421 2423 2422 +4 2424 2425 2427 2426 +4 2428 2429 2431 2430 +4 2432 2433 2435 2434 +4 2436 2437 2439 2438 +4 2440 2441 2443 2442 +4 2444 2445 2447 2446 +4 2448 2449 2451 2450 +4 2452 2453 2455 2454 +4 2456 2457 2459 2458 +4 2460 2461 2463 2462 +4 2464 2465 2467 2466 +4 2468 2469 2471 2470 +4 2472 2473 2475 2474 +4 2476 2477 2479 2478 +4 2480 2481 2483 2482 +4 2484 2485 2487 2486 +4 2488 2489 2491 2490 +4 2492 2493 2495 2494 +4 2496 2497 2499 2498 +4 2500 2501 2503 2502 +4 2504 2505 2507 2506 +4 2508 2509 2511 2510 +4 2512 2513 2515 2514 +4 2516 2517 2519 2518 +4 2520 2521 2523 2522 +4 2524 2525 2527 2526 +4 2528 2529 2531 2530 +4 2532 2533 2535 2534 +4 2536 2537 2539 2538 +4 2540 2541 2543 2542 +4 2544 2545 2547 2546 +4 2548 2549 2551 2550 +4 2552 2553 2555 2554 +4 2556 2557 2559 2558 +4 2560 2561 2563 2562 +4 2564 2565 2567 2566 +4 2568 2569 2571 2570 +4 2572 2573 2575 2574 +4 2576 2577 2579 2578 +4 2580 2581 2583 2582 +4 2584 2585 2587 2586 +4 2588 2589 2591 2590 +4 2592 2593 2595 2594 +4 2596 2597 2599 2598 +4 2600 2601 2603 2602 +4 2604 2605 2607 2606 +4 2608 2609 2611 2610 +4 2612 2613 2615 2614 +4 2616 2617 2619 2618 +4 2620 2621 2623 2622 +4 2624 2625 2627 2626 +4 2628 2629 2631 2630 +4 2632 2633 2635 2634 +4 2636 2637 2639 2638 +4 2640 2641 2643 2642 +4 2644 2645 2647 2646 +4 2648 2649 2651 2650 +4 2652 2653 2655 2654 +4 2656 2657 2659 2658 +4 2660 2661 2663 2662 +4 2664 2665 2667 2666 +4 2668 2669 2671 2670 +4 2672 2673 2675 2674 +4 2676 2677 2679 2678 +4 2680 2681 2683 2682 +4 2684 2685 2687 2686 +4 2688 2689 2691 2690 +4 2692 2693 2695 2694 +4 2696 2697 2699 2698 +4 2700 2701 2703 2702 +4 2704 2705 2707 2706 +4 2708 2709 2711 2710 +4 2712 2713 2715 2714 +4 2716 2717 2719 2718 +4 2720 2721 2723 2722 +4 2724 2725 2727 2726 +4 2728 2729 2731 2730 +4 2732 2733 2735 2734 +4 2736 2737 2739 2738 +4 2740 2741 2743 2742 +4 2744 2745 2747 2746 +4 2748 2749 2751 2750 +4 2752 2753 2755 2754 +4 2756 2757 2759 2758 +4 2760 2761 2763 2762 +4 2764 2765 2767 2766 +4 2768 2769 2771 2770 +4 2772 2773 2775 2774 +4 2776 2777 2779 2778 +4 2780 2781 2783 2782 +4 2784 2785 2787 2786 +4 2788 2789 2791 2790 +4 2792 2793 2795 2794 +4 2796 2797 2799 2798 +4 2800 2801 2803 2802 +4 2804 2805 2807 2806 +4 2808 2809 2811 2810 +4 2812 2813 2815 2814 +4 2816 2817 2819 2818 +4 2820 2821 2823 2822 +4 2824 2825 2827 2826 +4 2828 2829 2831 2830 +4 2832 2833 2835 2834 +4 2836 2837 2839 2838 +4 2840 2841 2843 2842 +4 2844 2845 2847 2846 +4 2848 2849 2851 2850 +4 2852 2853 2855 2854 +4 2856 2857 2859 2858 +4 2860 2861 2863 2862 +4 2864 2865 2867 2866 +4 2868 2869 2871 2870 +4 2872 2873 2875 2874 +4 2876 2877 2879 2878 +4 2880 2881 2883 2882 +4 2884 2885 2887 2886 +4 2888 2889 2891 2890 +4 2892 2893 2895 2894 +4 2896 2897 2899 2898 +4 2900 2901 2903 2902 +4 2904 2905 2907 2906 +4 2908 2909 2911 2910 +4 2912 2913 2915 2914 +4 2916 2917 2919 2918 +4 2920 2921 2923 2922 +4 2924 2925 2927 2926 +4 2928 2929 2931 2930 +4 2932 2933 2935 2934 +4 2936 2937 2939 2938 +4 2940 2941 2943 2942 +4 2944 2945 2947 2946 +4 2948 2949 2951 2950 +4 2952 2953 2955 2954 +4 2956 2957 2959 2958 +4 2960 2961 2963 2962 +4 2964 2965 2967 2966 +4 2968 2969 2971 2970 +4 2972 2973 2975 2974 +4 2976 2977 2979 2978 +4 2980 2981 2983 2982 +4 2984 2985 2987 2986 +4 2988 2989 2991 2990 +4 2992 2993 2995 2994 +4 2996 2997 2999 2998 +4 3000 3001 3003 3002 +4 3004 3005 3007 3006 +4 3008 3009 3011 3010 +4 3012 3013 3015 3014 +4 3016 3017 3019 3018 +4 3020 3021 3023 3022 +4 3024 3025 3027 3026 +4 3028 3029 3031 3030 +4 3032 3033 3035 3034 +4 3036 3037 3039 3038 +4 3040 3041 3043 3042 +4 3044 3045 3047 3046 +4 3048 3049 3051 3050 +4 3052 3053 3055 3054 +4 3056 3057 3059 3058 +4 3060 3061 3063 3062 +4 3064 3065 3067 3066 +4 3068 3069 3071 3070 +4 3072 3073 3075 3074 +4 3076 3077 3079 3078 +4 3080 3081 3083 3082 +4 3084 3085 3087 3086 +4 3088 3089 3091 3090 +4 3092 3093 3095 3094 +4 3096 3097 3099 3098 +4 3100 3101 3103 3102 +4 3104 3105 3107 3106 +4 3108 3109 3111 3110 +4 3112 3113 3115 3114 +4 3116 3117 3119 3118 +4 3120 3121 3123 3122 +4 3124 3125 3127 3126 +4 3128 3129 3131 3130 +4 3132 3133 3135 3134 +4 3136 3137 3139 3138 +4 3140 3141 3143 3142 +4 3144 3145 3147 3146 +4 3148 3149 3151 3150 +4 3152 3153 3155 3154 +4 3156 3157 3159 3158 +4 3160 3161 3163 3162 +4 3164 3165 3167 3166 +4 3168 3169 3171 3170 +4 3172 3173 3175 3174 +4 3176 3177 3179 3178 +4 3180 3181 3183 3182 +4 3184 3185 3187 3186 +4 3188 3189 3191 3190 +4 3192 3193 3195 3194 +4 3196 3197 3199 3198 +4 3200 3201 3203 3202 +4 3204 3205 3207 3206 +4 3208 3209 3211 3210 +4 3212 3213 3215 3214 +4 3216 3217 3219 3218 +4 3220 3221 3223 3222 +4 3224 3225 3227 3226 +4 3228 3229 3231 3230 +4 3232 3233 3235 3234 +4 3236 3237 3239 3238 +4 3240 3241 3243 3242 +4 3244 3245 3247 3246 +4 3248 3249 3251 3250 +4 3252 3253 3255 3254 +4 3256 3257 3259 3258 +4 3260 3261 3263 3262 +4 3264 3265 3267 3266 +4 3268 3269 3271 3270 +4 3272 3273 3275 3274 +4 3276 3277 3279 3278 +4 3280 3281 3283 3282 +4 3284 3285 3287 3286 +4 3288 3289 3291 3290 +4 3292 3293 3295 3294 +4 3296 3297 3299 3298 +4 3300 3301 3303 3302 +4 3304 3305 3307 3306 +4 3308 3309 3311 3310 +4 3312 3313 3315 3314 +4 3316 3317 3319 3318 +4 3320 3321 3323 3322 +4 3324 3325 3327 3326 +4 3328 3329 3331 3330 +4 3332 3333 3335 3334 +4 3336 3337 3339 3338 +4 3340 3341 3343 3342 +4 3344 3345 3347 3346 +4 3348 3349 3351 3350 +4 3352 3353 3355 3354 +4 3356 3357 3359 3358 +4 3360 3361 3363 3362 +4 3364 3365 3367 3366 +4 3368 3369 3371 3370 +4 3372 3373 3375 3374 +4 3376 3377 3379 3378 +4 3380 3381 3383 3382 +4 3384 3385 3387 3386 +4 3388 3389 3391 3390 +4 3392 3393 3395 3394 +4 3396 3397 3399 3398 +4 3400 3401 3403 3402 +4 3404 3405 3407 3406 +4 3408 3409 3411 3410 +4 3412 3413 3415 3414 +4 3416 3417 3419 3418 +4 3420 3421 3423 3422 +4 3424 3425 3427 3426 +4 3428 3429 3431 3430 +4 3432 3433 3435 3434 +4 3436 3437 3439 3438 +4 3440 3441 3443 3442 +4 3444 3445 3447 3446 +4 3448 3449 3451 3450 +4 3452 3453 3455 3454 +4 3456 3457 3459 3458 +4 3460 3461 3463 3462 +4 3464 3465 3467 3466 +4 3468 3469 3471 3470 +4 3472 3473 3475 3474 +4 3476 3477 3479 3478 +4 3480 3481 3483 3482 +4 3484 3485 3487 3486 +4 3488 3489 3491 3490 +4 3492 3493 3495 3494 +4 3496 3497 3499 3498 +4 3500 3501 3503 3502 +4 3504 3505 3507 3506 +4 3508 3509 3511 3510 +4 3512 3513 3515 3514 +4 3516 3517 3519 3518 +4 3520 3521 3523 3522 +4 3524 3525 3527 3526 +4 3528 3529 3531 3530 +4 3532 3533 3535 3534 +4 3536 3537 3539 3538 +4 3540 3541 3543 3542 +4 3544 3545 3547 3546 +4 3548 3549 3551 3550 +4 3552 3553 3555 3554 +4 3556 3557 3559 3558 +4 3560 3561 3563 3562 +4 3564 3565 3567 3566 +4 3568 3569 3571 3570 +4 3572 3573 3575 3574 +4 3576 3577 3579 3578 +4 3580 3581 3583 3582 +4 3584 3585 3587 3586 +4 3588 3589 3591 3590 +4 3592 3593 3595 3594 +4 3596 3597 3599 3598 +4 3600 3601 3603 3602 +4 3604 3605 3607 3606 +4 3608 3609 3611 3610 +4 3612 3613 3615 3614 +4 3616 3617 3619 3618 +4 3620 3621 3623 3622 +4 3624 3625 3627 3626 +4 3628 3629 3631 3630 +4 3632 3633 3635 3634 +4 3636 3637 3639 3638 +4 3640 3641 3643 3642 +4 3644 3645 3647 3646 +4 3648 3649 3651 3650 +4 3652 3653 3655 3654 +4 3656 3657 3659 3658 +4 3660 3661 3663 3662 +4 3664 3665 3667 3666 +4 3668 3669 3671 3670 +4 3672 3673 3675 3674 +4 3676 3677 3679 3678 +4 3680 3681 3683 3682 +4 3684 3685 3687 3686 +4 3688 3689 3691 3690 +4 3692 3693 3695 3694 +4 3696 3697 3699 3698 +4 3700 3701 3703 3702 +4 3704 3705 3707 3706 +4 3708 3709 3711 3710 +4 3712 3713 3715 3714 +4 3716 3717 3719 3718 +4 3720 3721 3723 3722 +4 3724 3725 3727 3726 +4 3728 3729 3731 3730 +4 3732 3733 3735 3734 +4 3736 3737 3739 3738 +4 3740 3741 3743 3742 +4 3744 3745 3747 3746 +4 3748 3749 3751 3750 +4 3752 3753 3755 3754 +4 3756 3757 3759 3758 +4 3760 3761 3763 3762 +4 3764 3765 3767 3766 +4 3768 3769 3771 3770 +4 3772 3773 3775 3774 +4 3776 3777 3779 3778 +4 3780 3781 3783 3782 +4 3784 3785 3787 3786 +4 3788 3789 3791 3790 +4 3792 3793 3795 3794 +4 3796 3797 3799 3798 +4 3800 3801 3803 3802 +4 3804 3805 3807 3806 +4 3808 3809 3811 3810 +4 3812 3813 3815 3814 +4 3816 3817 3819 3818 +4 3820 3821 3823 3822 +4 3824 3825 3827 3826 +4 3828 3829 3831 3830 +4 3832 3833 3835 3834 +4 3836 3837 3839 3838 +4 3840 3841 3843 3842 +4 3844 3845 3847 3846 +4 3848 3849 3851 3850 +4 3852 3853 3855 3854 +4 3856 3857 3859 3858 +4 3860 3861 3863 3862 +4 3864 3865 3867 3866 +4 3868 3869 3871 3870 +4 3872 3873 3875 3874 +4 3876 3877 3879 3878 +4 3880 3881 3883 3882 +4 3884 3885 3887 3886 +4 3888 3889 3891 3890 +4 3892 3893 3895 3894 +4 3896 3897 3899 3898 +4 3900 3901 3903 3902 +4 3904 3905 3907 3906 +4 3908 3909 3911 3910 +4 3912 3913 3915 3914 +4 3916 3917 3919 3918 +4 3920 3921 3923 3922 +4 3924 3925 3927 3926 +4 3928 3929 3931 3930 +4 3932 3933 3935 3934 +4 3936 3937 3939 3938 +4 3940 3941 3943 3942 +4 3944 3945 3947 3946 +4 3948 3949 3951 3950 +4 3952 3953 3955 3954 +4 3956 3957 3959 3958 +4 3960 3961 3963 3962 +4 3964 3965 3967 3966 +4 3968 3969 3971 3970 +4 3972 3973 3975 3974 +4 3976 3977 3979 3978 +4 3980 3981 3983 3982 +4 3984 3985 3987 3986 +4 3988 3989 3991 3990 +4 3992 3993 3995 3994 +4 3996 3997 3999 3998 +4 4000 4001 4003 4002 +4 4004 4005 4007 4006 +4 4008 4009 4011 4010 +4 4012 4013 4015 4014 +4 4016 4017 4019 4018 +4 4020 4021 4023 4022 +4 4024 4025 4027 4026 +4 4028 4029 4031 4030 +4 4032 4033 4035 4034 +4 4036 4037 4039 4038 +4 4040 4041 4043 4042 +4 4044 4045 4047 4046 +4 4048 4049 4051 4050 +4 4052 4053 4055 4054 +4 4056 4057 4059 4058 +4 4060 4061 4063 4062 +4 4064 4065 4067 4066 +4 4068 4069 4071 4070 +4 4072 4073 4075 4074 +4 4076 4077 4079 4078 +4 4080 4081 4083 4082 +4 4084 4085 4087 4086 +4 4088 4089 4091 4090 +4 4092 4093 4095 4094 +4 4096 4097 4099 4098 +4 4100 4101 4103 4102 +4 4104 4105 4107 4106 +4 4108 4109 4111 4110 +4 4112 4113 4115 4114 +4 4116 4117 4119 4118 +4 4120 4121 4123 4122 +4 4124 4125 4127 4126 +4 4128 4129 4131 4130 +4 4132 4133 4135 4134 +4 4136 4137 4139 4138 +4 4140 4141 4143 4142 +4 4144 4145 4147 4146 +4 4148 4149 4151 4150 +4 4152 4153 4155 4154 +4 4156 4157 4159 4158 +4 4160 4161 4163 4162 +4 4164 4165 4167 4166 +4 4168 4169 4171 4170 +4 4172 4173 4175 4174 +4 4176 4177 4179 4178 +4 4180 4181 4183 4182 +4 4184 4185 4187 4186 +4 4188 4189 4191 4190 +4 4192 4193 4195 4194 +4 4196 4197 4199 4198 +4 4200 4201 4203 4202 +4 4204 4205 4207 4206 +4 4208 4209 4211 4210 +4 4212 4213 4215 4214 +4 4216 4217 4219 4218 +4 4220 4221 4223 4222 +4 4224 4225 4227 4226 +4 4228 4229 4231 4230 +4 4232 4233 4235 4234 +4 4236 4237 4239 4238 +4 4240 4241 4243 4242 +4 4244 4245 4247 4246 +4 4248 4249 4251 4250 +4 4252 4253 4255 4254 +4 4256 4257 4259 4258 +4 4260 4261 4263 4262 +4 4264 4265 4267 4266 +4 4268 4269 4271 4270 +4 4272 4273 4275 4274 +4 4276 4277 4279 4278 +4 4280 4281 4283 4282 +4 4284 4285 4287 4286 +4 4288 4289 4291 4290 +4 4292 4293 4295 4294 +4 4296 4297 4299 4298 +4 4300 4301 4303 4302 +4 4304 4305 4307 4306 +4 4308 4309 4311 4310 +4 4312 4313 4315 4314 +4 4316 4317 4319 4318 +4 4320 4321 4323 4322 +4 4324 4325 4327 4326 +4 4328 4329 4331 4330 +4 4332 4333 4335 4334 +4 4336 4337 4339 4338 +4 4340 4341 4343 4342 +4 4344 4345 4347 4346 +4 4348 4349 4351 4350 +4 4352 4353 4355 4354 +4 4356 4357 4359 4358 +4 4360 4361 4363 4362 +4 4364 4365 4367 4366 +4 4368 4369 4371 4370 +4 4372 4373 4375 4374 +4 4376 4377 4379 4378 +4 4380 4381 4383 4382 +4 4384 4385 4387 4386 +4 4388 4389 4391 4390 +4 4392 4393 4395 4394 +4 4396 4397 4399 4398 +4 4400 4401 4403 4402 +4 4404 4405 4407 4406 +4 4408 4409 4411 4410 +4 4412 4413 4415 4414 +4 4416 4417 4419 4418 +4 4420 4421 4423 4422 +4 4424 4425 4427 4426 +4 4428 4429 4431 4430 +4 4432 4433 4435 4434 +4 4436 4437 4439 4438 +4 4440 4441 4443 4442 +4 4444 4445 4447 4446 +4 4448 4449 4451 4450 +4 4452 4453 4455 4454 +4 4456 4457 4459 4458 +4 4460 4461 4463 4462 +4 4464 4465 4467 4466 +4 4468 4469 4471 4470 +4 4472 4473 4475 4474 +4 4476 4477 4479 4478 +4 4480 4481 4483 4482 +4 4484 4485 4487 4486 +4 4488 4489 4491 4490 +4 4492 4493 4495 4494 +4 4496 4497 4499 4498 +4 4500 4501 4503 4502 +4 4504 4505 4507 4506 +4 4508 4509 4511 4510 +4 4512 4513 4515 4514 +4 4516 4517 4519 4518 +4 4520 4521 4523 4522 +4 4524 4525 4527 4526 +4 4528 4529 4531 4530 +4 4532 4533 4535 4534 +4 4536 4537 4539 4538 +4 4540 4541 4543 4542 +4 4544 4545 4547 4546 +4 4548 4549 4551 4550 +4 4552 4553 4555 4554 +4 4556 4557 4559 4558 +4 4560 4561 4563 4562 +4 4564 4565 4567 4566 +4 4568 4569 4571 4570 +4 4572 4573 4575 4574 +4 4576 4577 4579 4578 +4 4580 4581 4583 4582 +4 4584 4585 4587 4586 +4 4588 4589 4591 4590 +4 4592 4593 4595 4594 +4 4596 4597 4599 4598 +4 4600 4601 4603 4602 +4 4604 4605 4607 4606 +4 4608 4609 4611 4610 +4 4612 4613 4615 4614 +4 4616 4617 4619 4618 +4 4620 4621 4623 4622 +4 4624 4625 4627 4626 +4 4628 4629 4631 4630 +4 4632 4633 4635 4634 +4 4636 4637 4639 4638 +4 4640 4641 4643 4642 +4 4644 4645 4647 4646 +4 4648 4649 4651 4650 +4 4652 4653 4655 4654 +4 4656 4657 4659 4658 +4 4660 4661 4663 4662 +4 4664 4665 4667 4666 +4 4668 4669 4671 4670 +4 4672 4673 4675 4674 +4 4676 4677 4679 4678 +4 4680 4681 4683 4682 +4 4684 4685 4687 4686 +4 4688 4689 4691 4690 +4 4692 4693 4695 4694 +4 4696 4697 4699 4698 +4 4700 4701 4703 4702 +4 4704 4705 4707 4706 +4 4708 4709 4711 4710 +4 4712 4713 4715 4714 +4 4716 4717 4719 4718 +4 4720 4721 4723 4722 +4 4724 4725 4727 4726 +4 4728 4729 4731 4730 +4 4732 4733 4735 4734 +4 4736 4737 4739 4738 +4 4740 4741 4743 4742 + +CELL_TYPES 1186 + 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 +POINT_DATA 4744 +SCALARS partitions double 1 +LOOKUP_TABLE default +4.00000 4.00000 4.00000 4.00000 3.00000 3.00000 3.00000 3.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 1.00000 1.00000 1.00000 1.00000 4.00000 4.00000 4.00000 4.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 1.00000 1.00000 1.00000 1.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 2.00000 2.00000 2.00000 2.00000 3.00000 3.00000 3.00000 3.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 1.00000 1.00000 1.00000 1.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 1.00000 1.00000 1.00000 1.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 0.00000 0.00000 0.00000 0.00000 1.00000 1.00000 1.00000 1.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 4.00000 4.00000 4.00000 4.00000 0.00000 0.00000 0.00000 0.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 3.00000 3.00000 3.00000 3.00000 4.00000 4.00000 4.00000 4.00000 2.00000 2.00000 2.00000 2.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 3.00000 3.00000 3.00000 3.00000 2.00000 2.00000 2.00000 2.00000 1.00000 1.00000 1.00000 1.00000 0.00000 0.00000 0.00000 0.00000 3.00000 3.00000 3.00000 3.00000 0.00000 0.00000 0.00000 0.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 0.00000 0.00000 0.00000 0.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 4.00000 4.00000 4.00000 4.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 3.00000 3.00000 3.00000 3.00000 0.00000 0.00000 0.00000 0.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 4.00000 4.00000 4.00000 4.00000 1.00000 1.00000 1.00000 1.00000 3.00000 3.00000 3.00000 3.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 0.00000 0.00000 0.00000 0.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 4.00000 4.00000 4.00000 4.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 3.00000 3.00000 3.00000 3.00000 4.00000 4.00000 4.00000 4.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 0.00000 0.00000 0.00000 0.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 0.00000 0.00000 0.00000 0.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 2.00000 2.00000 2.00000 2.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 1.00000 1.00000 1.00000 1.00000 0.00000 0.00000 0.00000 0.00000 1.00000 1.00000 1.00000 1.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 3.00000 3.00000 3.00000 3.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 3.00000 3.00000 3.00000 3.00000 4.00000 4.00000 4.00000 4.00000 3.00000 3.00000 3.00000 3.00000 4.00000 4.00000 4.00000 4.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 3.00000 3.00000 3.00000 3.00000 4.00000 4.00000 4.00000 4.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 3.00000 3.00000 3.00000 3.00000 4.00000 4.00000 4.00000 4.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 2.00000 2.00000 2.00000 2.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 3.00000 3.00000 3.00000 3.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 0.00000 0.00000 0.00000 0.00000 1.00000 1.00000 1.00000 1.00000 0.00000 0.00000 0.00000 0.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 3.00000 3.00000 3.00000 3.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 3.00000 3.00000 3.00000 3.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 +DEAL::Dimension = 3 +# vtk DataFile Version 3.0 +#This file was generated +ASCII +DATASET UNSTRUCTURED_GRID + +POINTS 5888 double +0.750000 0.750000 0.00000 +1.00000 0.750000 0.00000 +0.750000 1.00000 0.00000 +1.00000 1.00000 0.00000 +0.750000 0.750000 0.250000 +1.00000 0.750000 0.250000 +0.750000 1.00000 0.250000 +1.00000 1.00000 0.250000 +0.250000 0.00000 0.750000 +0.500000 0.00000 0.750000 +0.250000 0.250000 0.750000 +0.500000 0.250000 0.750000 +0.250000 0.00000 1.00000 +0.500000 0.00000 1.00000 +0.250000 0.250000 1.00000 +0.500000 0.250000 1.00000 +0.00000 0.250000 0.750000 +0.250000 0.250000 0.750000 +0.00000 0.500000 0.750000 +0.250000 0.500000 0.750000 +0.00000 0.250000 1.00000 +0.250000 0.250000 1.00000 +0.00000 0.500000 1.00000 +0.250000 0.500000 1.00000 +0.500000 0.00000 0.750000 +0.750000 0.00000 0.750000 +0.500000 0.250000 0.750000 +0.750000 0.250000 0.750000 +0.500000 0.00000 1.00000 +0.750000 0.00000 1.00000 +0.500000 0.250000 1.00000 +0.750000 0.250000 1.00000 +0.750000 0.00000 0.750000 +1.00000 0.00000 0.750000 +0.750000 0.250000 0.750000 +1.00000 0.250000 0.750000 +0.750000 0.00000 1.00000 +1.00000 0.00000 1.00000 +0.750000 0.250000 1.00000 +1.00000 0.250000 1.00000 +0.500000 0.250000 0.750000 +0.750000 0.250000 0.750000 +0.500000 0.500000 0.750000 +0.750000 0.500000 0.750000 +0.500000 0.250000 1.00000 +0.750000 0.250000 1.00000 +0.500000 0.500000 1.00000 +0.750000 0.500000 1.00000 +0.750000 0.250000 0.750000 +1.00000 0.250000 0.750000 +0.750000 0.500000 0.750000 +1.00000 0.500000 0.750000 +0.750000 0.250000 1.00000 +1.00000 0.250000 1.00000 +0.750000 0.500000 1.00000 +1.00000 0.500000 1.00000 +0.500000 0.500000 0.750000 +0.750000 0.500000 0.750000 +0.500000 0.750000 0.750000 +0.750000 0.750000 0.750000 +0.500000 0.500000 1.00000 +0.750000 0.500000 1.00000 +0.500000 0.750000 1.00000 +0.750000 0.750000 1.00000 +0.00000 0.250000 0.00000 +0.125000 0.250000 0.00000 +0.00000 0.375000 0.00000 +0.125000 0.375000 0.00000 +0.00000 0.250000 0.125000 +0.125000 0.250000 0.125000 +0.00000 0.375000 0.125000 +0.125000 0.375000 0.125000 +0.125000 0.250000 0.00000 +0.250000 0.250000 0.00000 +0.125000 0.375000 0.00000 +0.250000 0.375000 0.00000 +0.125000 0.250000 0.125000 +0.250000 0.250000 0.125000 +0.125000 0.375000 0.125000 +0.250000 0.375000 0.125000 +0.00000 0.375000 0.00000 +0.125000 0.375000 0.00000 +0.00000 0.500000 0.00000 +0.125000 0.500000 0.00000 +0.00000 0.375000 0.125000 +0.125000 0.375000 0.125000 +0.00000 0.500000 0.125000 +0.125000 0.500000 0.125000 +0.00000 0.250000 0.125000 +0.125000 0.250000 0.125000 +0.00000 0.375000 0.125000 +0.125000 0.375000 0.125000 +0.00000 0.250000 0.250000 +0.125000 0.250000 0.250000 +0.00000 0.375000 0.250000 +0.125000 0.375000 0.250000 +0.125000 0.250000 0.125000 +0.250000 0.250000 0.125000 +0.125000 0.375000 0.125000 +0.250000 0.375000 0.125000 +0.125000 0.250000 0.250000 +0.250000 0.250000 0.250000 +0.125000 0.375000 0.250000 +0.250000 0.375000 0.250000 +0.00000 0.375000 0.125000 +0.125000 0.375000 0.125000 +0.00000 0.500000 0.125000 +0.125000 0.500000 0.125000 +0.00000 0.375000 0.250000 +0.125000 0.375000 0.250000 +0.00000 0.500000 0.250000 +0.125000 0.500000 0.250000 +0.375000 0.00000 0.250000 +0.500000 0.00000 0.250000 +0.375000 0.125000 0.250000 +0.500000 0.125000 0.250000 +0.375000 0.00000 0.375000 +0.500000 0.00000 0.375000 +0.375000 0.125000 0.375000 +0.500000 0.125000 0.375000 +0.250000 0.125000 0.250000 +0.375000 0.125000 0.250000 +0.250000 0.250000 0.250000 +0.375000 0.250000 0.250000 +0.250000 0.125000 0.375000 +0.375000 0.125000 0.375000 +0.250000 0.250000 0.375000 +0.375000 0.250000 0.375000 +0.375000 0.125000 0.250000 +0.500000 0.125000 0.250000 +0.375000 0.250000 0.250000 +0.500000 0.250000 0.250000 +0.375000 0.125000 0.375000 +0.500000 0.125000 0.375000 +0.375000 0.250000 0.375000 +0.500000 0.250000 0.375000 +0.375000 0.00000 0.375000 +0.500000 0.00000 0.375000 +0.375000 0.125000 0.375000 +0.500000 0.125000 0.375000 +0.375000 0.00000 0.500000 +0.500000 0.00000 0.500000 +0.375000 0.125000 0.500000 +0.500000 0.125000 0.500000 +0.250000 0.125000 0.375000 +0.375000 0.125000 0.375000 +0.250000 0.250000 0.375000 +0.375000 0.250000 0.375000 +0.250000 0.125000 0.500000 +0.375000 0.125000 0.500000 +0.250000 0.250000 0.500000 +0.375000 0.250000 0.500000 +0.375000 0.125000 0.375000 +0.500000 0.125000 0.375000 +0.375000 0.250000 0.375000 +0.500000 0.250000 0.375000 +0.375000 0.125000 0.500000 +0.500000 0.125000 0.500000 +0.375000 0.250000 0.500000 +0.500000 0.250000 0.500000 +0.500000 0.250000 0.250000 +0.625000 0.250000 0.250000 +0.500000 0.375000 0.250000 +0.625000 0.375000 0.250000 +0.500000 0.250000 0.375000 +0.625000 0.250000 0.375000 +0.500000 0.375000 0.375000 +0.625000 0.375000 0.375000 +0.500000 0.375000 0.250000 +0.625000 0.375000 0.250000 +0.500000 0.500000 0.250000 +0.625000 0.500000 0.250000 +0.500000 0.375000 0.375000 +0.625000 0.375000 0.375000 +0.500000 0.500000 0.375000 +0.625000 0.500000 0.375000 +0.625000 0.375000 0.250000 +0.750000 0.375000 0.250000 +0.625000 0.500000 0.250000 +0.750000 0.500000 0.250000 +0.625000 0.375000 0.375000 +0.750000 0.375000 0.375000 +0.625000 0.500000 0.375000 +0.750000 0.500000 0.375000 +0.500000 0.250000 0.375000 +0.625000 0.250000 0.375000 +0.500000 0.375000 0.375000 +0.625000 0.375000 0.375000 +0.500000 0.250000 0.500000 +0.625000 0.250000 0.500000 +0.500000 0.375000 0.500000 +0.625000 0.375000 0.500000 +0.500000 0.375000 0.375000 +0.625000 0.375000 0.375000 +0.500000 0.500000 0.375000 +0.625000 0.500000 0.375000 +0.500000 0.375000 0.500000 +0.625000 0.375000 0.500000 +0.500000 0.500000 0.500000 +0.625000 0.500000 0.500000 +0.625000 0.375000 0.375000 +0.750000 0.375000 0.375000 +0.625000 0.500000 0.375000 +0.750000 0.500000 0.375000 +0.625000 0.375000 0.500000 +0.750000 0.375000 0.500000 +0.625000 0.500000 0.500000 +0.750000 0.500000 0.500000 +0.250000 0.750000 0.250000 +0.375000 0.750000 0.250000 +0.250000 0.875000 0.250000 +0.375000 0.875000 0.250000 +0.250000 0.750000 0.375000 +0.375000 0.750000 0.375000 +0.250000 0.875000 0.375000 +0.375000 0.875000 0.375000 +0.375000 0.750000 0.250000 +0.500000 0.750000 0.250000 +0.375000 0.875000 0.250000 +0.500000 0.875000 0.250000 +0.375000 0.750000 0.375000 +0.500000 0.750000 0.375000 +0.375000 0.875000 0.375000 +0.500000 0.875000 0.375000 +0.250000 0.750000 0.375000 +0.375000 0.750000 0.375000 +0.250000 0.875000 0.375000 +0.375000 0.875000 0.375000 +0.250000 0.750000 0.500000 +0.375000 0.750000 0.500000 +0.250000 0.875000 0.500000 +0.375000 0.875000 0.500000 +0.375000 0.750000 0.375000 +0.500000 0.750000 0.375000 +0.375000 0.875000 0.375000 +0.500000 0.875000 0.375000 +0.375000 0.750000 0.500000 +0.500000 0.750000 0.500000 +0.375000 0.875000 0.500000 +0.500000 0.875000 0.500000 +0.375000 0.875000 0.375000 +0.500000 0.875000 0.375000 +0.375000 1.00000 0.375000 +0.500000 1.00000 0.375000 +0.375000 0.875000 0.500000 +0.500000 0.875000 0.500000 +0.375000 1.00000 0.500000 +0.500000 1.00000 0.500000 +0.00000 0.00000 0.00000 +0.125000 0.00000 0.00000 +0.00000 0.125000 0.00000 +0.125000 0.125000 0.00000 +0.00000 0.00000 0.125000 +0.125000 0.00000 0.125000 +0.00000 0.125000 0.125000 +0.125000 0.125000 0.125000 +0.125000 0.00000 0.00000 +0.250000 0.00000 0.00000 +0.125000 0.125000 0.00000 +0.250000 0.125000 0.00000 +0.125000 0.00000 0.125000 +0.250000 0.00000 0.125000 +0.125000 0.125000 0.125000 +0.250000 0.125000 0.125000 +0.00000 0.125000 0.00000 +0.125000 0.125000 0.00000 +0.00000 0.250000 0.00000 +0.125000 0.250000 0.00000 +0.00000 0.125000 0.125000 +0.125000 0.125000 0.125000 +0.00000 0.250000 0.125000 +0.125000 0.250000 0.125000 +0.125000 0.125000 0.00000 +0.250000 0.125000 0.00000 +0.125000 0.250000 0.00000 +0.250000 0.250000 0.00000 +0.125000 0.125000 0.125000 +0.250000 0.125000 0.125000 +0.125000 0.250000 0.125000 +0.250000 0.250000 0.125000 +0.00000 0.00000 0.125000 +0.125000 0.00000 0.125000 +0.00000 0.125000 0.125000 +0.125000 0.125000 0.125000 +0.00000 0.00000 0.250000 +0.125000 0.00000 0.250000 +0.00000 0.125000 0.250000 +0.125000 0.125000 0.250000 +0.00000 0.125000 0.125000 +0.125000 0.125000 0.125000 +0.00000 0.250000 0.125000 +0.125000 0.250000 0.125000 +0.00000 0.125000 0.250000 +0.125000 0.125000 0.250000 +0.00000 0.250000 0.250000 +0.125000 0.250000 0.250000 +0.125000 0.125000 0.125000 +0.250000 0.125000 0.125000 +0.125000 0.250000 0.125000 +0.250000 0.250000 0.125000 +0.125000 0.125000 0.250000 +0.250000 0.125000 0.250000 +0.125000 0.250000 0.250000 +0.250000 0.250000 0.250000 +0.250000 0.250000 0.00000 +0.375000 0.250000 0.00000 +0.250000 0.375000 0.00000 +0.375000 0.375000 0.00000 +0.250000 0.250000 0.125000 +0.375000 0.250000 0.125000 +0.250000 0.375000 0.125000 +0.375000 0.375000 0.125000 +0.375000 0.250000 0.00000 +0.500000 0.250000 0.00000 +0.375000 0.375000 0.00000 +0.500000 0.375000 0.00000 +0.375000 0.250000 0.125000 +0.500000 0.250000 0.125000 +0.375000 0.375000 0.125000 +0.500000 0.375000 0.125000 +0.250000 0.375000 0.00000 +0.375000 0.375000 0.00000 +0.250000 0.500000 0.00000 +0.375000 0.500000 0.00000 +0.250000 0.375000 0.125000 +0.375000 0.375000 0.125000 +0.250000 0.500000 0.125000 +0.375000 0.500000 0.125000 +0.375000 0.375000 0.00000 +0.500000 0.375000 0.00000 +0.375000 0.500000 0.00000 +0.500000 0.500000 0.00000 +0.375000 0.375000 0.125000 +0.500000 0.375000 0.125000 +0.375000 0.500000 0.125000 +0.500000 0.500000 0.125000 +0.250000 0.250000 0.125000 +0.375000 0.250000 0.125000 +0.250000 0.375000 0.125000 +0.375000 0.375000 0.125000 +0.250000 0.250000 0.250000 +0.375000 0.250000 0.250000 +0.250000 0.375000 0.250000 +0.375000 0.375000 0.250000 +0.375000 0.250000 0.125000 +0.500000 0.250000 0.125000 +0.375000 0.375000 0.125000 +0.500000 0.375000 0.125000 +0.375000 0.250000 0.250000 +0.500000 0.250000 0.250000 +0.375000 0.375000 0.250000 +0.500000 0.375000 0.250000 +0.375000 0.375000 0.125000 +0.500000 0.375000 0.125000 +0.375000 0.500000 0.125000 +0.500000 0.500000 0.125000 +0.375000 0.375000 0.250000 +0.500000 0.375000 0.250000 +0.375000 0.500000 0.250000 +0.500000 0.500000 0.250000 +0.00000 0.00000 0.250000 +0.125000 0.00000 0.250000 +0.00000 0.125000 0.250000 +0.125000 0.125000 0.250000 +0.00000 0.00000 0.375000 +0.125000 0.00000 0.375000 +0.00000 0.125000 0.375000 +0.125000 0.125000 0.375000 +0.00000 0.125000 0.250000 +0.125000 0.125000 0.250000 +0.00000 0.250000 0.250000 +0.125000 0.250000 0.250000 +0.00000 0.125000 0.375000 +0.125000 0.125000 0.375000 +0.00000 0.250000 0.375000 +0.125000 0.250000 0.375000 +0.125000 0.125000 0.250000 +0.250000 0.125000 0.250000 +0.125000 0.250000 0.250000 +0.250000 0.250000 0.250000 +0.125000 0.125000 0.375000 +0.250000 0.125000 0.375000 +0.125000 0.250000 0.375000 +0.250000 0.250000 0.375000 +0.00000 0.00000 0.375000 +0.125000 0.00000 0.375000 +0.00000 0.125000 0.375000 +0.125000 0.125000 0.375000 +0.00000 0.00000 0.500000 +0.125000 0.00000 0.500000 +0.00000 0.125000 0.500000 +0.125000 0.125000 0.500000 +0.00000 0.125000 0.375000 +0.125000 0.125000 0.375000 +0.00000 0.250000 0.375000 +0.125000 0.250000 0.375000 +0.00000 0.125000 0.500000 +0.125000 0.125000 0.500000 +0.00000 0.250000 0.500000 +0.125000 0.250000 0.500000 +0.750000 0.250000 0.00000 +0.875000 0.250000 0.00000 +0.750000 0.375000 0.00000 +0.875000 0.375000 0.00000 +0.750000 0.250000 0.125000 +0.875000 0.250000 0.125000 +0.750000 0.375000 0.125000 +0.875000 0.375000 0.125000 +0.875000 0.250000 0.00000 +1.00000 0.250000 0.00000 +0.875000 0.375000 0.00000 +1.00000 0.375000 0.00000 +0.875000 0.250000 0.125000 +1.00000 0.250000 0.125000 +0.875000 0.375000 0.125000 +1.00000 0.375000 0.125000 +0.750000 0.375000 0.00000 +0.875000 0.375000 0.00000 +0.750000 0.500000 0.00000 +0.875000 0.500000 0.00000 +0.750000 0.375000 0.125000 +0.875000 0.375000 0.125000 +0.750000 0.500000 0.125000 +0.875000 0.500000 0.125000 +0.875000 0.375000 0.00000 +1.00000 0.375000 0.00000 +0.875000 0.500000 0.00000 +1.00000 0.500000 0.00000 +0.875000 0.375000 0.125000 +1.00000 0.375000 0.125000 +0.875000 0.500000 0.125000 +1.00000 0.500000 0.125000 +0.750000 0.250000 0.125000 +0.875000 0.250000 0.125000 +0.750000 0.375000 0.125000 +0.875000 0.375000 0.125000 +0.750000 0.250000 0.250000 +0.875000 0.250000 0.250000 +0.750000 0.375000 0.250000 +0.875000 0.375000 0.250000 +0.875000 0.250000 0.125000 +1.00000 0.250000 0.125000 +0.875000 0.375000 0.125000 +1.00000 0.375000 0.125000 +0.875000 0.250000 0.250000 +1.00000 0.250000 0.250000 +0.875000 0.375000 0.250000 +1.00000 0.375000 0.250000 +0.750000 0.375000 0.125000 +0.875000 0.375000 0.125000 +0.750000 0.500000 0.125000 +0.875000 0.500000 0.125000 +0.750000 0.375000 0.250000 +0.875000 0.375000 0.250000 +0.750000 0.500000 0.250000 +0.875000 0.500000 0.250000 +0.875000 0.375000 0.125000 +1.00000 0.375000 0.125000 +0.875000 0.500000 0.125000 +1.00000 0.500000 0.125000 +0.875000 0.375000 0.250000 +1.00000 0.375000 0.250000 +0.875000 0.500000 0.250000 +1.00000 0.500000 0.250000 +0.625000 0.00000 0.250000 +0.750000 0.00000 0.250000 +0.625000 0.125000 0.250000 +0.750000 0.125000 0.250000 +0.625000 0.00000 0.375000 +0.750000 0.00000 0.375000 +0.625000 0.125000 0.375000 +0.750000 0.125000 0.375000 +0.500000 0.125000 0.250000 +0.625000 0.125000 0.250000 +0.500000 0.250000 0.250000 +0.625000 0.250000 0.250000 +0.500000 0.125000 0.375000 +0.625000 0.125000 0.375000 +0.500000 0.250000 0.375000 +0.625000 0.250000 0.375000 +0.500000 0.00000 0.375000 +0.625000 0.00000 0.375000 +0.500000 0.125000 0.375000 +0.625000 0.125000 0.375000 +0.500000 0.00000 0.500000 +0.625000 0.00000 0.500000 +0.500000 0.125000 0.500000 +0.625000 0.125000 0.500000 +0.625000 0.00000 0.375000 +0.750000 0.00000 0.375000 +0.625000 0.125000 0.375000 +0.750000 0.125000 0.375000 +0.625000 0.00000 0.500000 +0.750000 0.00000 0.500000 +0.625000 0.125000 0.500000 +0.750000 0.125000 0.500000 +0.500000 0.125000 0.375000 +0.625000 0.125000 0.375000 +0.500000 0.250000 0.375000 +0.625000 0.250000 0.375000 +0.500000 0.125000 0.500000 +0.625000 0.125000 0.500000 +0.500000 0.250000 0.500000 +0.625000 0.250000 0.500000 +0.750000 0.00000 0.250000 +0.875000 0.00000 0.250000 +0.750000 0.125000 0.250000 +0.875000 0.125000 0.250000 +0.750000 0.00000 0.375000 +0.875000 0.00000 0.375000 +0.750000 0.125000 0.375000 +0.875000 0.125000 0.375000 +0.750000 0.125000 0.250000 +0.875000 0.125000 0.250000 +0.750000 0.250000 0.250000 +0.875000 0.250000 0.250000 +0.750000 0.125000 0.375000 +0.875000 0.125000 0.375000 +0.750000 0.250000 0.375000 +0.875000 0.250000 0.375000 +0.875000 0.125000 0.250000 +1.00000 0.125000 0.250000 +0.875000 0.250000 0.250000 +1.00000 0.250000 0.250000 +0.875000 0.125000 0.375000 +1.00000 0.125000 0.375000 +0.875000 0.250000 0.375000 +1.00000 0.250000 0.375000 +0.750000 0.00000 0.375000 +0.875000 0.00000 0.375000 +0.750000 0.125000 0.375000 +0.875000 0.125000 0.375000 +0.750000 0.00000 0.500000 +0.875000 0.00000 0.500000 +0.750000 0.125000 0.500000 +0.875000 0.125000 0.500000 +0.875000 0.00000 0.375000 +1.00000 0.00000 0.375000 +0.875000 0.125000 0.375000 +1.00000 0.125000 0.375000 +0.875000 0.00000 0.500000 +1.00000 0.00000 0.500000 +0.875000 0.125000 0.500000 +1.00000 0.125000 0.500000 +0.875000 0.125000 0.375000 +1.00000 0.125000 0.375000 +0.875000 0.250000 0.375000 +1.00000 0.250000 0.375000 +0.875000 0.125000 0.500000 +1.00000 0.125000 0.500000 +0.875000 0.250000 0.500000 +1.00000 0.250000 0.500000 +0.875000 0.250000 0.250000 +1.00000 0.250000 0.250000 +0.875000 0.375000 0.250000 +1.00000 0.375000 0.250000 +0.875000 0.250000 0.375000 +1.00000 0.250000 0.375000 +0.875000 0.375000 0.375000 +1.00000 0.375000 0.375000 +0.875000 0.375000 0.250000 +1.00000 0.375000 0.250000 +0.875000 0.500000 0.250000 +1.00000 0.500000 0.250000 +0.875000 0.375000 0.375000 +1.00000 0.375000 0.375000 +0.875000 0.500000 0.375000 +1.00000 0.500000 0.375000 +0.875000 0.250000 0.375000 +1.00000 0.250000 0.375000 +0.875000 0.375000 0.375000 +1.00000 0.375000 0.375000 +0.875000 0.250000 0.500000 +1.00000 0.250000 0.500000 +0.875000 0.375000 0.500000 +1.00000 0.375000 0.500000 +0.750000 0.375000 0.375000 +0.875000 0.375000 0.375000 +0.750000 0.500000 0.375000 +0.875000 0.500000 0.375000 +0.750000 0.375000 0.500000 +0.875000 0.375000 0.500000 +0.750000 0.500000 0.500000 +0.875000 0.500000 0.500000 +0.875000 0.375000 0.375000 +1.00000 0.375000 0.375000 +0.875000 0.500000 0.375000 +1.00000 0.500000 0.375000 +0.875000 0.375000 0.500000 +1.00000 0.375000 0.500000 +0.875000 0.500000 0.500000 +1.00000 0.500000 0.500000 +0.00000 0.500000 0.00000 +0.125000 0.500000 0.00000 +0.00000 0.625000 0.00000 +0.125000 0.625000 0.00000 +0.00000 0.500000 0.125000 +0.125000 0.500000 0.125000 +0.00000 0.625000 0.125000 +0.125000 0.625000 0.125000 +0.125000 0.500000 0.00000 +0.250000 0.500000 0.00000 +0.125000 0.625000 0.00000 +0.250000 0.625000 0.00000 +0.125000 0.500000 0.125000 +0.250000 0.500000 0.125000 +0.125000 0.625000 0.125000 +0.250000 0.625000 0.125000 +0.00000 0.625000 0.00000 +0.125000 0.625000 0.00000 +0.00000 0.750000 0.00000 +0.125000 0.750000 0.00000 +0.00000 0.625000 0.125000 +0.125000 0.625000 0.125000 +0.00000 0.750000 0.125000 +0.125000 0.750000 0.125000 +0.00000 0.500000 0.125000 +0.125000 0.500000 0.125000 +0.00000 0.625000 0.125000 +0.125000 0.625000 0.125000 +0.00000 0.500000 0.250000 +0.125000 0.500000 0.250000 +0.00000 0.625000 0.250000 +0.125000 0.625000 0.250000 +0.125000 0.500000 0.125000 +0.250000 0.500000 0.125000 +0.125000 0.625000 0.125000 +0.250000 0.625000 0.125000 +0.125000 0.500000 0.250000 +0.250000 0.500000 0.250000 +0.125000 0.625000 0.250000 +0.250000 0.625000 0.250000 +0.00000 0.625000 0.125000 +0.125000 0.625000 0.125000 +0.00000 0.750000 0.125000 +0.125000 0.750000 0.125000 +0.00000 0.625000 0.250000 +0.125000 0.625000 0.250000 +0.00000 0.750000 0.250000 +0.125000 0.750000 0.250000 +0.125000 0.625000 0.125000 +0.250000 0.625000 0.125000 +0.125000 0.750000 0.125000 +0.250000 0.750000 0.125000 +0.125000 0.625000 0.250000 +0.250000 0.625000 0.250000 +0.125000 0.750000 0.250000 +0.250000 0.750000 0.250000 +0.250000 0.500000 0.00000 +0.375000 0.500000 0.00000 +0.250000 0.625000 0.00000 +0.375000 0.625000 0.00000 +0.250000 0.500000 0.125000 +0.375000 0.500000 0.125000 +0.250000 0.625000 0.125000 +0.375000 0.625000 0.125000 +0.375000 0.500000 0.00000 +0.500000 0.500000 0.00000 +0.375000 0.625000 0.00000 +0.500000 0.625000 0.00000 +0.375000 0.500000 0.125000 +0.500000 0.500000 0.125000 +0.375000 0.625000 0.125000 +0.500000 0.625000 0.125000 +0.250000 0.625000 0.00000 +0.375000 0.625000 0.00000 +0.250000 0.750000 0.00000 +0.375000 0.750000 0.00000 +0.250000 0.625000 0.125000 +0.375000 0.625000 0.125000 +0.250000 0.750000 0.125000 +0.375000 0.750000 0.125000 +0.375000 0.625000 0.00000 +0.500000 0.625000 0.00000 +0.375000 0.750000 0.00000 +0.500000 0.750000 0.00000 +0.375000 0.625000 0.125000 +0.500000 0.625000 0.125000 +0.375000 0.750000 0.125000 +0.500000 0.750000 0.125000 +0.375000 0.500000 0.125000 +0.500000 0.500000 0.125000 +0.375000 0.625000 0.125000 +0.500000 0.625000 0.125000 +0.375000 0.500000 0.250000 +0.500000 0.500000 0.250000 +0.375000 0.625000 0.250000 +0.500000 0.625000 0.250000 +0.250000 0.625000 0.125000 +0.375000 0.625000 0.125000 +0.250000 0.750000 0.125000 +0.375000 0.750000 0.125000 +0.250000 0.625000 0.250000 +0.375000 0.625000 0.250000 +0.250000 0.750000 0.250000 +0.375000 0.750000 0.250000 +0.375000 0.625000 0.125000 +0.500000 0.625000 0.125000 +0.375000 0.750000 0.125000 +0.500000 0.750000 0.125000 +0.375000 0.625000 0.250000 +0.500000 0.625000 0.250000 +0.375000 0.750000 0.250000 +0.500000 0.750000 0.250000 +0.250000 0.500000 0.250000 +0.375000 0.500000 0.250000 +0.250000 0.625000 0.250000 +0.375000 0.625000 0.250000 +0.250000 0.500000 0.375000 +0.375000 0.500000 0.375000 +0.250000 0.625000 0.375000 +0.375000 0.625000 0.375000 +0.375000 0.500000 0.250000 +0.500000 0.500000 0.250000 +0.375000 0.625000 0.250000 +0.500000 0.625000 0.250000 +0.375000 0.500000 0.375000 +0.500000 0.500000 0.375000 +0.375000 0.625000 0.375000 +0.500000 0.625000 0.375000 +0.250000 0.625000 0.250000 +0.375000 0.625000 0.250000 +0.250000 0.750000 0.250000 +0.375000 0.750000 0.250000 +0.250000 0.625000 0.375000 +0.375000 0.625000 0.375000 +0.250000 0.750000 0.375000 +0.375000 0.750000 0.375000 +0.375000 0.625000 0.250000 +0.500000 0.625000 0.250000 +0.375000 0.750000 0.250000 +0.500000 0.750000 0.250000 +0.375000 0.625000 0.375000 +0.500000 0.625000 0.375000 +0.375000 0.750000 0.375000 +0.500000 0.750000 0.375000 +0.250000 0.500000 0.375000 +0.375000 0.500000 0.375000 +0.250000 0.625000 0.375000 +0.375000 0.625000 0.375000 +0.250000 0.500000 0.500000 +0.375000 0.500000 0.500000 +0.250000 0.625000 0.500000 +0.375000 0.625000 0.500000 +0.250000 0.625000 0.375000 +0.375000 0.625000 0.375000 +0.250000 0.750000 0.375000 +0.375000 0.750000 0.375000 +0.250000 0.625000 0.500000 +0.375000 0.625000 0.500000 +0.250000 0.750000 0.500000 +0.375000 0.750000 0.500000 +0.375000 0.625000 0.375000 +0.500000 0.625000 0.375000 +0.375000 0.750000 0.375000 +0.500000 0.750000 0.375000 +0.375000 0.625000 0.500000 +0.500000 0.625000 0.500000 +0.375000 0.750000 0.500000 +0.500000 0.750000 0.500000 +0.00000 0.750000 0.250000 +0.125000 0.750000 0.250000 +0.00000 0.875000 0.250000 +0.125000 0.875000 0.250000 +0.00000 0.750000 0.375000 +0.125000 0.750000 0.375000 +0.00000 0.875000 0.375000 +0.125000 0.875000 0.375000 +0.125000 0.750000 0.250000 +0.250000 0.750000 0.250000 +0.125000 0.875000 0.250000 +0.250000 0.875000 0.250000 +0.125000 0.750000 0.375000 +0.250000 0.750000 0.375000 +0.125000 0.875000 0.375000 +0.250000 0.875000 0.375000 +0.00000 0.875000 0.250000 +0.125000 0.875000 0.250000 +0.00000 1.00000 0.250000 +0.125000 1.00000 0.250000 +0.00000 0.875000 0.375000 +0.125000 0.875000 0.375000 +0.00000 1.00000 0.375000 +0.125000 1.00000 0.375000 +0.00000 0.750000 0.375000 +0.125000 0.750000 0.375000 +0.00000 0.875000 0.375000 +0.125000 0.875000 0.375000 +0.00000 0.750000 0.500000 +0.125000 0.750000 0.500000 +0.00000 0.875000 0.500000 +0.125000 0.875000 0.500000 +0.125000 0.750000 0.375000 +0.250000 0.750000 0.375000 +0.125000 0.875000 0.375000 +0.250000 0.875000 0.375000 +0.125000 0.750000 0.500000 +0.250000 0.750000 0.500000 +0.125000 0.875000 0.500000 +0.250000 0.875000 0.500000 +0.750000 0.750000 0.250000 +0.875000 0.750000 0.250000 +0.750000 0.875000 0.250000 +0.875000 0.875000 0.250000 +0.750000 0.750000 0.375000 +0.875000 0.750000 0.375000 +0.750000 0.875000 0.375000 +0.875000 0.875000 0.375000 +0.875000 0.750000 0.250000 +1.00000 0.750000 0.250000 +0.875000 0.875000 0.250000 +1.00000 0.875000 0.250000 +0.875000 0.750000 0.375000 +1.00000 0.750000 0.375000 +0.875000 0.875000 0.375000 +1.00000 0.875000 0.375000 +0.750000 0.875000 0.250000 +0.875000 0.875000 0.250000 +0.750000 1.00000 0.250000 +0.875000 1.00000 0.250000 +0.750000 0.875000 0.375000 +0.875000 0.875000 0.375000 +0.750000 1.00000 0.375000 +0.875000 1.00000 0.375000 +0.875000 0.875000 0.250000 +1.00000 0.875000 0.250000 +0.875000 1.00000 0.250000 +1.00000 1.00000 0.250000 +0.875000 0.875000 0.375000 +1.00000 0.875000 0.375000 +0.875000 1.00000 0.375000 +1.00000 1.00000 0.375000 +0.750000 0.750000 0.375000 +0.875000 0.750000 0.375000 +0.750000 0.875000 0.375000 +0.875000 0.875000 0.375000 +0.750000 0.750000 0.500000 +0.875000 0.750000 0.500000 +0.750000 0.875000 0.500000 +0.875000 0.875000 0.500000 +0.875000 0.750000 0.375000 +1.00000 0.750000 0.375000 +0.875000 0.875000 0.375000 +1.00000 0.875000 0.375000 +0.875000 0.750000 0.500000 +1.00000 0.750000 0.500000 +0.875000 0.875000 0.500000 +1.00000 0.875000 0.500000 +0.750000 0.875000 0.375000 +0.875000 0.875000 0.375000 +0.750000 1.00000 0.375000 +0.875000 1.00000 0.375000 +0.750000 0.875000 0.500000 +0.875000 0.875000 0.500000 +0.750000 1.00000 0.500000 +0.875000 1.00000 0.500000 +0.00000 0.00000 0.500000 +0.125000 0.00000 0.500000 +0.00000 0.125000 0.500000 +0.125000 0.125000 0.500000 +0.00000 0.00000 0.625000 +0.125000 0.00000 0.625000 +0.00000 0.125000 0.625000 +0.125000 0.125000 0.625000 +0.125000 0.00000 0.500000 +0.250000 0.00000 0.500000 +0.125000 0.125000 0.500000 +0.250000 0.125000 0.500000 +0.125000 0.00000 0.625000 +0.250000 0.00000 0.625000 +0.125000 0.125000 0.625000 +0.250000 0.125000 0.625000 +0.00000 0.125000 0.500000 +0.125000 0.125000 0.500000 +0.00000 0.250000 0.500000 +0.125000 0.250000 0.500000 +0.00000 0.125000 0.625000 +0.125000 0.125000 0.625000 +0.00000 0.250000 0.625000 +0.125000 0.250000 0.625000 +0.125000 0.125000 0.500000 +0.250000 0.125000 0.500000 +0.125000 0.250000 0.500000 +0.250000 0.250000 0.500000 +0.125000 0.125000 0.625000 +0.250000 0.125000 0.625000 +0.125000 0.250000 0.625000 +0.250000 0.250000 0.625000 +0.00000 0.00000 0.625000 +0.125000 0.00000 0.625000 +0.00000 0.125000 0.625000 +0.125000 0.125000 0.625000 +0.00000 0.00000 0.750000 +0.125000 0.00000 0.750000 +0.00000 0.125000 0.750000 +0.125000 0.125000 0.750000 +0.125000 0.00000 0.625000 +0.250000 0.00000 0.625000 +0.125000 0.125000 0.625000 +0.250000 0.125000 0.625000 +0.125000 0.00000 0.750000 +0.250000 0.00000 0.750000 +0.125000 0.125000 0.750000 +0.250000 0.125000 0.750000 +0.00000 0.125000 0.625000 +0.125000 0.125000 0.625000 +0.00000 0.250000 0.625000 +0.125000 0.250000 0.625000 +0.00000 0.125000 0.750000 +0.125000 0.125000 0.750000 +0.00000 0.250000 0.750000 +0.125000 0.250000 0.750000 +0.125000 0.125000 0.625000 +0.250000 0.125000 0.625000 +0.125000 0.250000 0.625000 +0.250000 0.250000 0.625000 +0.125000 0.125000 0.750000 +0.250000 0.125000 0.750000 +0.125000 0.250000 0.750000 +0.250000 0.250000 0.750000 +0.375000 0.00000 0.500000 +0.500000 0.00000 0.500000 +0.375000 0.125000 0.500000 +0.500000 0.125000 0.500000 +0.375000 0.00000 0.625000 +0.500000 0.00000 0.625000 +0.375000 0.125000 0.625000 +0.500000 0.125000 0.625000 +0.250000 0.125000 0.500000 +0.375000 0.125000 0.500000 +0.250000 0.250000 0.500000 +0.375000 0.250000 0.500000 +0.250000 0.125000 0.625000 +0.375000 0.125000 0.625000 +0.250000 0.250000 0.625000 +0.375000 0.250000 0.625000 +0.375000 0.125000 0.500000 +0.500000 0.125000 0.500000 +0.375000 0.250000 0.500000 +0.500000 0.250000 0.500000 +0.375000 0.125000 0.625000 +0.500000 0.125000 0.625000 +0.375000 0.250000 0.625000 +0.500000 0.250000 0.625000 +0.250000 0.00000 0.625000 +0.375000 0.00000 0.625000 +0.250000 0.125000 0.625000 +0.375000 0.125000 0.625000 +0.250000 0.00000 0.750000 +0.375000 0.00000 0.750000 +0.250000 0.125000 0.750000 +0.375000 0.125000 0.750000 +0.375000 0.00000 0.625000 +0.500000 0.00000 0.625000 +0.375000 0.125000 0.625000 +0.500000 0.125000 0.625000 +0.375000 0.00000 0.750000 +0.500000 0.00000 0.750000 +0.375000 0.125000 0.750000 +0.500000 0.125000 0.750000 +0.250000 0.125000 0.625000 +0.375000 0.125000 0.625000 +0.250000 0.250000 0.625000 +0.375000 0.250000 0.625000 +0.250000 0.125000 0.750000 +0.375000 0.125000 0.750000 +0.250000 0.250000 0.750000 +0.375000 0.250000 0.750000 +0.375000 0.125000 0.625000 +0.500000 0.125000 0.625000 +0.375000 0.250000 0.625000 +0.500000 0.250000 0.625000 +0.375000 0.125000 0.750000 +0.500000 0.125000 0.750000 +0.375000 0.250000 0.750000 +0.500000 0.250000 0.750000 +0.500000 0.00000 0.500000 +0.625000 0.00000 0.500000 +0.500000 0.125000 0.500000 +0.625000 0.125000 0.500000 +0.500000 0.00000 0.625000 +0.625000 0.00000 0.625000 +0.500000 0.125000 0.625000 +0.625000 0.125000 0.625000 +0.500000 0.125000 0.500000 +0.625000 0.125000 0.500000 +0.500000 0.250000 0.500000 +0.625000 0.250000 0.500000 +0.500000 0.125000 0.625000 +0.625000 0.125000 0.625000 +0.500000 0.250000 0.625000 +0.625000 0.250000 0.625000 +0.625000 0.125000 0.500000 +0.750000 0.125000 0.500000 +0.625000 0.250000 0.500000 +0.750000 0.250000 0.500000 +0.625000 0.125000 0.625000 +0.750000 0.125000 0.625000 +0.625000 0.250000 0.625000 +0.750000 0.250000 0.625000 +0.500000 0.00000 0.625000 +0.625000 0.00000 0.625000 +0.500000 0.125000 0.625000 +0.625000 0.125000 0.625000 +0.500000 0.00000 0.750000 +0.625000 0.00000 0.750000 +0.500000 0.125000 0.750000 +0.625000 0.125000 0.750000 +0.625000 0.00000 0.625000 +0.750000 0.00000 0.625000 +0.625000 0.125000 0.625000 +0.750000 0.125000 0.625000 +0.625000 0.00000 0.750000 +0.750000 0.00000 0.750000 +0.625000 0.125000 0.750000 +0.750000 0.125000 0.750000 +0.500000 0.125000 0.625000 +0.625000 0.125000 0.625000 +0.500000 0.250000 0.625000 +0.625000 0.250000 0.625000 +0.500000 0.125000 0.750000 +0.625000 0.125000 0.750000 +0.500000 0.250000 0.750000 +0.625000 0.250000 0.750000 +0.625000 0.125000 0.625000 +0.750000 0.125000 0.625000 +0.625000 0.250000 0.625000 +0.750000 0.250000 0.625000 +0.625000 0.125000 0.750000 +0.750000 0.125000 0.750000 +0.625000 0.250000 0.750000 +0.750000 0.250000 0.750000 +0.500000 0.250000 0.500000 +0.625000 0.250000 0.500000 +0.500000 0.375000 0.500000 +0.625000 0.375000 0.500000 +0.500000 0.250000 0.625000 +0.625000 0.250000 0.625000 +0.500000 0.375000 0.625000 +0.625000 0.375000 0.625000 +0.625000 0.250000 0.500000 +0.750000 0.250000 0.500000 +0.625000 0.375000 0.500000 +0.750000 0.375000 0.500000 +0.625000 0.250000 0.625000 +0.750000 0.250000 0.625000 +0.625000 0.375000 0.625000 +0.750000 0.375000 0.625000 +0.625000 0.375000 0.500000 +0.750000 0.375000 0.500000 +0.625000 0.500000 0.500000 +0.750000 0.500000 0.500000 +0.625000 0.375000 0.625000 +0.750000 0.375000 0.625000 +0.625000 0.500000 0.625000 +0.750000 0.500000 0.625000 +0.500000 0.250000 0.625000 +0.625000 0.250000 0.625000 +0.500000 0.375000 0.625000 +0.625000 0.375000 0.625000 +0.500000 0.250000 0.750000 +0.625000 0.250000 0.750000 +0.500000 0.375000 0.750000 +0.625000 0.375000 0.750000 +0.625000 0.250000 0.625000 +0.750000 0.250000 0.625000 +0.625000 0.375000 0.625000 +0.750000 0.375000 0.625000 +0.625000 0.250000 0.750000 +0.750000 0.250000 0.750000 +0.625000 0.375000 0.750000 +0.750000 0.375000 0.750000 +0.500000 0.375000 0.625000 +0.625000 0.375000 0.625000 +0.500000 0.500000 0.625000 +0.625000 0.500000 0.625000 +0.500000 0.375000 0.750000 +0.625000 0.375000 0.750000 +0.500000 0.500000 0.750000 +0.625000 0.500000 0.750000 +0.625000 0.375000 0.625000 +0.750000 0.375000 0.625000 +0.625000 0.500000 0.625000 +0.750000 0.500000 0.625000 +0.625000 0.375000 0.750000 +0.750000 0.375000 0.750000 +0.625000 0.500000 0.750000 +0.750000 0.500000 0.750000 +0.750000 0.250000 0.500000 +0.875000 0.250000 0.500000 +0.750000 0.375000 0.500000 +0.875000 0.375000 0.500000 +0.750000 0.250000 0.625000 +0.875000 0.250000 0.625000 +0.750000 0.375000 0.625000 +0.875000 0.375000 0.625000 +0.875000 0.250000 0.500000 +1.00000 0.250000 0.500000 +0.875000 0.375000 0.500000 +1.00000 0.375000 0.500000 +0.875000 0.250000 0.625000 +1.00000 0.250000 0.625000 +0.875000 0.375000 0.625000 +1.00000 0.375000 0.625000 +0.750000 0.375000 0.500000 +0.875000 0.375000 0.500000 +0.750000 0.500000 0.500000 +0.875000 0.500000 0.500000 +0.750000 0.375000 0.625000 +0.875000 0.375000 0.625000 +0.750000 0.500000 0.625000 +0.875000 0.500000 0.625000 +0.750000 0.250000 0.625000 +0.875000 0.250000 0.625000 +0.750000 0.375000 0.625000 +0.875000 0.375000 0.625000 +0.750000 0.250000 0.750000 +0.875000 0.250000 0.750000 +0.750000 0.375000 0.750000 +0.875000 0.375000 0.750000 +0.875000 0.250000 0.625000 +1.00000 0.250000 0.625000 +0.875000 0.375000 0.625000 +1.00000 0.375000 0.625000 +0.875000 0.250000 0.750000 +1.00000 0.250000 0.750000 +0.875000 0.375000 0.750000 +1.00000 0.375000 0.750000 +0.750000 0.375000 0.625000 +0.875000 0.375000 0.625000 +0.750000 0.500000 0.625000 +0.875000 0.500000 0.625000 +0.750000 0.375000 0.750000 +0.875000 0.375000 0.750000 +0.750000 0.500000 0.750000 +0.875000 0.500000 0.750000 +0.875000 0.375000 0.625000 +1.00000 0.375000 0.625000 +0.875000 0.500000 0.625000 +1.00000 0.500000 0.625000 +0.875000 0.375000 0.750000 +1.00000 0.375000 0.750000 +0.875000 0.500000 0.750000 +1.00000 0.500000 0.750000 +0.250000 0.500000 0.500000 +0.375000 0.500000 0.500000 +0.250000 0.625000 0.500000 +0.375000 0.625000 0.500000 +0.250000 0.500000 0.625000 +0.375000 0.500000 0.625000 +0.250000 0.625000 0.625000 +0.375000 0.625000 0.625000 +0.375000 0.500000 0.500000 +0.500000 0.500000 0.500000 +0.375000 0.625000 0.500000 +0.500000 0.625000 0.500000 +0.375000 0.500000 0.625000 +0.500000 0.500000 0.625000 +0.375000 0.625000 0.625000 +0.500000 0.625000 0.625000 +0.250000 0.625000 0.500000 +0.375000 0.625000 0.500000 +0.250000 0.750000 0.500000 +0.375000 0.750000 0.500000 +0.250000 0.625000 0.625000 +0.375000 0.625000 0.625000 +0.250000 0.750000 0.625000 +0.375000 0.750000 0.625000 +0.375000 0.625000 0.500000 +0.500000 0.625000 0.500000 +0.375000 0.750000 0.500000 +0.500000 0.750000 0.500000 +0.375000 0.625000 0.625000 +0.500000 0.625000 0.625000 +0.375000 0.750000 0.625000 +0.500000 0.750000 0.625000 +0.375000 0.500000 0.625000 +0.500000 0.500000 0.625000 +0.375000 0.625000 0.625000 +0.500000 0.625000 0.625000 +0.375000 0.500000 0.750000 +0.500000 0.500000 0.750000 +0.375000 0.625000 0.750000 +0.500000 0.625000 0.750000 +0.250000 0.625000 0.625000 +0.375000 0.625000 0.625000 +0.250000 0.750000 0.625000 +0.375000 0.750000 0.625000 +0.250000 0.625000 0.750000 +0.375000 0.625000 0.750000 +0.250000 0.750000 0.750000 +0.375000 0.750000 0.750000 +0.375000 0.625000 0.625000 +0.500000 0.625000 0.625000 +0.375000 0.750000 0.625000 +0.500000 0.750000 0.625000 +0.375000 0.625000 0.750000 +0.500000 0.625000 0.750000 +0.375000 0.750000 0.750000 +0.500000 0.750000 0.750000 +0.00000 0.750000 0.500000 +0.125000 0.750000 0.500000 +0.00000 0.875000 0.500000 +0.125000 0.875000 0.500000 +0.00000 0.750000 0.625000 +0.125000 0.750000 0.625000 +0.00000 0.875000 0.625000 +0.125000 0.875000 0.625000 +0.125000 0.750000 0.500000 +0.250000 0.750000 0.500000 +0.125000 0.875000 0.500000 +0.250000 0.875000 0.500000 +0.125000 0.750000 0.625000 +0.250000 0.750000 0.625000 +0.125000 0.875000 0.625000 +0.250000 0.875000 0.625000 +0.00000 0.875000 0.500000 +0.125000 0.875000 0.500000 +0.00000 1.00000 0.500000 +0.125000 1.00000 0.500000 +0.00000 0.875000 0.625000 +0.125000 0.875000 0.625000 +0.00000 1.00000 0.625000 +0.125000 1.00000 0.625000 +0.125000 0.875000 0.500000 +0.250000 0.875000 0.500000 +0.125000 1.00000 0.500000 +0.250000 1.00000 0.500000 +0.125000 0.875000 0.625000 +0.250000 0.875000 0.625000 +0.125000 1.00000 0.625000 +0.250000 1.00000 0.625000 +0.00000 0.750000 0.625000 +0.125000 0.750000 0.625000 +0.00000 0.875000 0.625000 +0.125000 0.875000 0.625000 +0.00000 0.750000 0.750000 +0.125000 0.750000 0.750000 +0.00000 0.875000 0.750000 +0.125000 0.875000 0.750000 +0.00000 0.875000 0.625000 +0.125000 0.875000 0.625000 +0.00000 1.00000 0.625000 +0.125000 1.00000 0.625000 +0.00000 0.875000 0.750000 +0.125000 0.875000 0.750000 +0.00000 1.00000 0.750000 +0.125000 1.00000 0.750000 +0.125000 0.875000 0.625000 +0.250000 0.875000 0.625000 +0.125000 1.00000 0.625000 +0.250000 1.00000 0.625000 +0.125000 0.875000 0.750000 +0.250000 0.875000 0.750000 +0.125000 1.00000 0.750000 +0.250000 1.00000 0.750000 +0.250000 0.750000 0.500000 +0.375000 0.750000 0.500000 +0.250000 0.875000 0.500000 +0.375000 0.875000 0.500000 +0.250000 0.750000 0.625000 +0.375000 0.750000 0.625000 +0.250000 0.875000 0.625000 +0.375000 0.875000 0.625000 +0.375000 0.750000 0.500000 +0.500000 0.750000 0.500000 +0.375000 0.875000 0.500000 +0.500000 0.875000 0.500000 +0.375000 0.750000 0.625000 +0.500000 0.750000 0.625000 +0.375000 0.875000 0.625000 +0.500000 0.875000 0.625000 +0.250000 0.875000 0.500000 +0.375000 0.875000 0.500000 +0.250000 1.00000 0.500000 +0.375000 1.00000 0.500000 +0.250000 0.875000 0.625000 +0.375000 0.875000 0.625000 +0.250000 1.00000 0.625000 +0.375000 1.00000 0.625000 +0.375000 0.875000 0.500000 +0.500000 0.875000 0.500000 +0.375000 1.00000 0.500000 +0.500000 1.00000 0.500000 +0.375000 0.875000 0.625000 +0.500000 0.875000 0.625000 +0.375000 1.00000 0.625000 +0.500000 1.00000 0.625000 +0.250000 0.750000 0.625000 +0.375000 0.750000 0.625000 +0.250000 0.875000 0.625000 +0.375000 0.875000 0.625000 +0.250000 0.750000 0.750000 +0.375000 0.750000 0.750000 +0.250000 0.875000 0.750000 +0.375000 0.875000 0.750000 +0.375000 0.750000 0.625000 +0.500000 0.750000 0.625000 +0.375000 0.875000 0.625000 +0.500000 0.875000 0.625000 +0.375000 0.750000 0.750000 +0.500000 0.750000 0.750000 +0.375000 0.875000 0.750000 +0.500000 0.875000 0.750000 +0.375000 0.875000 0.625000 +0.500000 0.875000 0.625000 +0.375000 1.00000 0.625000 +0.500000 1.00000 0.625000 +0.375000 0.875000 0.750000 +0.500000 0.875000 0.750000 +0.375000 1.00000 0.750000 +0.500000 1.00000 0.750000 +0.500000 0.750000 0.500000 +0.625000 0.750000 0.500000 +0.500000 0.875000 0.500000 +0.625000 0.875000 0.500000 +0.500000 0.750000 0.625000 +0.625000 0.750000 0.625000 +0.500000 0.875000 0.625000 +0.625000 0.875000 0.625000 +0.625000 0.750000 0.500000 +0.750000 0.750000 0.500000 +0.625000 0.875000 0.500000 +0.750000 0.875000 0.500000 +0.625000 0.750000 0.625000 +0.750000 0.750000 0.625000 +0.625000 0.875000 0.625000 +0.750000 0.875000 0.625000 +0.500000 0.875000 0.500000 +0.625000 0.875000 0.500000 +0.500000 1.00000 0.500000 +0.625000 1.00000 0.500000 +0.500000 0.875000 0.625000 +0.625000 0.875000 0.625000 +0.500000 1.00000 0.625000 +0.625000 1.00000 0.625000 +0.625000 0.875000 0.500000 +0.750000 0.875000 0.500000 +0.625000 1.00000 0.500000 +0.750000 1.00000 0.500000 +0.625000 0.875000 0.625000 +0.750000 0.875000 0.625000 +0.625000 1.00000 0.625000 +0.750000 1.00000 0.625000 +0.500000 0.750000 0.625000 +0.625000 0.750000 0.625000 +0.500000 0.875000 0.625000 +0.625000 0.875000 0.625000 +0.500000 0.750000 0.750000 +0.625000 0.750000 0.750000 +0.500000 0.875000 0.750000 +0.625000 0.875000 0.750000 +0.625000 0.750000 0.625000 +0.750000 0.750000 0.625000 +0.625000 0.875000 0.625000 +0.750000 0.875000 0.625000 +0.625000 0.750000 0.750000 +0.750000 0.750000 0.750000 +0.625000 0.875000 0.750000 +0.750000 0.875000 0.750000 +0.500000 0.875000 0.625000 +0.625000 0.875000 0.625000 +0.500000 1.00000 0.625000 +0.625000 1.00000 0.625000 +0.500000 0.875000 0.750000 +0.625000 0.875000 0.750000 +0.500000 1.00000 0.750000 +0.625000 1.00000 0.750000 +0.250000 0.00000 0.00000 +0.375000 0.00000 0.00000 +0.250000 0.125000 0.00000 +0.375000 0.125000 0.00000 +0.250000 0.00000 0.125000 +0.375000 0.00000 0.125000 +0.250000 0.125000 0.125000 +0.375000 0.125000 0.125000 +0.375000 0.00000 0.00000 +0.500000 0.00000 0.00000 +0.375000 0.125000 0.00000 +0.500000 0.125000 0.00000 +0.375000 0.00000 0.125000 +0.500000 0.00000 0.125000 +0.375000 0.125000 0.125000 +0.500000 0.125000 0.125000 +0.250000 0.125000 0.00000 +0.375000 0.125000 0.00000 +0.250000 0.250000 0.00000 +0.375000 0.250000 0.00000 +0.250000 0.125000 0.125000 +0.375000 0.125000 0.125000 +0.250000 0.250000 0.125000 +0.375000 0.250000 0.125000 +0.375000 0.125000 0.00000 +0.500000 0.125000 0.00000 +0.375000 0.250000 0.00000 +0.500000 0.250000 0.00000 +0.375000 0.125000 0.125000 +0.500000 0.125000 0.125000 +0.375000 0.250000 0.125000 +0.500000 0.250000 0.125000 +0.250000 0.00000 0.125000 +0.375000 0.00000 0.125000 +0.250000 0.125000 0.125000 +0.375000 0.125000 0.125000 +0.250000 0.00000 0.250000 +0.375000 0.00000 0.250000 +0.250000 0.125000 0.250000 +0.375000 0.125000 0.250000 +0.375000 0.00000 0.125000 +0.500000 0.00000 0.125000 +0.375000 0.125000 0.125000 +0.500000 0.125000 0.125000 +0.375000 0.00000 0.250000 +0.500000 0.00000 0.250000 +0.375000 0.125000 0.250000 +0.500000 0.125000 0.250000 +0.250000 0.125000 0.125000 +0.375000 0.125000 0.125000 +0.250000 0.250000 0.125000 +0.375000 0.250000 0.125000 +0.250000 0.125000 0.250000 +0.375000 0.125000 0.250000 +0.250000 0.250000 0.250000 +0.375000 0.250000 0.250000 +0.375000 0.125000 0.125000 +0.500000 0.125000 0.125000 +0.375000 0.250000 0.125000 +0.500000 0.250000 0.125000 +0.375000 0.125000 0.250000 +0.500000 0.125000 0.250000 +0.375000 0.250000 0.250000 +0.500000 0.250000 0.250000 +0.00000 0.250000 0.250000 +0.125000 0.250000 0.250000 +0.00000 0.375000 0.250000 +0.125000 0.375000 0.250000 +0.00000 0.250000 0.375000 +0.125000 0.250000 0.375000 +0.00000 0.375000 0.375000 +0.125000 0.375000 0.375000 +0.125000 0.250000 0.250000 +0.250000 0.250000 0.250000 +0.125000 0.375000 0.250000 +0.250000 0.375000 0.250000 +0.125000 0.250000 0.375000 +0.250000 0.250000 0.375000 +0.125000 0.375000 0.375000 +0.250000 0.375000 0.375000 +0.00000 0.375000 0.250000 +0.125000 0.375000 0.250000 +0.00000 0.500000 0.250000 +0.125000 0.500000 0.250000 +0.00000 0.375000 0.375000 +0.125000 0.375000 0.375000 +0.00000 0.500000 0.375000 +0.125000 0.500000 0.375000 +0.125000 0.375000 0.250000 +0.250000 0.375000 0.250000 +0.125000 0.500000 0.250000 +0.250000 0.500000 0.250000 +0.125000 0.375000 0.375000 +0.250000 0.375000 0.375000 +0.125000 0.500000 0.375000 +0.250000 0.500000 0.375000 +0.00000 0.250000 0.375000 +0.125000 0.250000 0.375000 +0.00000 0.375000 0.375000 +0.125000 0.375000 0.375000 +0.00000 0.250000 0.500000 +0.125000 0.250000 0.500000 +0.00000 0.375000 0.500000 +0.125000 0.375000 0.500000 +0.125000 0.250000 0.375000 +0.250000 0.250000 0.375000 +0.125000 0.375000 0.375000 +0.250000 0.375000 0.375000 +0.125000 0.250000 0.500000 +0.250000 0.250000 0.500000 +0.125000 0.375000 0.500000 +0.250000 0.375000 0.500000 +0.00000 0.375000 0.375000 +0.125000 0.375000 0.375000 +0.00000 0.500000 0.375000 +0.125000 0.500000 0.375000 +0.00000 0.375000 0.500000 +0.125000 0.375000 0.500000 +0.00000 0.500000 0.500000 +0.125000 0.500000 0.500000 +0.125000 0.375000 0.375000 +0.250000 0.375000 0.375000 +0.125000 0.500000 0.375000 +0.250000 0.500000 0.375000 +0.125000 0.375000 0.500000 +0.250000 0.375000 0.500000 +0.125000 0.500000 0.500000 +0.250000 0.500000 0.500000 +0.250000 0.250000 0.250000 +0.375000 0.250000 0.250000 +0.250000 0.375000 0.250000 +0.375000 0.375000 0.250000 +0.250000 0.250000 0.375000 +0.375000 0.250000 0.375000 +0.250000 0.375000 0.375000 +0.375000 0.375000 0.375000 +0.375000 0.250000 0.250000 +0.500000 0.250000 0.250000 +0.375000 0.375000 0.250000 +0.500000 0.375000 0.250000 +0.375000 0.250000 0.375000 +0.500000 0.250000 0.375000 +0.375000 0.375000 0.375000 +0.500000 0.375000 0.375000 +0.250000 0.375000 0.250000 +0.375000 0.375000 0.250000 +0.250000 0.500000 0.250000 +0.375000 0.500000 0.250000 +0.250000 0.375000 0.375000 +0.375000 0.375000 0.375000 +0.250000 0.500000 0.375000 +0.375000 0.500000 0.375000 +0.375000 0.375000 0.250000 +0.500000 0.375000 0.250000 +0.375000 0.500000 0.250000 +0.500000 0.500000 0.250000 +0.375000 0.375000 0.375000 +0.500000 0.375000 0.375000 +0.375000 0.500000 0.375000 +0.500000 0.500000 0.375000 +0.250000 0.250000 0.375000 +0.375000 0.250000 0.375000 +0.250000 0.375000 0.375000 +0.375000 0.375000 0.375000 +0.250000 0.250000 0.500000 +0.375000 0.250000 0.500000 +0.250000 0.375000 0.500000 +0.375000 0.375000 0.500000 +0.375000 0.250000 0.375000 +0.500000 0.250000 0.375000 +0.375000 0.375000 0.375000 +0.500000 0.375000 0.375000 +0.375000 0.250000 0.500000 +0.500000 0.250000 0.500000 +0.375000 0.375000 0.500000 +0.500000 0.375000 0.500000 +0.250000 0.375000 0.375000 +0.375000 0.375000 0.375000 +0.250000 0.500000 0.375000 +0.375000 0.500000 0.375000 +0.250000 0.375000 0.500000 +0.375000 0.375000 0.500000 +0.250000 0.500000 0.500000 +0.375000 0.500000 0.500000 +0.375000 0.375000 0.375000 +0.500000 0.375000 0.375000 +0.375000 0.500000 0.375000 +0.500000 0.500000 0.375000 +0.375000 0.375000 0.500000 +0.500000 0.375000 0.500000 +0.375000 0.500000 0.500000 +0.500000 0.500000 0.500000 +0.500000 0.00000 0.00000 +0.625000 0.00000 0.00000 +0.500000 0.125000 0.00000 +0.625000 0.125000 0.00000 +0.500000 0.00000 0.125000 +0.625000 0.00000 0.125000 +0.500000 0.125000 0.125000 +0.625000 0.125000 0.125000 +0.625000 0.00000 0.00000 +0.750000 0.00000 0.00000 +0.625000 0.125000 0.00000 +0.750000 0.125000 0.00000 +0.625000 0.00000 0.125000 +0.750000 0.00000 0.125000 +0.625000 0.125000 0.125000 +0.750000 0.125000 0.125000 +0.500000 0.125000 0.00000 +0.625000 0.125000 0.00000 +0.500000 0.250000 0.00000 +0.625000 0.250000 0.00000 +0.500000 0.125000 0.125000 +0.625000 0.125000 0.125000 +0.500000 0.250000 0.125000 +0.625000 0.250000 0.125000 +0.625000 0.125000 0.00000 +0.750000 0.125000 0.00000 +0.625000 0.250000 0.00000 +0.750000 0.250000 0.00000 +0.625000 0.125000 0.125000 +0.750000 0.125000 0.125000 +0.625000 0.250000 0.125000 +0.750000 0.250000 0.125000 +0.500000 0.00000 0.125000 +0.625000 0.00000 0.125000 +0.500000 0.125000 0.125000 +0.625000 0.125000 0.125000 +0.500000 0.00000 0.250000 +0.625000 0.00000 0.250000 +0.500000 0.125000 0.250000 +0.625000 0.125000 0.250000 +0.625000 0.00000 0.125000 +0.750000 0.00000 0.125000 +0.625000 0.125000 0.125000 +0.750000 0.125000 0.125000 +0.625000 0.00000 0.250000 +0.750000 0.00000 0.250000 +0.625000 0.125000 0.250000 +0.750000 0.125000 0.250000 +0.500000 0.125000 0.125000 +0.625000 0.125000 0.125000 +0.500000 0.250000 0.125000 +0.625000 0.250000 0.125000 +0.500000 0.125000 0.250000 +0.625000 0.125000 0.250000 +0.500000 0.250000 0.250000 +0.625000 0.250000 0.250000 +0.625000 0.125000 0.125000 +0.750000 0.125000 0.125000 +0.625000 0.250000 0.125000 +0.750000 0.250000 0.125000 +0.625000 0.125000 0.250000 +0.750000 0.125000 0.250000 +0.625000 0.250000 0.250000 +0.750000 0.250000 0.250000 +0.750000 0.00000 0.00000 +0.875000 0.00000 0.00000 +0.750000 0.125000 0.00000 +0.875000 0.125000 0.00000 +0.750000 0.00000 0.125000 +0.875000 0.00000 0.125000 +0.750000 0.125000 0.125000 +0.875000 0.125000 0.125000 +0.875000 0.00000 0.00000 +1.00000 0.00000 0.00000 +0.875000 0.125000 0.00000 +1.00000 0.125000 0.00000 +0.875000 0.00000 0.125000 +1.00000 0.00000 0.125000 +0.875000 0.125000 0.125000 +1.00000 0.125000 0.125000 +0.750000 0.125000 0.00000 +0.875000 0.125000 0.00000 +0.750000 0.250000 0.00000 +0.875000 0.250000 0.00000 +0.750000 0.125000 0.125000 +0.875000 0.125000 0.125000 +0.750000 0.250000 0.125000 +0.875000 0.250000 0.125000 +0.875000 0.125000 0.00000 +1.00000 0.125000 0.00000 +0.875000 0.250000 0.00000 +1.00000 0.250000 0.00000 +0.875000 0.125000 0.125000 +1.00000 0.125000 0.125000 +0.875000 0.250000 0.125000 +1.00000 0.250000 0.125000 +0.750000 0.00000 0.125000 +0.875000 0.00000 0.125000 +0.750000 0.125000 0.125000 +0.875000 0.125000 0.125000 +0.750000 0.00000 0.250000 +0.875000 0.00000 0.250000 +0.750000 0.125000 0.250000 +0.875000 0.125000 0.250000 +0.875000 0.00000 0.125000 +1.00000 0.00000 0.125000 +0.875000 0.125000 0.125000 +1.00000 0.125000 0.125000 +0.875000 0.00000 0.250000 +1.00000 0.00000 0.250000 +0.875000 0.125000 0.250000 +1.00000 0.125000 0.250000 +0.750000 0.125000 0.125000 +0.875000 0.125000 0.125000 +0.750000 0.250000 0.125000 +0.875000 0.250000 0.125000 +0.750000 0.125000 0.250000 +0.875000 0.125000 0.250000 +0.750000 0.250000 0.250000 +0.875000 0.250000 0.250000 +0.875000 0.125000 0.125000 +1.00000 0.125000 0.125000 +0.875000 0.250000 0.125000 +1.00000 0.250000 0.125000 +0.875000 0.125000 0.250000 +1.00000 0.125000 0.250000 +0.875000 0.250000 0.250000 +1.00000 0.250000 0.250000 +0.500000 0.250000 0.00000 +0.625000 0.250000 0.00000 +0.500000 0.375000 0.00000 +0.625000 0.375000 0.00000 +0.500000 0.250000 0.125000 +0.625000 0.250000 0.125000 +0.500000 0.375000 0.125000 +0.625000 0.375000 0.125000 +0.625000 0.250000 0.00000 +0.750000 0.250000 0.00000 +0.625000 0.375000 0.00000 +0.750000 0.375000 0.00000 +0.625000 0.250000 0.125000 +0.750000 0.250000 0.125000 +0.625000 0.375000 0.125000 +0.750000 0.375000 0.125000 +0.500000 0.375000 0.00000 +0.625000 0.375000 0.00000 +0.500000 0.500000 0.00000 +0.625000 0.500000 0.00000 +0.500000 0.375000 0.125000 +0.625000 0.375000 0.125000 +0.500000 0.500000 0.125000 +0.625000 0.500000 0.125000 +0.625000 0.375000 0.00000 +0.750000 0.375000 0.00000 +0.625000 0.500000 0.00000 +0.750000 0.500000 0.00000 +0.625000 0.375000 0.125000 +0.750000 0.375000 0.125000 +0.625000 0.500000 0.125000 +0.750000 0.500000 0.125000 +0.500000 0.250000 0.125000 +0.625000 0.250000 0.125000 +0.500000 0.375000 0.125000 +0.625000 0.375000 0.125000 +0.500000 0.250000 0.250000 +0.625000 0.250000 0.250000 +0.500000 0.375000 0.250000 +0.625000 0.375000 0.250000 +0.625000 0.250000 0.125000 +0.750000 0.250000 0.125000 +0.625000 0.375000 0.125000 +0.750000 0.375000 0.125000 +0.625000 0.250000 0.250000 +0.750000 0.250000 0.250000 +0.625000 0.375000 0.250000 +0.750000 0.375000 0.250000 +0.500000 0.375000 0.125000 +0.625000 0.375000 0.125000 +0.500000 0.500000 0.125000 +0.625000 0.500000 0.125000 +0.500000 0.375000 0.250000 +0.625000 0.375000 0.250000 +0.500000 0.500000 0.250000 +0.625000 0.500000 0.250000 +0.625000 0.375000 0.125000 +0.750000 0.375000 0.125000 +0.625000 0.500000 0.125000 +0.750000 0.500000 0.125000 +0.625000 0.375000 0.250000 +0.750000 0.375000 0.250000 +0.625000 0.500000 0.250000 +0.750000 0.500000 0.250000 +0.00000 0.750000 0.00000 +0.125000 0.750000 0.00000 +0.00000 0.875000 0.00000 +0.125000 0.875000 0.00000 +0.00000 0.750000 0.125000 +0.125000 0.750000 0.125000 +0.00000 0.875000 0.125000 +0.125000 0.875000 0.125000 +0.125000 0.750000 0.00000 +0.250000 0.750000 0.00000 +0.125000 0.875000 0.00000 +0.250000 0.875000 0.00000 +0.125000 0.750000 0.125000 +0.250000 0.750000 0.125000 +0.125000 0.875000 0.125000 +0.250000 0.875000 0.125000 +0.00000 0.875000 0.00000 +0.125000 0.875000 0.00000 +0.00000 1.00000 0.00000 +0.125000 1.00000 0.00000 +0.00000 0.875000 0.125000 +0.125000 0.875000 0.125000 +0.00000 1.00000 0.125000 +0.125000 1.00000 0.125000 +0.125000 0.875000 0.00000 +0.250000 0.875000 0.00000 +0.125000 1.00000 0.00000 +0.250000 1.00000 0.00000 +0.125000 0.875000 0.125000 +0.250000 0.875000 0.125000 +0.125000 1.00000 0.125000 +0.250000 1.00000 0.125000 +0.00000 0.750000 0.125000 +0.125000 0.750000 0.125000 +0.00000 0.875000 0.125000 +0.125000 0.875000 0.125000 +0.00000 0.750000 0.250000 +0.125000 0.750000 0.250000 +0.00000 0.875000 0.250000 +0.125000 0.875000 0.250000 +0.125000 0.750000 0.125000 +0.250000 0.750000 0.125000 +0.125000 0.875000 0.125000 +0.250000 0.875000 0.125000 +0.125000 0.750000 0.250000 +0.250000 0.750000 0.250000 +0.125000 0.875000 0.250000 +0.250000 0.875000 0.250000 +0.00000 0.875000 0.125000 +0.125000 0.875000 0.125000 +0.00000 1.00000 0.125000 +0.125000 1.00000 0.125000 +0.00000 0.875000 0.250000 +0.125000 0.875000 0.250000 +0.00000 1.00000 0.250000 +0.125000 1.00000 0.250000 +0.125000 0.875000 0.125000 +0.250000 0.875000 0.125000 +0.125000 1.00000 0.125000 +0.250000 1.00000 0.125000 +0.125000 0.875000 0.250000 +0.250000 0.875000 0.250000 +0.125000 1.00000 0.250000 +0.250000 1.00000 0.250000 +0.250000 0.750000 0.00000 +0.375000 0.750000 0.00000 +0.250000 0.875000 0.00000 +0.375000 0.875000 0.00000 +0.250000 0.750000 0.125000 +0.375000 0.750000 0.125000 +0.250000 0.875000 0.125000 +0.375000 0.875000 0.125000 +0.375000 0.750000 0.00000 +0.500000 0.750000 0.00000 +0.375000 0.875000 0.00000 +0.500000 0.875000 0.00000 +0.375000 0.750000 0.125000 +0.500000 0.750000 0.125000 +0.375000 0.875000 0.125000 +0.500000 0.875000 0.125000 +0.250000 0.875000 0.00000 +0.375000 0.875000 0.00000 +0.250000 1.00000 0.00000 +0.375000 1.00000 0.00000 +0.250000 0.875000 0.125000 +0.375000 0.875000 0.125000 +0.250000 1.00000 0.125000 +0.375000 1.00000 0.125000 +0.375000 0.875000 0.00000 +0.500000 0.875000 0.00000 +0.375000 1.00000 0.00000 +0.500000 1.00000 0.00000 +0.375000 0.875000 0.125000 +0.500000 0.875000 0.125000 +0.375000 1.00000 0.125000 +0.500000 1.00000 0.125000 +0.250000 0.750000 0.125000 +0.375000 0.750000 0.125000 +0.250000 0.875000 0.125000 +0.375000 0.875000 0.125000 +0.250000 0.750000 0.250000 +0.375000 0.750000 0.250000 +0.250000 0.875000 0.250000 +0.375000 0.875000 0.250000 +0.375000 0.750000 0.125000 +0.500000 0.750000 0.125000 +0.375000 0.875000 0.125000 +0.500000 0.875000 0.125000 +0.375000 0.750000 0.250000 +0.500000 0.750000 0.250000 +0.375000 0.875000 0.250000 +0.500000 0.875000 0.250000 +0.250000 0.875000 0.125000 +0.375000 0.875000 0.125000 +0.250000 1.00000 0.125000 +0.375000 1.00000 0.125000 +0.250000 0.875000 0.250000 +0.375000 0.875000 0.250000 +0.250000 1.00000 0.250000 +0.375000 1.00000 0.250000 +0.375000 0.875000 0.125000 +0.500000 0.875000 0.125000 +0.375000 1.00000 0.125000 +0.500000 1.00000 0.125000 +0.375000 0.875000 0.250000 +0.500000 0.875000 0.250000 +0.375000 1.00000 0.250000 +0.500000 1.00000 0.250000 +0.00000 0.500000 0.250000 +0.125000 0.500000 0.250000 +0.00000 0.625000 0.250000 +0.125000 0.625000 0.250000 +0.00000 0.500000 0.375000 +0.125000 0.500000 0.375000 +0.00000 0.625000 0.375000 +0.125000 0.625000 0.375000 +0.125000 0.500000 0.250000 +0.250000 0.500000 0.250000 +0.125000 0.625000 0.250000 +0.250000 0.625000 0.250000 +0.125000 0.500000 0.375000 +0.250000 0.500000 0.375000 +0.125000 0.625000 0.375000 +0.250000 0.625000 0.375000 +0.00000 0.625000 0.250000 +0.125000 0.625000 0.250000 +0.00000 0.750000 0.250000 +0.125000 0.750000 0.250000 +0.00000 0.625000 0.375000 +0.125000 0.625000 0.375000 +0.00000 0.750000 0.375000 +0.125000 0.750000 0.375000 +0.125000 0.625000 0.250000 +0.250000 0.625000 0.250000 +0.125000 0.750000 0.250000 +0.250000 0.750000 0.250000 +0.125000 0.625000 0.375000 +0.250000 0.625000 0.375000 +0.125000 0.750000 0.375000 +0.250000 0.750000 0.375000 +0.00000 0.500000 0.375000 +0.125000 0.500000 0.375000 +0.00000 0.625000 0.375000 +0.125000 0.625000 0.375000 +0.00000 0.500000 0.500000 +0.125000 0.500000 0.500000 +0.00000 0.625000 0.500000 +0.125000 0.625000 0.500000 +0.125000 0.500000 0.375000 +0.250000 0.500000 0.375000 +0.125000 0.625000 0.375000 +0.250000 0.625000 0.375000 +0.125000 0.500000 0.500000 +0.250000 0.500000 0.500000 +0.125000 0.625000 0.500000 +0.250000 0.625000 0.500000 +0.00000 0.625000 0.375000 +0.125000 0.625000 0.375000 +0.00000 0.750000 0.375000 +0.125000 0.750000 0.375000 +0.00000 0.625000 0.500000 +0.125000 0.625000 0.500000 +0.00000 0.750000 0.500000 +0.125000 0.750000 0.500000 +0.125000 0.625000 0.375000 +0.250000 0.625000 0.375000 +0.125000 0.750000 0.375000 +0.250000 0.750000 0.375000 +0.125000 0.625000 0.500000 +0.250000 0.625000 0.500000 +0.125000 0.750000 0.500000 +0.250000 0.750000 0.500000 +0.500000 0.500000 0.00000 +0.625000 0.500000 0.00000 +0.500000 0.625000 0.00000 +0.625000 0.625000 0.00000 +0.500000 0.500000 0.125000 +0.625000 0.500000 0.125000 +0.500000 0.625000 0.125000 +0.625000 0.625000 0.125000 +0.625000 0.500000 0.00000 +0.750000 0.500000 0.00000 +0.625000 0.625000 0.00000 +0.750000 0.625000 0.00000 +0.625000 0.500000 0.125000 +0.750000 0.500000 0.125000 +0.625000 0.625000 0.125000 +0.750000 0.625000 0.125000 +0.500000 0.625000 0.00000 +0.625000 0.625000 0.00000 +0.500000 0.750000 0.00000 +0.625000 0.750000 0.00000 +0.500000 0.625000 0.125000 +0.625000 0.625000 0.125000 +0.500000 0.750000 0.125000 +0.625000 0.750000 0.125000 +0.625000 0.625000 0.00000 +0.750000 0.625000 0.00000 +0.625000 0.750000 0.00000 +0.750000 0.750000 0.00000 +0.625000 0.625000 0.125000 +0.750000 0.625000 0.125000 +0.625000 0.750000 0.125000 +0.750000 0.750000 0.125000 +0.500000 0.500000 0.125000 +0.625000 0.500000 0.125000 +0.500000 0.625000 0.125000 +0.625000 0.625000 0.125000 +0.500000 0.500000 0.250000 +0.625000 0.500000 0.250000 +0.500000 0.625000 0.250000 +0.625000 0.625000 0.250000 +0.625000 0.500000 0.125000 +0.750000 0.500000 0.125000 +0.625000 0.625000 0.125000 +0.750000 0.625000 0.125000 +0.625000 0.500000 0.250000 +0.750000 0.500000 0.250000 +0.625000 0.625000 0.250000 +0.750000 0.625000 0.250000 +0.500000 0.625000 0.125000 +0.625000 0.625000 0.125000 +0.500000 0.750000 0.125000 +0.625000 0.750000 0.125000 +0.500000 0.625000 0.250000 +0.625000 0.625000 0.250000 +0.500000 0.750000 0.250000 +0.625000 0.750000 0.250000 +0.625000 0.625000 0.125000 +0.750000 0.625000 0.125000 +0.625000 0.750000 0.125000 +0.750000 0.750000 0.125000 +0.625000 0.625000 0.250000 +0.750000 0.625000 0.250000 +0.625000 0.750000 0.250000 +0.750000 0.750000 0.250000 +0.750000 0.500000 0.00000 +0.875000 0.500000 0.00000 +0.750000 0.625000 0.00000 +0.875000 0.625000 0.00000 +0.750000 0.500000 0.125000 +0.875000 0.500000 0.125000 +0.750000 0.625000 0.125000 +0.875000 0.625000 0.125000 +0.875000 0.500000 0.00000 +1.00000 0.500000 0.00000 +0.875000 0.625000 0.00000 +1.00000 0.625000 0.00000 +0.875000 0.500000 0.125000 +1.00000 0.500000 0.125000 +0.875000 0.625000 0.125000 +1.00000 0.625000 0.125000 +0.750000 0.625000 0.00000 +0.875000 0.625000 0.00000 +0.750000 0.750000 0.00000 +0.875000 0.750000 0.00000 +0.750000 0.625000 0.125000 +0.875000 0.625000 0.125000 +0.750000 0.750000 0.125000 +0.875000 0.750000 0.125000 +0.875000 0.625000 0.00000 +1.00000 0.625000 0.00000 +0.875000 0.750000 0.00000 +1.00000 0.750000 0.00000 +0.875000 0.625000 0.125000 +1.00000 0.625000 0.125000 +0.875000 0.750000 0.125000 +1.00000 0.750000 0.125000 +0.750000 0.500000 0.125000 +0.875000 0.500000 0.125000 +0.750000 0.625000 0.125000 +0.875000 0.625000 0.125000 +0.750000 0.500000 0.250000 +0.875000 0.500000 0.250000 +0.750000 0.625000 0.250000 +0.875000 0.625000 0.250000 +0.875000 0.500000 0.125000 +1.00000 0.500000 0.125000 +0.875000 0.625000 0.125000 +1.00000 0.625000 0.125000 +0.875000 0.500000 0.250000 +1.00000 0.500000 0.250000 +0.875000 0.625000 0.250000 +1.00000 0.625000 0.250000 +0.750000 0.625000 0.125000 +0.875000 0.625000 0.125000 +0.750000 0.750000 0.125000 +0.875000 0.750000 0.125000 +0.750000 0.625000 0.250000 +0.875000 0.625000 0.250000 +0.750000 0.750000 0.250000 +0.875000 0.750000 0.250000 +0.875000 0.625000 0.125000 +1.00000 0.625000 0.125000 +0.875000 0.750000 0.125000 +1.00000 0.750000 0.125000 +0.875000 0.625000 0.250000 +1.00000 0.625000 0.250000 +0.875000 0.750000 0.250000 +1.00000 0.750000 0.250000 +0.500000 0.750000 0.00000 +0.625000 0.750000 0.00000 +0.500000 0.875000 0.00000 +0.625000 0.875000 0.00000 +0.500000 0.750000 0.125000 +0.625000 0.750000 0.125000 +0.500000 0.875000 0.125000 +0.625000 0.875000 0.125000 +0.625000 0.750000 0.00000 +0.750000 0.750000 0.00000 +0.625000 0.875000 0.00000 +0.750000 0.875000 0.00000 +0.625000 0.750000 0.125000 +0.750000 0.750000 0.125000 +0.625000 0.875000 0.125000 +0.750000 0.875000 0.125000 +0.500000 0.875000 0.00000 +0.625000 0.875000 0.00000 +0.500000 1.00000 0.00000 +0.625000 1.00000 0.00000 +0.500000 0.875000 0.125000 +0.625000 0.875000 0.125000 +0.500000 1.00000 0.125000 +0.625000 1.00000 0.125000 +0.625000 0.875000 0.00000 +0.750000 0.875000 0.00000 +0.625000 1.00000 0.00000 +0.750000 1.00000 0.00000 +0.625000 0.875000 0.125000 +0.750000 0.875000 0.125000 +0.625000 1.00000 0.125000 +0.750000 1.00000 0.125000 +0.500000 0.750000 0.125000 +0.625000 0.750000 0.125000 +0.500000 0.875000 0.125000 +0.625000 0.875000 0.125000 +0.500000 0.750000 0.250000 +0.625000 0.750000 0.250000 +0.500000 0.875000 0.250000 +0.625000 0.875000 0.250000 +0.625000 0.750000 0.125000 +0.750000 0.750000 0.125000 +0.625000 0.875000 0.125000 +0.750000 0.875000 0.125000 +0.625000 0.750000 0.250000 +0.750000 0.750000 0.250000 +0.625000 0.875000 0.250000 +0.750000 0.875000 0.250000 +0.500000 0.875000 0.125000 +0.625000 0.875000 0.125000 +0.500000 1.00000 0.125000 +0.625000 1.00000 0.125000 +0.500000 0.875000 0.250000 +0.625000 0.875000 0.250000 +0.500000 1.00000 0.250000 +0.625000 1.00000 0.250000 +0.625000 0.875000 0.125000 +0.750000 0.875000 0.125000 +0.625000 1.00000 0.125000 +0.750000 1.00000 0.125000 +0.625000 0.875000 0.250000 +0.750000 0.875000 0.250000 +0.625000 1.00000 0.250000 +0.750000 1.00000 0.250000 +0.500000 0.500000 0.250000 +0.625000 0.500000 0.250000 +0.500000 0.625000 0.250000 +0.625000 0.625000 0.250000 +0.500000 0.500000 0.375000 +0.625000 0.500000 0.375000 +0.500000 0.625000 0.375000 +0.625000 0.625000 0.375000 +0.625000 0.500000 0.250000 +0.750000 0.500000 0.250000 +0.625000 0.625000 0.250000 +0.750000 0.625000 0.250000 +0.625000 0.500000 0.375000 +0.750000 0.500000 0.375000 +0.625000 0.625000 0.375000 +0.750000 0.625000 0.375000 +0.500000 0.625000 0.250000 +0.625000 0.625000 0.250000 +0.500000 0.750000 0.250000 +0.625000 0.750000 0.250000 +0.500000 0.625000 0.375000 +0.625000 0.625000 0.375000 +0.500000 0.750000 0.375000 +0.625000 0.750000 0.375000 +0.625000 0.625000 0.250000 +0.750000 0.625000 0.250000 +0.625000 0.750000 0.250000 +0.750000 0.750000 0.250000 +0.625000 0.625000 0.375000 +0.750000 0.625000 0.375000 +0.625000 0.750000 0.375000 +0.750000 0.750000 0.375000 +0.500000 0.500000 0.375000 +0.625000 0.500000 0.375000 +0.500000 0.625000 0.375000 +0.625000 0.625000 0.375000 +0.500000 0.500000 0.500000 +0.625000 0.500000 0.500000 +0.500000 0.625000 0.500000 +0.625000 0.625000 0.500000 +0.625000 0.500000 0.375000 +0.750000 0.500000 0.375000 +0.625000 0.625000 0.375000 +0.750000 0.625000 0.375000 +0.625000 0.500000 0.500000 +0.750000 0.500000 0.500000 +0.625000 0.625000 0.500000 +0.750000 0.625000 0.500000 +0.500000 0.625000 0.375000 +0.625000 0.625000 0.375000 +0.500000 0.750000 0.375000 +0.625000 0.750000 0.375000 +0.500000 0.625000 0.500000 +0.625000 0.625000 0.500000 +0.500000 0.750000 0.500000 +0.625000 0.750000 0.500000 +0.625000 0.625000 0.375000 +0.750000 0.625000 0.375000 +0.625000 0.750000 0.375000 +0.750000 0.750000 0.375000 +0.625000 0.625000 0.500000 +0.750000 0.625000 0.500000 +0.625000 0.750000 0.500000 +0.750000 0.750000 0.500000 +0.750000 0.500000 0.250000 +0.875000 0.500000 0.250000 +0.750000 0.625000 0.250000 +0.875000 0.625000 0.250000 +0.750000 0.500000 0.375000 +0.875000 0.500000 0.375000 +0.750000 0.625000 0.375000 +0.875000 0.625000 0.375000 +0.875000 0.500000 0.250000 +1.00000 0.500000 0.250000 +0.875000 0.625000 0.250000 +1.00000 0.625000 0.250000 +0.875000 0.500000 0.375000 +1.00000 0.500000 0.375000 +0.875000 0.625000 0.375000 +1.00000 0.625000 0.375000 +0.750000 0.625000 0.250000 +0.875000 0.625000 0.250000 +0.750000 0.750000 0.250000 +0.875000 0.750000 0.250000 +0.750000 0.625000 0.375000 +0.875000 0.625000 0.375000 +0.750000 0.750000 0.375000 +0.875000 0.750000 0.375000 +0.875000 0.625000 0.250000 +1.00000 0.625000 0.250000 +0.875000 0.750000 0.250000 +1.00000 0.750000 0.250000 +0.875000 0.625000 0.375000 +1.00000 0.625000 0.375000 +0.875000 0.750000 0.375000 +1.00000 0.750000 0.375000 +0.750000 0.500000 0.375000 +0.875000 0.500000 0.375000 +0.750000 0.625000 0.375000 +0.875000 0.625000 0.375000 +0.750000 0.500000 0.500000 +0.875000 0.500000 0.500000 +0.750000 0.625000 0.500000 +0.875000 0.625000 0.500000 +0.875000 0.500000 0.375000 +1.00000 0.500000 0.375000 +0.875000 0.625000 0.375000 +1.00000 0.625000 0.375000 +0.875000 0.500000 0.500000 +1.00000 0.500000 0.500000 +0.875000 0.625000 0.500000 +1.00000 0.625000 0.500000 +0.750000 0.625000 0.375000 +0.875000 0.625000 0.375000 +0.750000 0.750000 0.375000 +0.875000 0.750000 0.375000 +0.750000 0.625000 0.500000 +0.875000 0.625000 0.500000 +0.750000 0.750000 0.500000 +0.875000 0.750000 0.500000 +0.875000 0.625000 0.375000 +1.00000 0.625000 0.375000 +0.875000 0.750000 0.375000 +1.00000 0.750000 0.375000 +0.875000 0.625000 0.500000 +1.00000 0.625000 0.500000 +0.875000 0.750000 0.500000 +1.00000 0.750000 0.500000 +0.500000 0.750000 0.250000 +0.625000 0.750000 0.250000 +0.500000 0.875000 0.250000 +0.625000 0.875000 0.250000 +0.500000 0.750000 0.375000 +0.625000 0.750000 0.375000 +0.500000 0.875000 0.375000 +0.625000 0.875000 0.375000 +0.625000 0.750000 0.250000 +0.750000 0.750000 0.250000 +0.625000 0.875000 0.250000 +0.750000 0.875000 0.250000 +0.625000 0.750000 0.375000 +0.750000 0.750000 0.375000 +0.625000 0.875000 0.375000 +0.750000 0.875000 0.375000 +0.500000 0.875000 0.250000 +0.625000 0.875000 0.250000 +0.500000 1.00000 0.250000 +0.625000 1.00000 0.250000 +0.500000 0.875000 0.375000 +0.625000 0.875000 0.375000 +0.500000 1.00000 0.375000 +0.625000 1.00000 0.375000 +0.625000 0.875000 0.250000 +0.750000 0.875000 0.250000 +0.625000 1.00000 0.250000 +0.750000 1.00000 0.250000 +0.625000 0.875000 0.375000 +0.750000 0.875000 0.375000 +0.625000 1.00000 0.375000 +0.750000 1.00000 0.375000 +0.500000 0.750000 0.375000 +0.625000 0.750000 0.375000 +0.500000 0.875000 0.375000 +0.625000 0.875000 0.375000 +0.500000 0.750000 0.500000 +0.625000 0.750000 0.500000 +0.500000 0.875000 0.500000 +0.625000 0.875000 0.500000 +0.625000 0.750000 0.375000 +0.750000 0.750000 0.375000 +0.625000 0.875000 0.375000 +0.750000 0.875000 0.375000 +0.625000 0.750000 0.500000 +0.750000 0.750000 0.500000 +0.625000 0.875000 0.500000 +0.750000 0.875000 0.500000 +0.500000 0.875000 0.375000 +0.625000 0.875000 0.375000 +0.500000 1.00000 0.375000 +0.625000 1.00000 0.375000 +0.500000 0.875000 0.500000 +0.625000 0.875000 0.500000 +0.500000 1.00000 0.500000 +0.625000 1.00000 0.500000 +0.625000 0.875000 0.375000 +0.750000 0.875000 0.375000 +0.625000 1.00000 0.375000 +0.750000 1.00000 0.375000 +0.625000 0.875000 0.500000 +0.750000 0.875000 0.500000 +0.625000 1.00000 0.500000 +0.750000 1.00000 0.500000 +0.00000 0.250000 0.500000 +0.125000 0.250000 0.500000 +0.00000 0.375000 0.500000 +0.125000 0.375000 0.500000 +0.00000 0.250000 0.625000 +0.125000 0.250000 0.625000 +0.00000 0.375000 0.625000 +0.125000 0.375000 0.625000 +0.125000 0.250000 0.500000 +0.250000 0.250000 0.500000 +0.125000 0.375000 0.500000 +0.250000 0.375000 0.500000 +0.125000 0.250000 0.625000 +0.250000 0.250000 0.625000 +0.125000 0.375000 0.625000 +0.250000 0.375000 0.625000 +0.00000 0.375000 0.500000 +0.125000 0.375000 0.500000 +0.00000 0.500000 0.500000 +0.125000 0.500000 0.500000 +0.00000 0.375000 0.625000 +0.125000 0.375000 0.625000 +0.00000 0.500000 0.625000 +0.125000 0.500000 0.625000 +0.125000 0.375000 0.500000 +0.250000 0.375000 0.500000 +0.125000 0.500000 0.500000 +0.250000 0.500000 0.500000 +0.125000 0.375000 0.625000 +0.250000 0.375000 0.625000 +0.125000 0.500000 0.625000 +0.250000 0.500000 0.625000 +0.00000 0.250000 0.625000 +0.125000 0.250000 0.625000 +0.00000 0.375000 0.625000 +0.125000 0.375000 0.625000 +0.00000 0.250000 0.750000 +0.125000 0.250000 0.750000 +0.00000 0.375000 0.750000 +0.125000 0.375000 0.750000 +0.125000 0.250000 0.625000 +0.250000 0.250000 0.625000 +0.125000 0.375000 0.625000 +0.250000 0.375000 0.625000 +0.125000 0.250000 0.750000 +0.250000 0.250000 0.750000 +0.125000 0.375000 0.750000 +0.250000 0.375000 0.750000 +0.00000 0.375000 0.625000 +0.125000 0.375000 0.625000 +0.00000 0.500000 0.625000 +0.125000 0.500000 0.625000 +0.00000 0.375000 0.750000 +0.125000 0.375000 0.750000 +0.00000 0.500000 0.750000 +0.125000 0.500000 0.750000 +0.125000 0.375000 0.625000 +0.250000 0.375000 0.625000 +0.125000 0.500000 0.625000 +0.250000 0.500000 0.625000 +0.125000 0.375000 0.750000 +0.250000 0.375000 0.750000 +0.125000 0.500000 0.750000 +0.250000 0.500000 0.750000 +0.250000 0.250000 0.500000 +0.375000 0.250000 0.500000 +0.250000 0.375000 0.500000 +0.375000 0.375000 0.500000 +0.250000 0.250000 0.625000 +0.375000 0.250000 0.625000 +0.250000 0.375000 0.625000 +0.375000 0.375000 0.625000 +0.375000 0.250000 0.500000 +0.500000 0.250000 0.500000 +0.375000 0.375000 0.500000 +0.500000 0.375000 0.500000 +0.375000 0.250000 0.625000 +0.500000 0.250000 0.625000 +0.375000 0.375000 0.625000 +0.500000 0.375000 0.625000 +0.250000 0.375000 0.500000 +0.375000 0.375000 0.500000 +0.250000 0.500000 0.500000 +0.375000 0.500000 0.500000 +0.250000 0.375000 0.625000 +0.375000 0.375000 0.625000 +0.250000 0.500000 0.625000 +0.375000 0.500000 0.625000 +0.375000 0.375000 0.500000 +0.500000 0.375000 0.500000 +0.375000 0.500000 0.500000 +0.500000 0.500000 0.500000 +0.375000 0.375000 0.625000 +0.500000 0.375000 0.625000 +0.375000 0.500000 0.625000 +0.500000 0.500000 0.625000 +0.250000 0.250000 0.625000 +0.375000 0.250000 0.625000 +0.250000 0.375000 0.625000 +0.375000 0.375000 0.625000 +0.250000 0.250000 0.750000 +0.375000 0.250000 0.750000 +0.250000 0.375000 0.750000 +0.375000 0.375000 0.750000 +0.375000 0.250000 0.625000 +0.500000 0.250000 0.625000 +0.375000 0.375000 0.625000 +0.500000 0.375000 0.625000 +0.375000 0.250000 0.750000 +0.500000 0.250000 0.750000 +0.375000 0.375000 0.750000 +0.500000 0.375000 0.750000 +0.250000 0.375000 0.625000 +0.375000 0.375000 0.625000 +0.250000 0.500000 0.625000 +0.375000 0.500000 0.625000 +0.250000 0.375000 0.750000 +0.375000 0.375000 0.750000 +0.250000 0.500000 0.750000 +0.375000 0.500000 0.750000 +0.375000 0.375000 0.625000 +0.500000 0.375000 0.625000 +0.375000 0.500000 0.625000 +0.500000 0.500000 0.625000 +0.375000 0.375000 0.750000 +0.500000 0.375000 0.750000 +0.375000 0.500000 0.750000 +0.500000 0.500000 0.750000 +0.00000 0.00000 0.750000 +0.125000 0.00000 0.750000 +0.00000 0.125000 0.750000 +0.125000 0.125000 0.750000 +0.00000 0.00000 0.875000 +0.125000 0.00000 0.875000 +0.00000 0.125000 0.875000 +0.125000 0.125000 0.875000 +0.125000 0.00000 0.750000 +0.250000 0.00000 0.750000 +0.125000 0.125000 0.750000 +0.250000 0.125000 0.750000 +0.125000 0.00000 0.875000 +0.250000 0.00000 0.875000 +0.125000 0.125000 0.875000 +0.250000 0.125000 0.875000 +0.00000 0.125000 0.750000 +0.125000 0.125000 0.750000 +0.00000 0.250000 0.750000 +0.125000 0.250000 0.750000 +0.00000 0.125000 0.875000 +0.125000 0.125000 0.875000 +0.00000 0.250000 0.875000 +0.125000 0.250000 0.875000 +0.125000 0.125000 0.750000 +0.250000 0.125000 0.750000 +0.125000 0.250000 0.750000 +0.250000 0.250000 0.750000 +0.125000 0.125000 0.875000 +0.250000 0.125000 0.875000 +0.125000 0.250000 0.875000 +0.250000 0.250000 0.875000 +0.00000 0.00000 0.875000 +0.125000 0.00000 0.875000 +0.00000 0.125000 0.875000 +0.125000 0.125000 0.875000 +0.00000 0.00000 1.00000 +0.125000 0.00000 1.00000 +0.00000 0.125000 1.00000 +0.125000 0.125000 1.00000 +0.125000 0.00000 0.875000 +0.250000 0.00000 0.875000 +0.125000 0.125000 0.875000 +0.250000 0.125000 0.875000 +0.125000 0.00000 1.00000 +0.250000 0.00000 1.00000 +0.125000 0.125000 1.00000 +0.250000 0.125000 1.00000 +0.00000 0.125000 0.875000 +0.125000 0.125000 0.875000 +0.00000 0.250000 0.875000 +0.125000 0.250000 0.875000 +0.00000 0.125000 1.00000 +0.125000 0.125000 1.00000 +0.00000 0.250000 1.00000 +0.125000 0.250000 1.00000 +0.125000 0.125000 0.875000 +0.250000 0.125000 0.875000 +0.125000 0.250000 0.875000 +0.250000 0.250000 0.875000 +0.125000 0.125000 1.00000 +0.250000 0.125000 1.00000 +0.125000 0.250000 1.00000 +0.250000 0.250000 1.00000 +0.250000 0.250000 0.750000 +0.375000 0.250000 0.750000 +0.250000 0.375000 0.750000 +0.375000 0.375000 0.750000 +0.250000 0.250000 0.875000 +0.375000 0.250000 0.875000 +0.250000 0.375000 0.875000 +0.375000 0.375000 0.875000 +0.375000 0.250000 0.750000 +0.500000 0.250000 0.750000 +0.375000 0.375000 0.750000 +0.500000 0.375000 0.750000 +0.375000 0.250000 0.875000 +0.500000 0.250000 0.875000 +0.375000 0.375000 0.875000 +0.500000 0.375000 0.875000 +0.250000 0.375000 0.750000 +0.375000 0.375000 0.750000 +0.250000 0.500000 0.750000 +0.375000 0.500000 0.750000 +0.250000 0.375000 0.875000 +0.375000 0.375000 0.875000 +0.250000 0.500000 0.875000 +0.375000 0.500000 0.875000 +0.375000 0.375000 0.750000 +0.500000 0.375000 0.750000 +0.375000 0.500000 0.750000 +0.500000 0.500000 0.750000 +0.375000 0.375000 0.875000 +0.500000 0.375000 0.875000 +0.375000 0.500000 0.875000 +0.500000 0.500000 0.875000 +0.250000 0.250000 0.875000 +0.375000 0.250000 0.875000 +0.250000 0.375000 0.875000 +0.375000 0.375000 0.875000 +0.250000 0.250000 1.00000 +0.375000 0.250000 1.00000 +0.250000 0.375000 1.00000 +0.375000 0.375000 1.00000 +0.375000 0.250000 0.875000 +0.500000 0.250000 0.875000 +0.375000 0.375000 0.875000 +0.500000 0.375000 0.875000 +0.375000 0.250000 1.00000 +0.500000 0.250000 1.00000 +0.375000 0.375000 1.00000 +0.500000 0.375000 1.00000 +0.250000 0.375000 0.875000 +0.375000 0.375000 0.875000 +0.250000 0.500000 0.875000 +0.375000 0.500000 0.875000 +0.250000 0.375000 1.00000 +0.375000 0.375000 1.00000 +0.250000 0.500000 1.00000 +0.375000 0.500000 1.00000 +0.375000 0.375000 0.875000 +0.500000 0.375000 0.875000 +0.375000 0.500000 0.875000 +0.500000 0.500000 0.875000 +0.375000 0.375000 1.00000 +0.500000 0.375000 1.00000 +0.375000 0.500000 1.00000 +0.500000 0.500000 1.00000 +0.750000 0.00000 0.500000 +0.875000 0.00000 0.500000 +0.750000 0.125000 0.500000 +0.875000 0.125000 0.500000 +0.750000 0.00000 0.625000 +0.875000 0.00000 0.625000 +0.750000 0.125000 0.625000 +0.875000 0.125000 0.625000 +0.875000 0.00000 0.500000 +1.00000 0.00000 0.500000 +0.875000 0.125000 0.500000 +1.00000 0.125000 0.500000 +0.875000 0.00000 0.625000 +1.00000 0.00000 0.625000 +0.875000 0.125000 0.625000 +1.00000 0.125000 0.625000 +0.750000 0.125000 0.500000 +0.875000 0.125000 0.500000 +0.750000 0.250000 0.500000 +0.875000 0.250000 0.500000 +0.750000 0.125000 0.625000 +0.875000 0.125000 0.625000 +0.750000 0.250000 0.625000 +0.875000 0.250000 0.625000 +0.875000 0.125000 0.500000 +1.00000 0.125000 0.500000 +0.875000 0.250000 0.500000 +1.00000 0.250000 0.500000 +0.875000 0.125000 0.625000 +1.00000 0.125000 0.625000 +0.875000 0.250000 0.625000 +1.00000 0.250000 0.625000 +0.750000 0.00000 0.625000 +0.875000 0.00000 0.625000 +0.750000 0.125000 0.625000 +0.875000 0.125000 0.625000 +0.750000 0.00000 0.750000 +0.875000 0.00000 0.750000 +0.750000 0.125000 0.750000 +0.875000 0.125000 0.750000 +0.875000 0.00000 0.625000 +1.00000 0.00000 0.625000 +0.875000 0.125000 0.625000 +1.00000 0.125000 0.625000 +0.875000 0.00000 0.750000 +1.00000 0.00000 0.750000 +0.875000 0.125000 0.750000 +1.00000 0.125000 0.750000 +0.750000 0.125000 0.625000 +0.875000 0.125000 0.625000 +0.750000 0.250000 0.625000 +0.875000 0.250000 0.625000 +0.750000 0.125000 0.750000 +0.875000 0.125000 0.750000 +0.750000 0.250000 0.750000 +0.875000 0.250000 0.750000 +0.875000 0.125000 0.625000 +1.00000 0.125000 0.625000 +0.875000 0.250000 0.625000 +1.00000 0.250000 0.625000 +0.875000 0.125000 0.750000 +1.00000 0.125000 0.750000 +0.875000 0.250000 0.750000 +1.00000 0.250000 0.750000 +0.00000 0.500000 0.500000 +0.125000 0.500000 0.500000 +0.00000 0.625000 0.500000 +0.125000 0.625000 0.500000 +0.00000 0.500000 0.625000 +0.125000 0.500000 0.625000 +0.00000 0.625000 0.625000 +0.125000 0.625000 0.625000 +0.125000 0.500000 0.500000 +0.250000 0.500000 0.500000 +0.125000 0.625000 0.500000 +0.250000 0.625000 0.500000 +0.125000 0.500000 0.625000 +0.250000 0.500000 0.625000 +0.125000 0.625000 0.625000 +0.250000 0.625000 0.625000 +0.00000 0.625000 0.500000 +0.125000 0.625000 0.500000 +0.00000 0.750000 0.500000 +0.125000 0.750000 0.500000 +0.00000 0.625000 0.625000 +0.125000 0.625000 0.625000 +0.00000 0.750000 0.625000 +0.125000 0.750000 0.625000 +0.125000 0.625000 0.500000 +0.250000 0.625000 0.500000 +0.125000 0.750000 0.500000 +0.250000 0.750000 0.500000 +0.125000 0.625000 0.625000 +0.250000 0.625000 0.625000 +0.125000 0.750000 0.625000 +0.250000 0.750000 0.625000 +0.00000 0.500000 0.625000 +0.125000 0.500000 0.625000 +0.00000 0.625000 0.625000 +0.125000 0.625000 0.625000 +0.00000 0.500000 0.750000 +0.125000 0.500000 0.750000 +0.00000 0.625000 0.750000 +0.125000 0.625000 0.750000 +0.125000 0.500000 0.625000 +0.250000 0.500000 0.625000 +0.125000 0.625000 0.625000 +0.250000 0.625000 0.625000 +0.125000 0.500000 0.750000 +0.250000 0.500000 0.750000 +0.125000 0.625000 0.750000 +0.250000 0.625000 0.750000 +0.00000 0.625000 0.625000 +0.125000 0.625000 0.625000 +0.00000 0.750000 0.625000 +0.125000 0.750000 0.625000 +0.00000 0.625000 0.750000 +0.125000 0.625000 0.750000 +0.00000 0.750000 0.750000 +0.125000 0.750000 0.750000 +0.125000 0.625000 0.625000 +0.250000 0.625000 0.625000 +0.125000 0.750000 0.625000 +0.250000 0.750000 0.625000 +0.125000 0.625000 0.750000 +0.250000 0.625000 0.750000 +0.125000 0.750000 0.750000 +0.250000 0.750000 0.750000 +0.00000 0.500000 0.750000 +0.125000 0.500000 0.750000 +0.00000 0.625000 0.750000 +0.125000 0.625000 0.750000 +0.00000 0.500000 0.875000 +0.125000 0.500000 0.875000 +0.00000 0.625000 0.875000 +0.125000 0.625000 0.875000 +0.125000 0.500000 0.750000 +0.250000 0.500000 0.750000 +0.125000 0.625000 0.750000 +0.250000 0.625000 0.750000 +0.125000 0.500000 0.875000 +0.250000 0.500000 0.875000 +0.125000 0.625000 0.875000 +0.250000 0.625000 0.875000 +0.00000 0.625000 0.750000 +0.125000 0.625000 0.750000 +0.00000 0.750000 0.750000 +0.125000 0.750000 0.750000 +0.00000 0.625000 0.875000 +0.125000 0.625000 0.875000 +0.00000 0.750000 0.875000 +0.125000 0.750000 0.875000 +0.125000 0.625000 0.750000 +0.250000 0.625000 0.750000 +0.125000 0.750000 0.750000 +0.250000 0.750000 0.750000 +0.125000 0.625000 0.875000 +0.250000 0.625000 0.875000 +0.125000 0.750000 0.875000 +0.250000 0.750000 0.875000 +0.00000 0.500000 0.875000 +0.125000 0.500000 0.875000 +0.00000 0.625000 0.875000 +0.125000 0.625000 0.875000 +0.00000 0.500000 1.00000 +0.125000 0.500000 1.00000 +0.00000 0.625000 1.00000 +0.125000 0.625000 1.00000 +0.125000 0.500000 0.875000 +0.250000 0.500000 0.875000 +0.125000 0.625000 0.875000 +0.250000 0.625000 0.875000 +0.125000 0.500000 1.00000 +0.250000 0.500000 1.00000 +0.125000 0.625000 1.00000 +0.250000 0.625000 1.00000 +0.00000 0.625000 0.875000 +0.125000 0.625000 0.875000 +0.00000 0.750000 0.875000 +0.125000 0.750000 0.875000 +0.00000 0.625000 1.00000 +0.125000 0.625000 1.00000 +0.00000 0.750000 1.00000 +0.125000 0.750000 1.00000 +0.125000 0.625000 0.875000 +0.250000 0.625000 0.875000 +0.125000 0.750000 0.875000 +0.250000 0.750000 0.875000 +0.125000 0.625000 1.00000 +0.250000 0.625000 1.00000 +0.125000 0.750000 1.00000 +0.250000 0.750000 1.00000 +0.250000 0.500000 0.750000 +0.375000 0.500000 0.750000 +0.250000 0.625000 0.750000 +0.375000 0.625000 0.750000 +0.250000 0.500000 0.875000 +0.375000 0.500000 0.875000 +0.250000 0.625000 0.875000 +0.375000 0.625000 0.875000 +0.375000 0.500000 0.750000 +0.500000 0.500000 0.750000 +0.375000 0.625000 0.750000 +0.500000 0.625000 0.750000 +0.375000 0.500000 0.875000 +0.500000 0.500000 0.875000 +0.375000 0.625000 0.875000 +0.500000 0.625000 0.875000 +0.250000 0.625000 0.750000 +0.375000 0.625000 0.750000 +0.250000 0.750000 0.750000 +0.375000 0.750000 0.750000 +0.250000 0.625000 0.875000 +0.375000 0.625000 0.875000 +0.250000 0.750000 0.875000 +0.375000 0.750000 0.875000 +0.375000 0.625000 0.750000 +0.500000 0.625000 0.750000 +0.375000 0.750000 0.750000 +0.500000 0.750000 0.750000 +0.375000 0.625000 0.875000 +0.500000 0.625000 0.875000 +0.375000 0.750000 0.875000 +0.500000 0.750000 0.875000 +0.250000 0.500000 0.875000 +0.375000 0.500000 0.875000 +0.250000 0.625000 0.875000 +0.375000 0.625000 0.875000 +0.250000 0.500000 1.00000 +0.375000 0.500000 1.00000 +0.250000 0.625000 1.00000 +0.375000 0.625000 1.00000 +0.375000 0.500000 0.875000 +0.500000 0.500000 0.875000 +0.375000 0.625000 0.875000 +0.500000 0.625000 0.875000 +0.375000 0.500000 1.00000 +0.500000 0.500000 1.00000 +0.375000 0.625000 1.00000 +0.500000 0.625000 1.00000 +0.250000 0.625000 0.875000 +0.375000 0.625000 0.875000 +0.250000 0.750000 0.875000 +0.375000 0.750000 0.875000 +0.250000 0.625000 1.00000 +0.375000 0.625000 1.00000 +0.250000 0.750000 1.00000 +0.375000 0.750000 1.00000 +0.375000 0.625000 0.875000 +0.500000 0.625000 0.875000 +0.375000 0.750000 0.875000 +0.500000 0.750000 0.875000 +0.375000 0.625000 1.00000 +0.500000 0.625000 1.00000 +0.375000 0.750000 1.00000 +0.500000 0.750000 1.00000 +0.00000 0.750000 0.750000 +0.125000 0.750000 0.750000 +0.00000 0.875000 0.750000 +0.125000 0.875000 0.750000 +0.00000 0.750000 0.875000 +0.125000 0.750000 0.875000 +0.00000 0.875000 0.875000 +0.125000 0.875000 0.875000 +0.125000 0.750000 0.750000 +0.250000 0.750000 0.750000 +0.125000 0.875000 0.750000 +0.250000 0.875000 0.750000 +0.125000 0.750000 0.875000 +0.250000 0.750000 0.875000 +0.125000 0.875000 0.875000 +0.250000 0.875000 0.875000 +0.00000 0.875000 0.750000 +0.125000 0.875000 0.750000 +0.00000 1.00000 0.750000 +0.125000 1.00000 0.750000 +0.00000 0.875000 0.875000 +0.125000 0.875000 0.875000 +0.00000 1.00000 0.875000 +0.125000 1.00000 0.875000 +0.125000 0.875000 0.750000 +0.250000 0.875000 0.750000 +0.125000 1.00000 0.750000 +0.250000 1.00000 0.750000 +0.125000 0.875000 0.875000 +0.250000 0.875000 0.875000 +0.125000 1.00000 0.875000 +0.250000 1.00000 0.875000 +0.00000 0.750000 0.875000 +0.125000 0.750000 0.875000 +0.00000 0.875000 0.875000 +0.125000 0.875000 0.875000 +0.00000 0.750000 1.00000 +0.125000 0.750000 1.00000 +0.00000 0.875000 1.00000 +0.125000 0.875000 1.00000 +0.125000 0.750000 0.875000 +0.250000 0.750000 0.875000 +0.125000 0.875000 0.875000 +0.250000 0.875000 0.875000 +0.125000 0.750000 1.00000 +0.250000 0.750000 1.00000 +0.125000 0.875000 1.00000 +0.250000 0.875000 1.00000 +0.00000 0.875000 0.875000 +0.125000 0.875000 0.875000 +0.00000 1.00000 0.875000 +0.125000 1.00000 0.875000 +0.00000 0.875000 1.00000 +0.125000 0.875000 1.00000 +0.00000 1.00000 1.00000 +0.125000 1.00000 1.00000 +0.125000 0.875000 0.875000 +0.250000 0.875000 0.875000 +0.125000 1.00000 0.875000 +0.250000 1.00000 0.875000 +0.125000 0.875000 1.00000 +0.250000 0.875000 1.00000 +0.125000 1.00000 1.00000 +0.250000 1.00000 1.00000 +0.250000 0.750000 0.750000 +0.375000 0.750000 0.750000 +0.250000 0.875000 0.750000 +0.375000 0.875000 0.750000 +0.250000 0.750000 0.875000 +0.375000 0.750000 0.875000 +0.250000 0.875000 0.875000 +0.375000 0.875000 0.875000 +0.375000 0.750000 0.750000 +0.500000 0.750000 0.750000 +0.375000 0.875000 0.750000 +0.500000 0.875000 0.750000 +0.375000 0.750000 0.875000 +0.500000 0.750000 0.875000 +0.375000 0.875000 0.875000 +0.500000 0.875000 0.875000 +0.250000 0.875000 0.750000 +0.375000 0.875000 0.750000 +0.250000 1.00000 0.750000 +0.375000 1.00000 0.750000 +0.250000 0.875000 0.875000 +0.375000 0.875000 0.875000 +0.250000 1.00000 0.875000 +0.375000 1.00000 0.875000 +0.375000 0.875000 0.750000 +0.500000 0.875000 0.750000 +0.375000 1.00000 0.750000 +0.500000 1.00000 0.750000 +0.375000 0.875000 0.875000 +0.500000 0.875000 0.875000 +0.375000 1.00000 0.875000 +0.500000 1.00000 0.875000 +0.250000 0.750000 0.875000 +0.375000 0.750000 0.875000 +0.250000 0.875000 0.875000 +0.375000 0.875000 0.875000 +0.250000 0.750000 1.00000 +0.375000 0.750000 1.00000 +0.250000 0.875000 1.00000 +0.375000 0.875000 1.00000 +0.375000 0.750000 0.875000 +0.500000 0.750000 0.875000 +0.375000 0.875000 0.875000 +0.500000 0.875000 0.875000 +0.375000 0.750000 1.00000 +0.500000 0.750000 1.00000 +0.375000 0.875000 1.00000 +0.500000 0.875000 1.00000 +0.250000 0.875000 0.875000 +0.375000 0.875000 0.875000 +0.250000 1.00000 0.875000 +0.375000 1.00000 0.875000 +0.250000 0.875000 1.00000 +0.375000 0.875000 1.00000 +0.250000 1.00000 1.00000 +0.375000 1.00000 1.00000 +0.375000 0.875000 0.875000 +0.500000 0.875000 0.875000 +0.375000 1.00000 0.875000 +0.500000 1.00000 0.875000 +0.375000 0.875000 1.00000 +0.500000 0.875000 1.00000 +0.375000 1.00000 1.00000 +0.500000 1.00000 1.00000 +0.500000 0.500000 0.500000 +0.625000 0.500000 0.500000 +0.500000 0.625000 0.500000 +0.625000 0.625000 0.500000 +0.500000 0.500000 0.625000 +0.625000 0.500000 0.625000 +0.500000 0.625000 0.625000 +0.625000 0.625000 0.625000 +0.625000 0.500000 0.500000 +0.750000 0.500000 0.500000 +0.625000 0.625000 0.500000 +0.750000 0.625000 0.500000 +0.625000 0.500000 0.625000 +0.750000 0.500000 0.625000 +0.625000 0.625000 0.625000 +0.750000 0.625000 0.625000 +0.500000 0.625000 0.500000 +0.625000 0.625000 0.500000 +0.500000 0.750000 0.500000 +0.625000 0.750000 0.500000 +0.500000 0.625000 0.625000 +0.625000 0.625000 0.625000 +0.500000 0.750000 0.625000 +0.625000 0.750000 0.625000 +0.625000 0.625000 0.500000 +0.750000 0.625000 0.500000 +0.625000 0.750000 0.500000 +0.750000 0.750000 0.500000 +0.625000 0.625000 0.625000 +0.750000 0.625000 0.625000 +0.625000 0.750000 0.625000 +0.750000 0.750000 0.625000 +0.500000 0.500000 0.625000 +0.625000 0.500000 0.625000 +0.500000 0.625000 0.625000 +0.625000 0.625000 0.625000 +0.500000 0.500000 0.750000 +0.625000 0.500000 0.750000 +0.500000 0.625000 0.750000 +0.625000 0.625000 0.750000 +0.625000 0.500000 0.625000 +0.750000 0.500000 0.625000 +0.625000 0.625000 0.625000 +0.750000 0.625000 0.625000 +0.625000 0.500000 0.750000 +0.750000 0.500000 0.750000 +0.625000 0.625000 0.750000 +0.750000 0.625000 0.750000 +0.500000 0.625000 0.625000 +0.625000 0.625000 0.625000 +0.500000 0.750000 0.625000 +0.625000 0.750000 0.625000 +0.500000 0.625000 0.750000 +0.625000 0.625000 0.750000 +0.500000 0.750000 0.750000 +0.625000 0.750000 0.750000 +0.625000 0.625000 0.625000 +0.750000 0.625000 0.625000 +0.625000 0.750000 0.625000 +0.750000 0.750000 0.625000 +0.625000 0.625000 0.750000 +0.750000 0.625000 0.750000 +0.625000 0.750000 0.750000 +0.750000 0.750000 0.750000 +0.750000 0.500000 0.500000 +0.875000 0.500000 0.500000 +0.750000 0.625000 0.500000 +0.875000 0.625000 0.500000 +0.750000 0.500000 0.625000 +0.875000 0.500000 0.625000 +0.750000 0.625000 0.625000 +0.875000 0.625000 0.625000 +0.875000 0.500000 0.500000 +1.00000 0.500000 0.500000 +0.875000 0.625000 0.500000 +1.00000 0.625000 0.500000 +0.875000 0.500000 0.625000 +1.00000 0.500000 0.625000 +0.875000 0.625000 0.625000 +1.00000 0.625000 0.625000 +0.750000 0.625000 0.500000 +0.875000 0.625000 0.500000 +0.750000 0.750000 0.500000 +0.875000 0.750000 0.500000 +0.750000 0.625000 0.625000 +0.875000 0.625000 0.625000 +0.750000 0.750000 0.625000 +0.875000 0.750000 0.625000 +0.875000 0.625000 0.500000 +1.00000 0.625000 0.500000 +0.875000 0.750000 0.500000 +1.00000 0.750000 0.500000 +0.875000 0.625000 0.625000 +1.00000 0.625000 0.625000 +0.875000 0.750000 0.625000 +1.00000 0.750000 0.625000 +0.750000 0.500000 0.625000 +0.875000 0.500000 0.625000 +0.750000 0.625000 0.625000 +0.875000 0.625000 0.625000 +0.750000 0.500000 0.750000 +0.875000 0.500000 0.750000 +0.750000 0.625000 0.750000 +0.875000 0.625000 0.750000 +0.875000 0.500000 0.625000 +1.00000 0.500000 0.625000 +0.875000 0.625000 0.625000 +1.00000 0.625000 0.625000 +0.875000 0.500000 0.750000 +1.00000 0.500000 0.750000 +0.875000 0.625000 0.750000 +1.00000 0.625000 0.750000 +0.750000 0.625000 0.625000 +0.875000 0.625000 0.625000 +0.750000 0.750000 0.625000 +0.875000 0.750000 0.625000 +0.750000 0.625000 0.750000 +0.875000 0.625000 0.750000 +0.750000 0.750000 0.750000 +0.875000 0.750000 0.750000 +0.875000 0.625000 0.625000 +1.00000 0.625000 0.625000 +0.875000 0.750000 0.625000 +1.00000 0.750000 0.625000 +0.875000 0.625000 0.750000 +1.00000 0.625000 0.750000 +0.875000 0.750000 0.750000 +1.00000 0.750000 0.750000 +0.750000 0.750000 0.500000 +0.875000 0.750000 0.500000 +0.750000 0.875000 0.500000 +0.875000 0.875000 0.500000 +0.750000 0.750000 0.625000 +0.875000 0.750000 0.625000 +0.750000 0.875000 0.625000 +0.875000 0.875000 0.625000 +0.875000 0.750000 0.500000 +1.00000 0.750000 0.500000 +0.875000 0.875000 0.500000 +1.00000 0.875000 0.500000 +0.875000 0.750000 0.625000 +1.00000 0.750000 0.625000 +0.875000 0.875000 0.625000 +1.00000 0.875000 0.625000 +0.750000 0.875000 0.500000 +0.875000 0.875000 0.500000 +0.750000 1.00000 0.500000 +0.875000 1.00000 0.500000 +0.750000 0.875000 0.625000 +0.875000 0.875000 0.625000 +0.750000 1.00000 0.625000 +0.875000 1.00000 0.625000 +0.875000 0.875000 0.500000 +1.00000 0.875000 0.500000 +0.875000 1.00000 0.500000 +1.00000 1.00000 0.500000 +0.875000 0.875000 0.625000 +1.00000 0.875000 0.625000 +0.875000 1.00000 0.625000 +1.00000 1.00000 0.625000 +0.750000 0.750000 0.625000 +0.875000 0.750000 0.625000 +0.750000 0.875000 0.625000 +0.875000 0.875000 0.625000 +0.750000 0.750000 0.750000 +0.875000 0.750000 0.750000 +0.750000 0.875000 0.750000 +0.875000 0.875000 0.750000 +0.875000 0.750000 0.625000 +1.00000 0.750000 0.625000 +0.875000 0.875000 0.625000 +1.00000 0.875000 0.625000 +0.875000 0.750000 0.750000 +1.00000 0.750000 0.750000 +0.875000 0.875000 0.750000 +1.00000 0.875000 0.750000 +0.750000 0.875000 0.625000 +0.875000 0.875000 0.625000 +0.750000 1.00000 0.625000 +0.875000 1.00000 0.625000 +0.750000 0.875000 0.750000 +0.875000 0.875000 0.750000 +0.750000 1.00000 0.750000 +0.875000 1.00000 0.750000 +0.875000 0.875000 0.625000 +1.00000 0.875000 0.625000 +0.875000 1.00000 0.625000 +1.00000 1.00000 0.625000 +0.875000 0.875000 0.750000 +1.00000 0.875000 0.750000 +0.875000 1.00000 0.750000 +1.00000 1.00000 0.750000 +0.750000 0.500000 0.750000 +0.875000 0.500000 0.750000 +0.750000 0.625000 0.750000 +0.875000 0.625000 0.750000 +0.750000 0.500000 0.875000 +0.875000 0.500000 0.875000 +0.750000 0.625000 0.875000 +0.875000 0.625000 0.875000 +0.875000 0.500000 0.750000 +1.00000 0.500000 0.750000 +0.875000 0.625000 0.750000 +1.00000 0.625000 0.750000 +0.875000 0.500000 0.875000 +1.00000 0.500000 0.875000 +0.875000 0.625000 0.875000 +1.00000 0.625000 0.875000 +0.750000 0.625000 0.750000 +0.875000 0.625000 0.750000 +0.750000 0.750000 0.750000 +0.875000 0.750000 0.750000 +0.750000 0.625000 0.875000 +0.875000 0.625000 0.875000 +0.750000 0.750000 0.875000 +0.875000 0.750000 0.875000 +0.875000 0.625000 0.750000 +1.00000 0.625000 0.750000 +0.875000 0.750000 0.750000 +1.00000 0.750000 0.750000 +0.875000 0.625000 0.875000 +1.00000 0.625000 0.875000 +0.875000 0.750000 0.875000 +1.00000 0.750000 0.875000 +0.750000 0.500000 0.875000 +0.875000 0.500000 0.875000 +0.750000 0.625000 0.875000 +0.875000 0.625000 0.875000 +0.750000 0.500000 1.00000 +0.875000 0.500000 1.00000 +0.750000 0.625000 1.00000 +0.875000 0.625000 1.00000 +0.875000 0.500000 0.875000 +1.00000 0.500000 0.875000 +0.875000 0.625000 0.875000 +1.00000 0.625000 0.875000 +0.875000 0.500000 1.00000 +1.00000 0.500000 1.00000 +0.875000 0.625000 1.00000 +1.00000 0.625000 1.00000 +0.750000 0.625000 0.875000 +0.875000 0.625000 0.875000 +0.750000 0.750000 0.875000 +0.875000 0.750000 0.875000 +0.750000 0.625000 1.00000 +0.875000 0.625000 1.00000 +0.750000 0.750000 1.00000 +0.875000 0.750000 1.00000 +0.875000 0.625000 0.875000 +1.00000 0.625000 0.875000 +0.875000 0.750000 0.875000 +1.00000 0.750000 0.875000 +0.875000 0.625000 1.00000 +1.00000 0.625000 1.00000 +0.875000 0.750000 1.00000 +1.00000 0.750000 1.00000 +0.500000 0.750000 0.750000 +0.625000 0.750000 0.750000 +0.500000 0.875000 0.750000 +0.625000 0.875000 0.750000 +0.500000 0.750000 0.875000 +0.625000 0.750000 0.875000 +0.500000 0.875000 0.875000 +0.625000 0.875000 0.875000 +0.625000 0.750000 0.750000 +0.750000 0.750000 0.750000 +0.625000 0.875000 0.750000 +0.750000 0.875000 0.750000 +0.625000 0.750000 0.875000 +0.750000 0.750000 0.875000 +0.625000 0.875000 0.875000 +0.750000 0.875000 0.875000 +0.500000 0.875000 0.750000 +0.625000 0.875000 0.750000 +0.500000 1.00000 0.750000 +0.625000 1.00000 0.750000 +0.500000 0.875000 0.875000 +0.625000 0.875000 0.875000 +0.500000 1.00000 0.875000 +0.625000 1.00000 0.875000 +0.625000 0.875000 0.750000 +0.750000 0.875000 0.750000 +0.625000 1.00000 0.750000 +0.750000 1.00000 0.750000 +0.625000 0.875000 0.875000 +0.750000 0.875000 0.875000 +0.625000 1.00000 0.875000 +0.750000 1.00000 0.875000 +0.500000 0.750000 0.875000 +0.625000 0.750000 0.875000 +0.500000 0.875000 0.875000 +0.625000 0.875000 0.875000 +0.500000 0.750000 1.00000 +0.625000 0.750000 1.00000 +0.500000 0.875000 1.00000 +0.625000 0.875000 1.00000 +0.625000 0.750000 0.875000 +0.750000 0.750000 0.875000 +0.625000 0.875000 0.875000 +0.750000 0.875000 0.875000 +0.625000 0.750000 1.00000 +0.750000 0.750000 1.00000 +0.625000 0.875000 1.00000 +0.750000 0.875000 1.00000 +0.500000 0.875000 0.875000 +0.625000 0.875000 0.875000 +0.500000 1.00000 0.875000 +0.625000 1.00000 0.875000 +0.500000 0.875000 1.00000 +0.625000 0.875000 1.00000 +0.500000 1.00000 1.00000 +0.625000 1.00000 1.00000 +0.625000 0.875000 0.875000 +0.750000 0.875000 0.875000 +0.625000 1.00000 0.875000 +0.750000 1.00000 0.875000 +0.625000 0.875000 1.00000 +0.750000 0.875000 1.00000 +0.625000 1.00000 1.00000 +0.750000 1.00000 1.00000 +0.750000 0.750000 0.750000 +0.875000 0.750000 0.750000 +0.750000 0.875000 0.750000 +0.875000 0.875000 0.750000 +0.750000 0.750000 0.875000 +0.875000 0.750000 0.875000 +0.750000 0.875000 0.875000 +0.875000 0.875000 0.875000 +0.875000 0.750000 0.750000 +1.00000 0.750000 0.750000 +0.875000 0.875000 0.750000 +1.00000 0.875000 0.750000 +0.875000 0.750000 0.875000 +1.00000 0.750000 0.875000 +0.875000 0.875000 0.875000 +1.00000 0.875000 0.875000 +0.750000 0.875000 0.750000 +0.875000 0.875000 0.750000 +0.750000 1.00000 0.750000 +0.875000 1.00000 0.750000 +0.750000 0.875000 0.875000 +0.875000 0.875000 0.875000 +0.750000 1.00000 0.875000 +0.875000 1.00000 0.875000 +0.875000 0.875000 0.750000 +1.00000 0.875000 0.750000 +0.875000 1.00000 0.750000 +1.00000 1.00000 0.750000 +0.875000 0.875000 0.875000 +1.00000 0.875000 0.875000 +0.875000 1.00000 0.875000 +1.00000 1.00000 0.875000 +0.750000 0.750000 0.875000 +0.875000 0.750000 0.875000 +0.750000 0.875000 0.875000 +0.875000 0.875000 0.875000 +0.750000 0.750000 1.00000 +0.875000 0.750000 1.00000 +0.750000 0.875000 1.00000 +0.875000 0.875000 1.00000 +0.875000 0.750000 0.875000 +1.00000 0.750000 0.875000 +0.875000 0.875000 0.875000 +1.00000 0.875000 0.875000 +0.875000 0.750000 1.00000 +1.00000 0.750000 1.00000 +0.875000 0.875000 1.00000 +1.00000 0.875000 1.00000 +0.750000 0.875000 0.875000 +0.875000 0.875000 0.875000 +0.750000 1.00000 0.875000 +0.875000 1.00000 0.875000 +0.750000 0.875000 1.00000 +0.875000 0.875000 1.00000 +0.750000 1.00000 1.00000 +0.875000 1.00000 1.00000 +0.875000 0.875000 0.875000 +1.00000 0.875000 0.875000 +0.875000 1.00000 0.875000 +1.00000 1.00000 0.875000 +0.875000 0.875000 1.00000 +1.00000 0.875000 1.00000 +0.875000 1.00000 1.00000 +1.00000 1.00000 1.00000 +0.125000 0.375000 0.00000 +0.187500 0.375000 0.00000 +0.125000 0.437500 0.00000 +0.187500 0.437500 0.00000 +0.125000 0.375000 0.0625000 +0.187500 0.375000 0.0625000 +0.125000 0.437500 0.0625000 +0.187500 0.437500 0.0625000 +0.187500 0.375000 0.00000 +0.250000 0.375000 0.00000 +0.187500 0.437500 0.00000 +0.250000 0.437500 0.00000 +0.187500 0.375000 0.0625000 +0.250000 0.375000 0.0625000 +0.187500 0.437500 0.0625000 +0.250000 0.437500 0.0625000 +0.125000 0.437500 0.00000 +0.187500 0.437500 0.00000 +0.125000 0.500000 0.00000 +0.187500 0.500000 0.00000 +0.125000 0.437500 0.0625000 +0.187500 0.437500 0.0625000 +0.125000 0.500000 0.0625000 +0.187500 0.500000 0.0625000 +0.187500 0.437500 0.00000 +0.250000 0.437500 0.00000 +0.187500 0.500000 0.00000 +0.250000 0.500000 0.00000 +0.187500 0.437500 0.0625000 +0.250000 0.437500 0.0625000 +0.187500 0.500000 0.0625000 +0.250000 0.500000 0.0625000 +0.125000 0.375000 0.0625000 +0.187500 0.375000 0.0625000 +0.125000 0.437500 0.0625000 +0.187500 0.437500 0.0625000 +0.125000 0.375000 0.125000 +0.187500 0.375000 0.125000 +0.125000 0.437500 0.125000 +0.187500 0.437500 0.125000 +0.187500 0.375000 0.0625000 +0.250000 0.375000 0.0625000 +0.187500 0.437500 0.0625000 +0.250000 0.437500 0.0625000 +0.187500 0.375000 0.125000 +0.250000 0.375000 0.125000 +0.187500 0.437500 0.125000 +0.250000 0.437500 0.125000 +0.125000 0.437500 0.0625000 +0.187500 0.437500 0.0625000 +0.125000 0.500000 0.0625000 +0.187500 0.500000 0.0625000 +0.125000 0.437500 0.125000 +0.187500 0.437500 0.125000 +0.125000 0.500000 0.125000 +0.187500 0.500000 0.125000 +0.187500 0.437500 0.0625000 +0.250000 0.437500 0.0625000 +0.187500 0.500000 0.0625000 +0.250000 0.500000 0.0625000 +0.187500 0.437500 0.125000 +0.250000 0.437500 0.125000 +0.187500 0.500000 0.125000 +0.250000 0.500000 0.125000 +0.312500 0.00000 0.375000 +0.375000 0.00000 0.375000 +0.312500 0.0625000 0.375000 +0.375000 0.0625000 0.375000 +0.312500 0.00000 0.437500 +0.375000 0.00000 0.437500 +0.312500 0.0625000 0.437500 +0.375000 0.0625000 0.437500 +0.250000 0.0625000 0.375000 +0.312500 0.0625000 0.375000 +0.250000 0.125000 0.375000 +0.312500 0.125000 0.375000 +0.250000 0.0625000 0.437500 +0.312500 0.0625000 0.437500 +0.250000 0.125000 0.437500 +0.312500 0.125000 0.437500 +0.312500 0.0625000 0.375000 +0.375000 0.0625000 0.375000 +0.312500 0.125000 0.375000 +0.375000 0.125000 0.375000 +0.312500 0.0625000 0.437500 +0.375000 0.0625000 0.437500 +0.312500 0.125000 0.437500 +0.375000 0.125000 0.437500 +0.250000 0.00000 0.437500 +0.312500 0.00000 0.437500 +0.250000 0.0625000 0.437500 +0.312500 0.0625000 0.437500 +0.250000 0.00000 0.500000 +0.312500 0.00000 0.500000 +0.250000 0.0625000 0.500000 +0.312500 0.0625000 0.500000 +0.312500 0.00000 0.437500 +0.375000 0.00000 0.437500 +0.312500 0.0625000 0.437500 +0.375000 0.0625000 0.437500 +0.312500 0.00000 0.500000 +0.375000 0.00000 0.500000 +0.312500 0.0625000 0.500000 +0.375000 0.0625000 0.500000 +0.250000 0.0625000 0.437500 +0.312500 0.0625000 0.437500 +0.250000 0.125000 0.437500 +0.312500 0.125000 0.437500 +0.250000 0.0625000 0.500000 +0.312500 0.0625000 0.500000 +0.250000 0.125000 0.500000 +0.312500 0.125000 0.500000 +0.312500 0.0625000 0.437500 +0.375000 0.0625000 0.437500 +0.312500 0.125000 0.437500 +0.375000 0.125000 0.437500 +0.312500 0.0625000 0.500000 +0.375000 0.0625000 0.500000 +0.312500 0.125000 0.500000 +0.375000 0.125000 0.500000 +0.625000 0.250000 0.375000 +0.687500 0.250000 0.375000 +0.625000 0.312500 0.375000 +0.687500 0.312500 0.375000 +0.625000 0.250000 0.437500 +0.687500 0.250000 0.437500 +0.625000 0.312500 0.437500 +0.687500 0.312500 0.437500 +0.625000 0.312500 0.375000 +0.687500 0.312500 0.375000 +0.625000 0.375000 0.375000 +0.687500 0.375000 0.375000 +0.625000 0.312500 0.437500 +0.687500 0.312500 0.437500 +0.625000 0.375000 0.437500 +0.687500 0.375000 0.437500 +0.687500 0.312500 0.375000 +0.750000 0.312500 0.375000 +0.687500 0.375000 0.375000 +0.750000 0.375000 0.375000 +0.687500 0.312500 0.437500 +0.750000 0.312500 0.437500 +0.687500 0.375000 0.437500 +0.750000 0.375000 0.437500 +0.625000 0.250000 0.437500 +0.687500 0.250000 0.437500 +0.625000 0.312500 0.437500 +0.687500 0.312500 0.437500 +0.625000 0.250000 0.500000 +0.687500 0.250000 0.500000 +0.625000 0.312500 0.500000 +0.687500 0.312500 0.500000 +0.687500 0.250000 0.437500 +0.750000 0.250000 0.437500 +0.687500 0.312500 0.437500 +0.750000 0.312500 0.437500 +0.687500 0.250000 0.500000 +0.750000 0.250000 0.500000 +0.687500 0.312500 0.500000 +0.750000 0.312500 0.500000 +0.625000 0.312500 0.437500 +0.687500 0.312500 0.437500 +0.625000 0.375000 0.437500 +0.687500 0.375000 0.437500 +0.625000 0.312500 0.500000 +0.687500 0.312500 0.500000 +0.625000 0.375000 0.500000 +0.687500 0.375000 0.500000 +0.687500 0.312500 0.437500 +0.750000 0.312500 0.437500 +0.687500 0.375000 0.437500 +0.750000 0.375000 0.437500 +0.687500 0.312500 0.500000 +0.750000 0.312500 0.500000 +0.687500 0.375000 0.500000 +0.750000 0.375000 0.500000 +0.250000 0.875000 0.375000 +0.312500 0.875000 0.375000 +0.250000 0.937500 0.375000 +0.312500 0.937500 0.375000 +0.250000 0.875000 0.437500 +0.312500 0.875000 0.437500 +0.250000 0.937500 0.437500 +0.312500 0.937500 0.437500 +0.312500 0.875000 0.375000 +0.375000 0.875000 0.375000 +0.312500 0.937500 0.375000 +0.375000 0.937500 0.375000 +0.312500 0.875000 0.437500 +0.375000 0.875000 0.437500 +0.312500 0.937500 0.437500 +0.375000 0.937500 0.437500 +0.312500 0.937500 0.375000 +0.375000 0.937500 0.375000 +0.312500 1.00000 0.375000 +0.375000 1.00000 0.375000 +0.312500 0.937500 0.437500 +0.375000 0.937500 0.437500 +0.312500 1.00000 0.437500 +0.375000 1.00000 0.437500 +0.250000 0.875000 0.437500 +0.312500 0.875000 0.437500 +0.250000 0.937500 0.437500 +0.312500 0.937500 0.437500 +0.250000 0.875000 0.500000 +0.312500 0.875000 0.500000 +0.250000 0.937500 0.500000 +0.312500 0.937500 0.500000 +0.312500 0.875000 0.437500 +0.375000 0.875000 0.437500 +0.312500 0.937500 0.437500 +0.375000 0.937500 0.437500 +0.312500 0.875000 0.500000 +0.375000 0.875000 0.500000 +0.312500 0.937500 0.500000 +0.375000 0.937500 0.500000 +0.250000 0.937500 0.437500 +0.312500 0.937500 0.437500 +0.250000 1.00000 0.437500 +0.312500 1.00000 0.437500 +0.250000 0.937500 0.500000 +0.312500 0.937500 0.500000 +0.250000 1.00000 0.500000 +0.312500 1.00000 0.500000 +0.312500 0.937500 0.437500 +0.375000 0.937500 0.437500 +0.312500 1.00000 0.437500 +0.375000 1.00000 0.437500 +0.312500 0.937500 0.500000 +0.375000 0.937500 0.500000 +0.312500 1.00000 0.500000 +0.375000 1.00000 0.500000 +0.125000 0.375000 0.125000 +0.187500 0.375000 0.125000 +0.125000 0.437500 0.125000 +0.187500 0.437500 0.125000 +0.125000 0.375000 0.187500 +0.187500 0.375000 0.187500 +0.125000 0.437500 0.187500 +0.187500 0.437500 0.187500 +0.187500 0.375000 0.125000 +0.250000 0.375000 0.125000 +0.187500 0.437500 0.125000 +0.250000 0.437500 0.125000 +0.187500 0.375000 0.187500 +0.250000 0.375000 0.187500 +0.187500 0.437500 0.187500 +0.250000 0.437500 0.187500 +0.125000 0.437500 0.125000 +0.187500 0.437500 0.125000 +0.125000 0.500000 0.125000 +0.187500 0.500000 0.125000 +0.125000 0.437500 0.187500 +0.187500 0.437500 0.187500 +0.125000 0.500000 0.187500 +0.187500 0.500000 0.187500 +0.187500 0.437500 0.125000 +0.250000 0.437500 0.125000 +0.187500 0.500000 0.125000 +0.250000 0.500000 0.125000 +0.187500 0.437500 0.187500 +0.250000 0.437500 0.187500 +0.187500 0.500000 0.187500 +0.250000 0.500000 0.187500 +0.125000 0.375000 0.187500 +0.187500 0.375000 0.187500 +0.125000 0.437500 0.187500 +0.187500 0.437500 0.187500 +0.125000 0.375000 0.250000 +0.187500 0.375000 0.250000 +0.125000 0.437500 0.250000 +0.187500 0.437500 0.250000 +0.187500 0.375000 0.187500 +0.250000 0.375000 0.187500 +0.187500 0.437500 0.187500 +0.250000 0.437500 0.187500 +0.187500 0.375000 0.250000 +0.250000 0.375000 0.250000 +0.187500 0.437500 0.250000 +0.250000 0.437500 0.250000 +0.125000 0.437500 0.187500 +0.187500 0.437500 0.187500 +0.125000 0.500000 0.187500 +0.187500 0.500000 0.187500 +0.125000 0.437500 0.250000 +0.187500 0.437500 0.250000 +0.125000 0.500000 0.250000 +0.187500 0.500000 0.250000 +0.187500 0.437500 0.187500 +0.250000 0.437500 0.187500 +0.187500 0.500000 0.187500 +0.250000 0.500000 0.187500 +0.187500 0.437500 0.250000 +0.250000 0.437500 0.250000 +0.187500 0.500000 0.250000 +0.250000 0.500000 0.250000 +0.250000 0.00000 0.250000 +0.312500 0.00000 0.250000 +0.250000 0.0625000 0.250000 +0.312500 0.0625000 0.250000 +0.250000 0.00000 0.312500 +0.312500 0.00000 0.312500 +0.250000 0.0625000 0.312500 +0.312500 0.0625000 0.312500 +0.312500 0.00000 0.250000 +0.375000 0.00000 0.250000 +0.312500 0.0625000 0.250000 +0.375000 0.0625000 0.250000 +0.312500 0.00000 0.312500 +0.375000 0.00000 0.312500 +0.312500 0.0625000 0.312500 +0.375000 0.0625000 0.312500 +0.250000 0.0625000 0.250000 +0.312500 0.0625000 0.250000 +0.250000 0.125000 0.250000 +0.312500 0.125000 0.250000 +0.250000 0.0625000 0.312500 +0.312500 0.0625000 0.312500 +0.250000 0.125000 0.312500 +0.312500 0.125000 0.312500 +0.312500 0.0625000 0.250000 +0.375000 0.0625000 0.250000 +0.312500 0.125000 0.250000 +0.375000 0.125000 0.250000 +0.312500 0.0625000 0.312500 +0.375000 0.0625000 0.312500 +0.312500 0.125000 0.312500 +0.375000 0.125000 0.312500 +0.250000 0.00000 0.312500 +0.312500 0.00000 0.312500 +0.250000 0.0625000 0.312500 +0.312500 0.0625000 0.312500 +0.250000 0.00000 0.375000 +0.312500 0.00000 0.375000 +0.250000 0.0625000 0.375000 +0.312500 0.0625000 0.375000 +0.312500 0.00000 0.312500 +0.375000 0.00000 0.312500 +0.312500 0.0625000 0.312500 +0.375000 0.0625000 0.312500 +0.312500 0.00000 0.375000 +0.375000 0.00000 0.375000 +0.312500 0.0625000 0.375000 +0.375000 0.0625000 0.375000 +0.250000 0.0625000 0.312500 +0.312500 0.0625000 0.312500 +0.250000 0.125000 0.312500 +0.312500 0.125000 0.312500 +0.250000 0.0625000 0.375000 +0.312500 0.0625000 0.375000 +0.250000 0.125000 0.375000 +0.312500 0.125000 0.375000 +0.312500 0.0625000 0.312500 +0.375000 0.0625000 0.312500 +0.312500 0.125000 0.312500 +0.375000 0.125000 0.312500 +0.312500 0.0625000 0.375000 +0.375000 0.0625000 0.375000 +0.312500 0.125000 0.375000 +0.375000 0.125000 0.375000 +0.625000 0.250000 0.250000 +0.687500 0.250000 0.250000 +0.625000 0.312500 0.250000 +0.687500 0.312500 0.250000 +0.625000 0.250000 0.312500 +0.687500 0.250000 0.312500 +0.625000 0.312500 0.312500 +0.687500 0.312500 0.312500 +0.687500 0.250000 0.250000 +0.750000 0.250000 0.250000 +0.687500 0.312500 0.250000 +0.750000 0.312500 0.250000 +0.687500 0.250000 0.312500 +0.750000 0.250000 0.312500 +0.687500 0.312500 0.312500 +0.750000 0.312500 0.312500 +0.625000 0.312500 0.250000 +0.687500 0.312500 0.250000 +0.625000 0.375000 0.250000 +0.687500 0.375000 0.250000 +0.625000 0.312500 0.312500 +0.687500 0.312500 0.312500 +0.625000 0.375000 0.312500 +0.687500 0.375000 0.312500 +0.687500 0.312500 0.250000 +0.750000 0.312500 0.250000 +0.687500 0.375000 0.250000 +0.750000 0.375000 0.250000 +0.687500 0.312500 0.312500 +0.750000 0.312500 0.312500 +0.687500 0.375000 0.312500 +0.750000 0.375000 0.312500 +0.625000 0.250000 0.312500 +0.687500 0.250000 0.312500 +0.625000 0.312500 0.312500 +0.687500 0.312500 0.312500 +0.625000 0.250000 0.375000 +0.687500 0.250000 0.375000 +0.625000 0.312500 0.375000 +0.687500 0.312500 0.375000 +0.687500 0.250000 0.312500 +0.750000 0.250000 0.312500 +0.687500 0.312500 0.312500 +0.750000 0.312500 0.312500 +0.687500 0.250000 0.375000 +0.750000 0.250000 0.375000 +0.687500 0.312500 0.375000 +0.750000 0.312500 0.375000 +0.625000 0.312500 0.312500 +0.687500 0.312500 0.312500 +0.625000 0.375000 0.312500 +0.687500 0.375000 0.312500 +0.625000 0.312500 0.375000 +0.687500 0.312500 0.375000 +0.625000 0.375000 0.375000 +0.687500 0.375000 0.375000 +0.687500 0.312500 0.312500 +0.750000 0.312500 0.312500 +0.687500 0.375000 0.312500 +0.750000 0.375000 0.312500 +0.687500 0.312500 0.375000 +0.750000 0.312500 0.375000 +0.687500 0.375000 0.375000 +0.750000 0.375000 0.375000 +0.250000 0.875000 0.250000 +0.312500 0.875000 0.250000 +0.250000 0.937500 0.250000 +0.312500 0.937500 0.250000 +0.250000 0.875000 0.312500 +0.312500 0.875000 0.312500 +0.250000 0.937500 0.312500 +0.312500 0.937500 0.312500 +0.312500 0.875000 0.250000 +0.375000 0.875000 0.250000 +0.312500 0.937500 0.250000 +0.375000 0.937500 0.250000 +0.312500 0.875000 0.312500 +0.375000 0.875000 0.312500 +0.312500 0.937500 0.312500 +0.375000 0.937500 0.312500 +0.250000 0.937500 0.250000 +0.312500 0.937500 0.250000 +0.250000 1.00000 0.250000 +0.312500 1.00000 0.250000 +0.250000 0.937500 0.312500 +0.312500 0.937500 0.312500 +0.250000 1.00000 0.312500 +0.312500 1.00000 0.312500 +0.312500 0.937500 0.250000 +0.375000 0.937500 0.250000 +0.312500 1.00000 0.250000 +0.375000 1.00000 0.250000 +0.312500 0.937500 0.312500 +0.375000 0.937500 0.312500 +0.312500 1.00000 0.312500 +0.375000 1.00000 0.312500 +0.250000 0.875000 0.312500 +0.312500 0.875000 0.312500 +0.250000 0.937500 0.312500 +0.312500 0.937500 0.312500 +0.250000 0.875000 0.375000 +0.312500 0.875000 0.375000 +0.250000 0.937500 0.375000 +0.312500 0.937500 0.375000 +0.312500 0.875000 0.312500 +0.375000 0.875000 0.312500 +0.312500 0.937500 0.312500 +0.375000 0.937500 0.312500 +0.312500 0.875000 0.375000 +0.375000 0.875000 0.375000 +0.312500 0.937500 0.375000 +0.375000 0.937500 0.375000 +0.250000 0.937500 0.312500 +0.312500 0.937500 0.312500 +0.250000 1.00000 0.312500 +0.312500 1.00000 0.312500 +0.250000 0.937500 0.375000 +0.312500 0.937500 0.375000 +0.250000 1.00000 0.375000 +0.312500 1.00000 0.375000 +0.312500 0.937500 0.312500 +0.375000 0.937500 0.312500 +0.312500 1.00000 0.312500 +0.375000 1.00000 0.312500 +0.312500 0.937500 0.375000 +0.375000 0.937500 0.375000 +0.312500 1.00000 0.375000 +0.375000 1.00000 0.375000 +0.375000 0.875000 0.250000 +0.437500 0.875000 0.250000 +0.375000 0.937500 0.250000 +0.437500 0.937500 0.250000 +0.375000 0.875000 0.312500 +0.437500 0.875000 0.312500 +0.375000 0.937500 0.312500 +0.437500 0.937500 0.312500 +0.437500 0.875000 0.250000 +0.500000 0.875000 0.250000 +0.437500 0.937500 0.250000 +0.500000 0.937500 0.250000 +0.437500 0.875000 0.312500 +0.500000 0.875000 0.312500 +0.437500 0.937500 0.312500 +0.500000 0.937500 0.312500 +0.375000 0.937500 0.250000 +0.437500 0.937500 0.250000 +0.375000 1.00000 0.250000 +0.437500 1.00000 0.250000 +0.375000 0.937500 0.312500 +0.437500 0.937500 0.312500 +0.375000 1.00000 0.312500 +0.437500 1.00000 0.312500 +0.437500 0.937500 0.250000 +0.500000 0.937500 0.250000 +0.437500 1.00000 0.250000 +0.500000 1.00000 0.250000 +0.437500 0.937500 0.312500 +0.500000 0.937500 0.312500 +0.437500 1.00000 0.312500 +0.500000 1.00000 0.312500 +0.375000 0.875000 0.312500 +0.437500 0.875000 0.312500 +0.375000 0.937500 0.312500 +0.437500 0.937500 0.312500 +0.375000 0.875000 0.375000 +0.437500 0.875000 0.375000 +0.375000 0.937500 0.375000 +0.437500 0.937500 0.375000 +0.437500 0.875000 0.312500 +0.500000 0.875000 0.312500 +0.437500 0.937500 0.312500 +0.500000 0.937500 0.312500 +0.437500 0.875000 0.375000 +0.500000 0.875000 0.375000 +0.437500 0.937500 0.375000 +0.500000 0.937500 0.375000 +0.375000 0.937500 0.312500 +0.437500 0.937500 0.312500 +0.375000 1.00000 0.312500 +0.437500 1.00000 0.312500 +0.375000 0.937500 0.375000 +0.437500 0.937500 0.375000 +0.375000 1.00000 0.375000 +0.437500 1.00000 0.375000 +0.437500 0.937500 0.312500 +0.500000 0.937500 0.312500 +0.437500 1.00000 0.312500 +0.500000 1.00000 0.312500 +0.437500 0.937500 0.375000 +0.500000 0.937500 0.375000 +0.437500 1.00000 0.375000 +0.500000 1.00000 0.375000 +0.125000 0.00000 0.125000 +0.187500 0.00000 0.125000 +0.125000 0.0625000 0.125000 +0.187500 0.0625000 0.125000 +0.125000 0.00000 0.187500 +0.187500 0.00000 0.187500 +0.125000 0.0625000 0.187500 +0.187500 0.0625000 0.187500 +0.187500 0.00000 0.125000 +0.250000 0.00000 0.125000 +0.187500 0.0625000 0.125000 +0.250000 0.0625000 0.125000 +0.187500 0.00000 0.187500 +0.250000 0.00000 0.187500 +0.187500 0.0625000 0.187500 +0.250000 0.0625000 0.187500 +0.125000 0.0625000 0.125000 +0.187500 0.0625000 0.125000 +0.125000 0.125000 0.125000 +0.187500 0.125000 0.125000 +0.125000 0.0625000 0.187500 +0.187500 0.0625000 0.187500 +0.125000 0.125000 0.187500 +0.187500 0.125000 0.187500 +0.187500 0.0625000 0.125000 +0.250000 0.0625000 0.125000 +0.187500 0.125000 0.125000 +0.250000 0.125000 0.125000 +0.187500 0.0625000 0.187500 +0.250000 0.0625000 0.187500 +0.187500 0.125000 0.187500 +0.250000 0.125000 0.187500 +0.125000 0.00000 0.187500 +0.187500 0.00000 0.187500 +0.125000 0.0625000 0.187500 +0.187500 0.0625000 0.187500 +0.125000 0.00000 0.250000 +0.187500 0.00000 0.250000 +0.125000 0.0625000 0.250000 +0.187500 0.0625000 0.250000 +0.187500 0.00000 0.187500 +0.250000 0.00000 0.187500 +0.187500 0.0625000 0.187500 +0.250000 0.0625000 0.187500 +0.187500 0.00000 0.250000 +0.250000 0.00000 0.250000 +0.187500 0.0625000 0.250000 +0.250000 0.0625000 0.250000 +0.125000 0.0625000 0.187500 +0.187500 0.0625000 0.187500 +0.125000 0.125000 0.187500 +0.187500 0.125000 0.187500 +0.125000 0.0625000 0.250000 +0.187500 0.0625000 0.250000 +0.125000 0.125000 0.250000 +0.187500 0.125000 0.250000 +0.187500 0.0625000 0.187500 +0.250000 0.0625000 0.187500 +0.187500 0.125000 0.187500 +0.250000 0.125000 0.187500 +0.187500 0.0625000 0.250000 +0.250000 0.0625000 0.250000 +0.187500 0.125000 0.250000 +0.250000 0.125000 0.250000 +0.250000 0.375000 0.125000 +0.312500 0.375000 0.125000 +0.250000 0.437500 0.125000 +0.312500 0.437500 0.125000 +0.250000 0.375000 0.187500 +0.312500 0.375000 0.187500 +0.250000 0.437500 0.187500 +0.312500 0.437500 0.187500 +0.312500 0.375000 0.125000 +0.375000 0.375000 0.125000 +0.312500 0.437500 0.125000 +0.375000 0.437500 0.125000 +0.312500 0.375000 0.187500 +0.375000 0.375000 0.187500 +0.312500 0.437500 0.187500 +0.375000 0.437500 0.187500 +0.250000 0.437500 0.125000 +0.312500 0.437500 0.125000 +0.250000 0.500000 0.125000 +0.312500 0.500000 0.125000 +0.250000 0.437500 0.187500 +0.312500 0.437500 0.187500 +0.250000 0.500000 0.187500 +0.312500 0.500000 0.187500 +0.312500 0.437500 0.125000 +0.375000 0.437500 0.125000 +0.312500 0.500000 0.125000 +0.375000 0.500000 0.125000 +0.312500 0.437500 0.187500 +0.375000 0.437500 0.187500 +0.312500 0.500000 0.187500 +0.375000 0.500000 0.187500 +0.250000 0.375000 0.187500 +0.312500 0.375000 0.187500 +0.250000 0.437500 0.187500 +0.312500 0.437500 0.187500 +0.250000 0.375000 0.250000 +0.312500 0.375000 0.250000 +0.250000 0.437500 0.250000 +0.312500 0.437500 0.250000 +0.312500 0.375000 0.187500 +0.375000 0.375000 0.187500 +0.312500 0.437500 0.187500 +0.375000 0.437500 0.187500 +0.312500 0.375000 0.250000 +0.375000 0.375000 0.250000 +0.312500 0.437500 0.250000 +0.375000 0.437500 0.250000 +0.250000 0.437500 0.187500 +0.312500 0.437500 0.187500 +0.250000 0.500000 0.187500 +0.312500 0.500000 0.187500 +0.250000 0.437500 0.250000 +0.312500 0.437500 0.250000 +0.250000 0.500000 0.250000 +0.312500 0.500000 0.250000 +0.312500 0.437500 0.187500 +0.375000 0.437500 0.187500 +0.312500 0.500000 0.187500 +0.375000 0.500000 0.187500 +0.312500 0.437500 0.250000 +0.375000 0.437500 0.250000 +0.312500 0.500000 0.250000 +0.375000 0.500000 0.250000 +0.125000 0.00000 0.250000 +0.187500 0.00000 0.250000 +0.125000 0.0625000 0.250000 +0.187500 0.0625000 0.250000 +0.125000 0.00000 0.312500 +0.187500 0.00000 0.312500 +0.125000 0.0625000 0.312500 +0.187500 0.0625000 0.312500 +0.187500 0.00000 0.250000 +0.250000 0.00000 0.250000 +0.187500 0.0625000 0.250000 +0.250000 0.0625000 0.250000 +0.187500 0.00000 0.312500 +0.250000 0.00000 0.312500 +0.187500 0.0625000 0.312500 +0.250000 0.0625000 0.312500 +0.125000 0.0625000 0.250000 +0.187500 0.0625000 0.250000 +0.125000 0.125000 0.250000 +0.187500 0.125000 0.250000 +0.125000 0.0625000 0.312500 +0.187500 0.0625000 0.312500 +0.125000 0.125000 0.312500 +0.187500 0.125000 0.312500 +0.187500 0.0625000 0.250000 +0.250000 0.0625000 0.250000 +0.187500 0.125000 0.250000 +0.250000 0.125000 0.250000 +0.187500 0.0625000 0.312500 +0.250000 0.0625000 0.312500 +0.187500 0.125000 0.312500 +0.250000 0.125000 0.312500 +0.125000 0.00000 0.312500 +0.187500 0.00000 0.312500 +0.125000 0.0625000 0.312500 +0.187500 0.0625000 0.312500 +0.125000 0.00000 0.375000 +0.187500 0.00000 0.375000 +0.125000 0.0625000 0.375000 +0.187500 0.0625000 0.375000 +0.187500 0.00000 0.312500 +0.250000 0.00000 0.312500 +0.187500 0.0625000 0.312500 +0.250000 0.0625000 0.312500 +0.187500 0.00000 0.375000 +0.250000 0.00000 0.375000 +0.187500 0.0625000 0.375000 +0.250000 0.0625000 0.375000 +0.125000 0.0625000 0.312500 +0.187500 0.0625000 0.312500 +0.125000 0.125000 0.312500 +0.187500 0.125000 0.312500 +0.125000 0.0625000 0.375000 +0.187500 0.0625000 0.375000 +0.125000 0.125000 0.375000 +0.187500 0.125000 0.375000 +0.187500 0.0625000 0.312500 +0.250000 0.0625000 0.312500 +0.187500 0.125000 0.312500 +0.250000 0.125000 0.312500 +0.187500 0.0625000 0.375000 +0.250000 0.0625000 0.375000 +0.187500 0.125000 0.375000 +0.250000 0.125000 0.375000 +0.125000 0.00000 0.375000 +0.187500 0.00000 0.375000 +0.125000 0.0625000 0.375000 +0.187500 0.0625000 0.375000 +0.125000 0.00000 0.437500 +0.187500 0.00000 0.437500 +0.125000 0.0625000 0.437500 +0.187500 0.0625000 0.437500 +0.187500 0.00000 0.375000 +0.250000 0.00000 0.375000 +0.187500 0.0625000 0.375000 +0.250000 0.0625000 0.375000 +0.187500 0.00000 0.437500 +0.250000 0.00000 0.437500 +0.187500 0.0625000 0.437500 +0.250000 0.0625000 0.437500 +0.125000 0.0625000 0.375000 +0.187500 0.0625000 0.375000 +0.125000 0.125000 0.375000 +0.187500 0.125000 0.375000 +0.125000 0.0625000 0.437500 +0.187500 0.0625000 0.437500 +0.125000 0.125000 0.437500 +0.187500 0.125000 0.437500 +0.187500 0.0625000 0.375000 +0.250000 0.0625000 0.375000 +0.187500 0.125000 0.375000 +0.250000 0.125000 0.375000 +0.187500 0.0625000 0.437500 +0.250000 0.0625000 0.437500 +0.187500 0.125000 0.437500 +0.250000 0.125000 0.437500 +0.125000 0.00000 0.437500 +0.187500 0.00000 0.437500 +0.125000 0.0625000 0.437500 +0.187500 0.0625000 0.437500 +0.125000 0.00000 0.500000 +0.187500 0.00000 0.500000 +0.125000 0.0625000 0.500000 +0.187500 0.0625000 0.500000 +0.187500 0.00000 0.437500 +0.250000 0.00000 0.437500 +0.187500 0.0625000 0.437500 +0.250000 0.0625000 0.437500 +0.187500 0.00000 0.500000 +0.250000 0.00000 0.500000 +0.187500 0.0625000 0.500000 +0.250000 0.0625000 0.500000 +0.125000 0.0625000 0.437500 +0.187500 0.0625000 0.437500 +0.125000 0.125000 0.437500 +0.187500 0.125000 0.437500 +0.125000 0.0625000 0.500000 +0.187500 0.0625000 0.500000 +0.125000 0.125000 0.500000 +0.187500 0.125000 0.500000 +0.187500 0.0625000 0.437500 +0.250000 0.0625000 0.437500 +0.187500 0.125000 0.437500 +0.250000 0.125000 0.437500 +0.187500 0.0625000 0.500000 +0.250000 0.0625000 0.500000 +0.187500 0.125000 0.500000 +0.250000 0.125000 0.500000 +0.125000 0.125000 0.375000 +0.187500 0.125000 0.375000 +0.125000 0.187500 0.375000 +0.187500 0.187500 0.375000 +0.125000 0.125000 0.437500 +0.187500 0.125000 0.437500 +0.125000 0.187500 0.437500 +0.187500 0.187500 0.437500 +0.187500 0.125000 0.375000 +0.250000 0.125000 0.375000 +0.187500 0.187500 0.375000 +0.250000 0.187500 0.375000 +0.187500 0.125000 0.437500 +0.250000 0.125000 0.437500 +0.187500 0.187500 0.437500 +0.250000 0.187500 0.437500 +0.125000 0.187500 0.375000 +0.187500 0.187500 0.375000 +0.125000 0.250000 0.375000 +0.187500 0.250000 0.375000 +0.125000 0.187500 0.437500 +0.187500 0.187500 0.437500 +0.125000 0.250000 0.437500 +0.187500 0.250000 0.437500 +0.187500 0.187500 0.375000 +0.250000 0.187500 0.375000 +0.187500 0.250000 0.375000 +0.250000 0.250000 0.375000 +0.187500 0.187500 0.437500 +0.250000 0.187500 0.437500 +0.187500 0.250000 0.437500 +0.250000 0.250000 0.437500 +0.125000 0.125000 0.437500 +0.187500 0.125000 0.437500 +0.125000 0.187500 0.437500 +0.187500 0.187500 0.437500 +0.125000 0.125000 0.500000 +0.187500 0.125000 0.500000 +0.125000 0.187500 0.500000 +0.187500 0.187500 0.500000 +0.187500 0.125000 0.437500 +0.250000 0.125000 0.437500 +0.187500 0.187500 0.437500 +0.250000 0.187500 0.437500 +0.187500 0.125000 0.500000 +0.250000 0.125000 0.500000 +0.187500 0.187500 0.500000 +0.250000 0.187500 0.500000 +0.125000 0.187500 0.437500 +0.187500 0.187500 0.437500 +0.125000 0.250000 0.437500 +0.187500 0.250000 0.437500 +0.125000 0.187500 0.500000 +0.187500 0.187500 0.500000 +0.125000 0.250000 0.500000 +0.187500 0.250000 0.500000 +0.187500 0.187500 0.437500 +0.250000 0.187500 0.437500 +0.187500 0.250000 0.437500 +0.250000 0.250000 0.437500 +0.187500 0.187500 0.500000 +0.250000 0.187500 0.500000 +0.187500 0.250000 0.500000 +0.250000 0.250000 0.500000 +0.500000 0.00000 0.250000 +0.562500 0.00000 0.250000 +0.500000 0.0625000 0.250000 +0.562500 0.0625000 0.250000 +0.500000 0.00000 0.312500 +0.562500 0.00000 0.312500 +0.500000 0.0625000 0.312500 +0.562500 0.0625000 0.312500 +0.562500 0.00000 0.250000 +0.625000 0.00000 0.250000 +0.562500 0.0625000 0.250000 +0.625000 0.0625000 0.250000 +0.562500 0.00000 0.312500 +0.625000 0.00000 0.312500 +0.562500 0.0625000 0.312500 +0.625000 0.0625000 0.312500 +0.500000 0.0625000 0.250000 +0.562500 0.0625000 0.250000 +0.500000 0.125000 0.250000 +0.562500 0.125000 0.250000 +0.500000 0.0625000 0.312500 +0.562500 0.0625000 0.312500 +0.500000 0.125000 0.312500 +0.562500 0.125000 0.312500 +0.562500 0.0625000 0.250000 +0.625000 0.0625000 0.250000 +0.562500 0.125000 0.250000 +0.625000 0.125000 0.250000 +0.562500 0.0625000 0.312500 +0.625000 0.0625000 0.312500 +0.562500 0.125000 0.312500 +0.625000 0.125000 0.312500 +0.500000 0.00000 0.312500 +0.562500 0.00000 0.312500 +0.500000 0.0625000 0.312500 +0.562500 0.0625000 0.312500 +0.500000 0.00000 0.375000 +0.562500 0.00000 0.375000 +0.500000 0.0625000 0.375000 +0.562500 0.0625000 0.375000 +0.562500 0.00000 0.312500 +0.625000 0.00000 0.312500 +0.562500 0.0625000 0.312500 +0.625000 0.0625000 0.312500 +0.562500 0.00000 0.375000 +0.625000 0.00000 0.375000 +0.562500 0.0625000 0.375000 +0.625000 0.0625000 0.375000 +0.500000 0.0625000 0.312500 +0.562500 0.0625000 0.312500 +0.500000 0.125000 0.312500 +0.562500 0.125000 0.312500 +0.500000 0.0625000 0.375000 +0.562500 0.0625000 0.375000 +0.500000 0.125000 0.375000 +0.562500 0.125000 0.375000 +0.562500 0.0625000 0.312500 +0.625000 0.0625000 0.312500 +0.562500 0.125000 0.312500 +0.625000 0.125000 0.312500 +0.562500 0.0625000 0.375000 +0.625000 0.0625000 0.375000 +0.562500 0.125000 0.375000 +0.625000 0.125000 0.375000 +0.625000 0.125000 0.250000 +0.687500 0.125000 0.250000 +0.625000 0.187500 0.250000 +0.687500 0.187500 0.250000 +0.625000 0.125000 0.312500 +0.687500 0.125000 0.312500 +0.625000 0.187500 0.312500 +0.687500 0.187500 0.312500 +0.687500 0.125000 0.250000 +0.750000 0.125000 0.250000 +0.687500 0.187500 0.250000 +0.750000 0.187500 0.250000 +0.687500 0.125000 0.312500 +0.750000 0.125000 0.312500 +0.687500 0.187500 0.312500 +0.750000 0.187500 0.312500 +0.625000 0.187500 0.250000 +0.687500 0.187500 0.250000 +0.625000 0.250000 0.250000 +0.687500 0.250000 0.250000 +0.625000 0.187500 0.312500 +0.687500 0.187500 0.312500 +0.625000 0.250000 0.312500 +0.687500 0.250000 0.312500 +0.687500 0.187500 0.250000 +0.750000 0.187500 0.250000 +0.687500 0.250000 0.250000 +0.750000 0.250000 0.250000 +0.687500 0.187500 0.312500 +0.750000 0.187500 0.312500 +0.687500 0.250000 0.312500 +0.750000 0.250000 0.312500 +0.625000 0.125000 0.312500 +0.687500 0.125000 0.312500 +0.625000 0.187500 0.312500 +0.687500 0.187500 0.312500 +0.625000 0.125000 0.375000 +0.687500 0.125000 0.375000 +0.625000 0.187500 0.375000 +0.687500 0.187500 0.375000 +0.687500 0.125000 0.312500 +0.750000 0.125000 0.312500 +0.687500 0.187500 0.312500 +0.750000 0.187500 0.312500 +0.687500 0.125000 0.375000 +0.750000 0.125000 0.375000 +0.687500 0.187500 0.375000 +0.750000 0.187500 0.375000 +0.625000 0.187500 0.312500 +0.687500 0.187500 0.312500 +0.625000 0.250000 0.312500 +0.687500 0.250000 0.312500 +0.625000 0.187500 0.375000 +0.687500 0.187500 0.375000 +0.625000 0.250000 0.375000 +0.687500 0.250000 0.375000 +0.687500 0.187500 0.312500 +0.750000 0.187500 0.312500 +0.687500 0.250000 0.312500 +0.750000 0.250000 0.312500 +0.687500 0.187500 0.375000 +0.750000 0.187500 0.375000 +0.687500 0.250000 0.375000 +0.750000 0.250000 0.375000 +0.625000 0.125000 0.375000 +0.687500 0.125000 0.375000 +0.625000 0.187500 0.375000 +0.687500 0.187500 0.375000 +0.625000 0.125000 0.437500 +0.687500 0.125000 0.437500 +0.625000 0.187500 0.437500 +0.687500 0.187500 0.437500 +0.687500 0.125000 0.375000 +0.750000 0.125000 0.375000 +0.687500 0.187500 0.375000 +0.750000 0.187500 0.375000 +0.687500 0.125000 0.437500 +0.750000 0.125000 0.437500 +0.687500 0.187500 0.437500 +0.750000 0.187500 0.437500 +0.625000 0.187500 0.375000 +0.687500 0.187500 0.375000 +0.625000 0.250000 0.375000 +0.687500 0.250000 0.375000 +0.625000 0.187500 0.437500 +0.687500 0.187500 0.437500 +0.625000 0.250000 0.437500 +0.687500 0.250000 0.437500 +0.687500 0.187500 0.375000 +0.750000 0.187500 0.375000 +0.687500 0.250000 0.375000 +0.750000 0.250000 0.375000 +0.687500 0.187500 0.437500 +0.750000 0.187500 0.437500 +0.687500 0.250000 0.437500 +0.750000 0.250000 0.437500 +0.625000 0.125000 0.437500 +0.687500 0.125000 0.437500 +0.625000 0.187500 0.437500 +0.687500 0.187500 0.437500 +0.625000 0.125000 0.500000 +0.687500 0.125000 0.500000 +0.625000 0.187500 0.500000 +0.687500 0.187500 0.500000 +0.687500 0.125000 0.437500 +0.750000 0.125000 0.437500 +0.687500 0.187500 0.437500 +0.750000 0.187500 0.437500 +0.687500 0.125000 0.500000 +0.750000 0.125000 0.500000 +0.687500 0.187500 0.500000 +0.750000 0.187500 0.500000 +0.625000 0.187500 0.437500 +0.687500 0.187500 0.437500 +0.625000 0.250000 0.437500 +0.687500 0.250000 0.437500 +0.625000 0.187500 0.500000 +0.687500 0.187500 0.500000 +0.625000 0.250000 0.500000 +0.687500 0.250000 0.500000 +0.687500 0.187500 0.437500 +0.750000 0.187500 0.437500 +0.687500 0.250000 0.437500 +0.750000 0.250000 0.437500 +0.687500 0.187500 0.500000 +0.750000 0.187500 0.500000 +0.687500 0.250000 0.500000 +0.750000 0.250000 0.500000 +0.875000 0.00000 0.250000 +0.937500 0.00000 0.250000 +0.875000 0.0625000 0.250000 +0.937500 0.0625000 0.250000 +0.875000 0.00000 0.312500 +0.937500 0.00000 0.312500 +0.875000 0.0625000 0.312500 +0.937500 0.0625000 0.312500 +0.937500 0.00000 0.250000 +1.00000 0.00000 0.250000 +0.937500 0.0625000 0.250000 +1.00000 0.0625000 0.250000 +0.937500 0.00000 0.312500 +1.00000 0.00000 0.312500 +0.937500 0.0625000 0.312500 +1.00000 0.0625000 0.312500 +0.875000 0.0625000 0.250000 +0.937500 0.0625000 0.250000 +0.875000 0.125000 0.250000 +0.937500 0.125000 0.250000 +0.875000 0.0625000 0.312500 +0.937500 0.0625000 0.312500 +0.875000 0.125000 0.312500 +0.937500 0.125000 0.312500 +0.937500 0.0625000 0.250000 +1.00000 0.0625000 0.250000 +0.937500 0.125000 0.250000 +1.00000 0.125000 0.250000 +0.937500 0.0625000 0.312500 +1.00000 0.0625000 0.312500 +0.937500 0.125000 0.312500 +1.00000 0.125000 0.312500 +0.875000 0.00000 0.312500 +0.937500 0.00000 0.312500 +0.875000 0.0625000 0.312500 +0.937500 0.0625000 0.312500 +0.875000 0.00000 0.375000 +0.937500 0.00000 0.375000 +0.875000 0.0625000 0.375000 +0.937500 0.0625000 0.375000 +0.937500 0.00000 0.312500 +1.00000 0.00000 0.312500 +0.937500 0.0625000 0.312500 +1.00000 0.0625000 0.312500 +0.937500 0.00000 0.375000 +1.00000 0.00000 0.375000 +0.937500 0.0625000 0.375000 +1.00000 0.0625000 0.375000 +0.875000 0.0625000 0.312500 +0.937500 0.0625000 0.312500 +0.875000 0.125000 0.312500 +0.937500 0.125000 0.312500 +0.875000 0.0625000 0.375000 +0.937500 0.0625000 0.375000 +0.875000 0.125000 0.375000 +0.937500 0.125000 0.375000 +0.937500 0.0625000 0.312500 +1.00000 0.0625000 0.312500 +0.937500 0.125000 0.312500 +1.00000 0.125000 0.312500 +0.937500 0.0625000 0.375000 +1.00000 0.0625000 0.375000 +0.937500 0.125000 0.375000 +1.00000 0.125000 0.375000 +0.750000 0.125000 0.375000 +0.812500 0.125000 0.375000 +0.750000 0.187500 0.375000 +0.812500 0.187500 0.375000 +0.750000 0.125000 0.437500 +0.812500 0.125000 0.437500 +0.750000 0.187500 0.437500 +0.812500 0.187500 0.437500 +0.812500 0.125000 0.375000 +0.875000 0.125000 0.375000 +0.812500 0.187500 0.375000 +0.875000 0.187500 0.375000 +0.812500 0.125000 0.437500 +0.875000 0.125000 0.437500 +0.812500 0.187500 0.437500 +0.875000 0.187500 0.437500 +0.750000 0.187500 0.375000 +0.812500 0.187500 0.375000 +0.750000 0.250000 0.375000 +0.812500 0.250000 0.375000 +0.750000 0.187500 0.437500 +0.812500 0.187500 0.437500 +0.750000 0.250000 0.437500 +0.812500 0.250000 0.437500 +0.812500 0.187500 0.375000 +0.875000 0.187500 0.375000 +0.812500 0.250000 0.375000 +0.875000 0.250000 0.375000 +0.812500 0.187500 0.437500 +0.875000 0.187500 0.437500 +0.812500 0.250000 0.437500 +0.875000 0.250000 0.437500 +0.750000 0.125000 0.437500 +0.812500 0.125000 0.437500 +0.750000 0.187500 0.437500 +0.812500 0.187500 0.437500 +0.750000 0.125000 0.500000 +0.812500 0.125000 0.500000 +0.750000 0.187500 0.500000 +0.812500 0.187500 0.500000 +0.812500 0.125000 0.437500 +0.875000 0.125000 0.437500 +0.812500 0.187500 0.437500 +0.875000 0.187500 0.437500 +0.812500 0.125000 0.500000 +0.875000 0.125000 0.500000 +0.812500 0.187500 0.500000 +0.875000 0.187500 0.500000 +0.750000 0.187500 0.437500 +0.812500 0.187500 0.437500 +0.750000 0.250000 0.437500 +0.812500 0.250000 0.437500 +0.750000 0.187500 0.500000 +0.812500 0.187500 0.500000 +0.750000 0.250000 0.500000 +0.812500 0.250000 0.500000 +0.812500 0.187500 0.437500 +0.875000 0.187500 0.437500 +0.812500 0.250000 0.437500 +0.875000 0.250000 0.437500 +0.812500 0.187500 0.500000 +0.875000 0.187500 0.500000 +0.812500 0.250000 0.500000 +0.875000 0.250000 0.500000 +0.750000 0.250000 0.250000 +0.812500 0.250000 0.250000 +0.750000 0.312500 0.250000 +0.812500 0.312500 0.250000 +0.750000 0.250000 0.312500 +0.812500 0.250000 0.312500 +0.750000 0.312500 0.312500 +0.812500 0.312500 0.312500 +0.812500 0.250000 0.250000 +0.875000 0.250000 0.250000 +0.812500 0.312500 0.250000 +0.875000 0.312500 0.250000 +0.812500 0.250000 0.312500 +0.875000 0.250000 0.312500 +0.812500 0.312500 0.312500 +0.875000 0.312500 0.312500 +0.750000 0.312500 0.250000 +0.812500 0.312500 0.250000 +0.750000 0.375000 0.250000 +0.812500 0.375000 0.250000 +0.750000 0.312500 0.312500 +0.812500 0.312500 0.312500 +0.750000 0.375000 0.312500 +0.812500 0.375000 0.312500 +0.812500 0.312500 0.250000 +0.875000 0.312500 0.250000 +0.812500 0.375000 0.250000 +0.875000 0.375000 0.250000 +0.812500 0.312500 0.312500 +0.875000 0.312500 0.312500 +0.812500 0.375000 0.312500 +0.875000 0.375000 0.312500 +0.750000 0.250000 0.312500 +0.812500 0.250000 0.312500 +0.750000 0.312500 0.312500 +0.812500 0.312500 0.312500 +0.750000 0.250000 0.375000 +0.812500 0.250000 0.375000 +0.750000 0.312500 0.375000 +0.812500 0.312500 0.375000 +0.812500 0.250000 0.312500 +0.875000 0.250000 0.312500 +0.812500 0.312500 0.312500 +0.875000 0.312500 0.312500 +0.812500 0.250000 0.375000 +0.875000 0.250000 0.375000 +0.812500 0.312500 0.375000 +0.875000 0.312500 0.375000 +0.750000 0.312500 0.312500 +0.812500 0.312500 0.312500 +0.750000 0.375000 0.312500 +0.812500 0.375000 0.312500 +0.750000 0.312500 0.375000 +0.812500 0.312500 0.375000 +0.750000 0.375000 0.375000 +0.812500 0.375000 0.375000 +0.812500 0.312500 0.312500 +0.875000 0.312500 0.312500 +0.812500 0.375000 0.312500 +0.875000 0.375000 0.312500 +0.812500 0.312500 0.375000 +0.875000 0.312500 0.375000 +0.812500 0.375000 0.375000 +0.875000 0.375000 0.375000 +0.750000 0.375000 0.250000 +0.812500 0.375000 0.250000 +0.750000 0.437500 0.250000 +0.812500 0.437500 0.250000 +0.750000 0.375000 0.312500 +0.812500 0.375000 0.312500 +0.750000 0.437500 0.312500 +0.812500 0.437500 0.312500 +0.812500 0.375000 0.250000 +0.875000 0.375000 0.250000 +0.812500 0.437500 0.250000 +0.875000 0.437500 0.250000 +0.812500 0.375000 0.312500 +0.875000 0.375000 0.312500 +0.812500 0.437500 0.312500 +0.875000 0.437500 0.312500 +0.750000 0.437500 0.250000 +0.812500 0.437500 0.250000 +0.750000 0.500000 0.250000 +0.812500 0.500000 0.250000 +0.750000 0.437500 0.312500 +0.812500 0.437500 0.312500 +0.750000 0.500000 0.312500 +0.812500 0.500000 0.312500 +0.812500 0.437500 0.250000 +0.875000 0.437500 0.250000 +0.812500 0.500000 0.250000 +0.875000 0.500000 0.250000 +0.812500 0.437500 0.312500 +0.875000 0.437500 0.312500 +0.812500 0.500000 0.312500 +0.875000 0.500000 0.312500 +0.750000 0.375000 0.312500 +0.812500 0.375000 0.312500 +0.750000 0.437500 0.312500 +0.812500 0.437500 0.312500 +0.750000 0.375000 0.375000 +0.812500 0.375000 0.375000 +0.750000 0.437500 0.375000 +0.812500 0.437500 0.375000 +0.812500 0.375000 0.312500 +0.875000 0.375000 0.312500 +0.812500 0.437500 0.312500 +0.875000 0.437500 0.312500 +0.812500 0.375000 0.375000 +0.875000 0.375000 0.375000 +0.812500 0.437500 0.375000 +0.875000 0.437500 0.375000 +0.750000 0.437500 0.312500 +0.812500 0.437500 0.312500 +0.750000 0.500000 0.312500 +0.812500 0.500000 0.312500 +0.750000 0.437500 0.375000 +0.812500 0.437500 0.375000 +0.750000 0.500000 0.375000 +0.812500 0.500000 0.375000 +0.812500 0.437500 0.312500 +0.875000 0.437500 0.312500 +0.812500 0.500000 0.312500 +0.875000 0.500000 0.312500 +0.812500 0.437500 0.375000 +0.875000 0.437500 0.375000 +0.812500 0.500000 0.375000 +0.875000 0.500000 0.375000 +0.750000 0.250000 0.375000 +0.812500 0.250000 0.375000 +0.750000 0.312500 0.375000 +0.812500 0.312500 0.375000 +0.750000 0.250000 0.437500 +0.812500 0.250000 0.437500 +0.750000 0.312500 0.437500 +0.812500 0.312500 0.437500 +0.812500 0.250000 0.375000 +0.875000 0.250000 0.375000 +0.812500 0.312500 0.375000 +0.875000 0.312500 0.375000 +0.812500 0.250000 0.437500 +0.875000 0.250000 0.437500 +0.812500 0.312500 0.437500 +0.875000 0.312500 0.437500 +0.750000 0.312500 0.375000 +0.812500 0.312500 0.375000 +0.750000 0.375000 0.375000 +0.812500 0.375000 0.375000 +0.750000 0.312500 0.437500 +0.812500 0.312500 0.437500 +0.750000 0.375000 0.437500 +0.812500 0.375000 0.437500 +0.812500 0.312500 0.375000 +0.875000 0.312500 0.375000 +0.812500 0.375000 0.375000 +0.875000 0.375000 0.375000 +0.812500 0.312500 0.437500 +0.875000 0.312500 0.437500 +0.812500 0.375000 0.437500 +0.875000 0.375000 0.437500 +0.750000 0.250000 0.437500 +0.812500 0.250000 0.437500 +0.750000 0.312500 0.437500 +0.812500 0.312500 0.437500 +0.750000 0.250000 0.500000 +0.812500 0.250000 0.500000 +0.750000 0.312500 0.500000 +0.812500 0.312500 0.500000 +0.812500 0.250000 0.437500 +0.875000 0.250000 0.437500 +0.812500 0.312500 0.437500 +0.875000 0.312500 0.437500 +0.812500 0.250000 0.500000 +0.875000 0.250000 0.500000 +0.812500 0.312500 0.500000 +0.875000 0.312500 0.500000 +0.750000 0.312500 0.437500 +0.812500 0.312500 0.437500 +0.750000 0.375000 0.437500 +0.812500 0.375000 0.437500 +0.750000 0.312500 0.500000 +0.812500 0.312500 0.500000 +0.750000 0.375000 0.500000 +0.812500 0.375000 0.500000 +0.812500 0.312500 0.437500 +0.875000 0.312500 0.437500 +0.812500 0.375000 0.437500 +0.875000 0.375000 0.437500 +0.812500 0.312500 0.500000 +0.875000 0.312500 0.500000 +0.812500 0.375000 0.500000 +0.875000 0.375000 0.500000 +0.125000 0.625000 0.00000 +0.187500 0.625000 0.00000 +0.125000 0.687500 0.00000 +0.187500 0.687500 0.00000 +0.125000 0.625000 0.0625000 +0.187500 0.625000 0.0625000 +0.125000 0.687500 0.0625000 +0.187500 0.687500 0.0625000 +0.187500 0.625000 0.00000 +0.250000 0.625000 0.00000 +0.187500 0.687500 0.00000 +0.250000 0.687500 0.00000 +0.187500 0.625000 0.0625000 +0.250000 0.625000 0.0625000 +0.187500 0.687500 0.0625000 +0.250000 0.687500 0.0625000 +0.125000 0.687500 0.00000 +0.187500 0.687500 0.00000 +0.125000 0.750000 0.00000 +0.187500 0.750000 0.00000 +0.125000 0.687500 0.0625000 +0.187500 0.687500 0.0625000 +0.125000 0.750000 0.0625000 +0.187500 0.750000 0.0625000 +0.187500 0.687500 0.00000 +0.250000 0.687500 0.00000 +0.187500 0.750000 0.00000 +0.250000 0.750000 0.00000 +0.187500 0.687500 0.0625000 +0.250000 0.687500 0.0625000 +0.187500 0.750000 0.0625000 +0.250000 0.750000 0.0625000 +0.125000 0.625000 0.0625000 +0.187500 0.625000 0.0625000 +0.125000 0.687500 0.0625000 +0.187500 0.687500 0.0625000 +0.125000 0.625000 0.125000 +0.187500 0.625000 0.125000 +0.125000 0.687500 0.125000 +0.187500 0.687500 0.125000 +0.187500 0.625000 0.0625000 +0.250000 0.625000 0.0625000 +0.187500 0.687500 0.0625000 +0.250000 0.687500 0.0625000 +0.187500 0.625000 0.125000 +0.250000 0.625000 0.125000 +0.187500 0.687500 0.125000 +0.250000 0.687500 0.125000 +0.125000 0.687500 0.0625000 +0.187500 0.687500 0.0625000 +0.125000 0.750000 0.0625000 +0.187500 0.750000 0.0625000 +0.125000 0.687500 0.125000 +0.187500 0.687500 0.125000 +0.125000 0.750000 0.125000 +0.187500 0.750000 0.125000 +0.187500 0.687500 0.0625000 +0.250000 0.687500 0.0625000 +0.187500 0.750000 0.0625000 +0.250000 0.750000 0.0625000 +0.187500 0.687500 0.125000 +0.250000 0.687500 0.125000 +0.187500 0.750000 0.125000 +0.250000 0.750000 0.125000 +0.250000 0.500000 0.125000 +0.312500 0.500000 0.125000 +0.250000 0.562500 0.125000 +0.312500 0.562500 0.125000 +0.250000 0.500000 0.187500 +0.312500 0.500000 0.187500 +0.250000 0.562500 0.187500 +0.312500 0.562500 0.187500 +0.312500 0.500000 0.125000 +0.375000 0.500000 0.125000 +0.312500 0.562500 0.125000 +0.375000 0.562500 0.125000 +0.312500 0.500000 0.187500 +0.375000 0.500000 0.187500 +0.312500 0.562500 0.187500 +0.375000 0.562500 0.187500 +0.250000 0.562500 0.125000 +0.312500 0.562500 0.125000 +0.250000 0.625000 0.125000 +0.312500 0.625000 0.125000 +0.250000 0.562500 0.187500 +0.312500 0.562500 0.187500 +0.250000 0.625000 0.187500 +0.312500 0.625000 0.187500 +0.312500 0.562500 0.125000 +0.375000 0.562500 0.125000 +0.312500 0.625000 0.125000 +0.375000 0.625000 0.125000 +0.312500 0.562500 0.187500 +0.375000 0.562500 0.187500 +0.312500 0.625000 0.187500 +0.375000 0.625000 0.187500 +0.250000 0.500000 0.187500 +0.312500 0.500000 0.187500 +0.250000 0.562500 0.187500 +0.312500 0.562500 0.187500 +0.250000 0.500000 0.250000 +0.312500 0.500000 0.250000 +0.250000 0.562500 0.250000 +0.312500 0.562500 0.250000 +0.312500 0.500000 0.187500 +0.375000 0.500000 0.187500 +0.312500 0.562500 0.187500 +0.375000 0.562500 0.187500 +0.312500 0.500000 0.250000 +0.375000 0.500000 0.250000 +0.312500 0.562500 0.250000 +0.375000 0.562500 0.250000 +0.250000 0.562500 0.187500 +0.312500 0.562500 0.187500 +0.250000 0.625000 0.187500 +0.312500 0.625000 0.187500 +0.250000 0.562500 0.250000 +0.312500 0.562500 0.250000 +0.250000 0.625000 0.250000 +0.312500 0.625000 0.250000 +0.312500 0.562500 0.187500 +0.375000 0.562500 0.187500 +0.312500 0.625000 0.187500 +0.375000 0.625000 0.187500 +0.312500 0.562500 0.250000 +0.375000 0.562500 0.250000 +0.312500 0.625000 0.250000 +0.375000 0.625000 0.250000 +0.375000 0.500000 0.375000 +0.437500 0.500000 0.375000 +0.375000 0.562500 0.375000 +0.437500 0.562500 0.375000 +0.375000 0.500000 0.437500 +0.437500 0.500000 0.437500 +0.375000 0.562500 0.437500 +0.437500 0.562500 0.437500 +0.437500 0.500000 0.375000 +0.500000 0.500000 0.375000 +0.437500 0.562500 0.375000 +0.500000 0.562500 0.375000 +0.437500 0.500000 0.437500 +0.500000 0.500000 0.437500 +0.437500 0.562500 0.437500 +0.500000 0.562500 0.437500 +0.375000 0.562500 0.375000 +0.437500 0.562500 0.375000 +0.375000 0.625000 0.375000 +0.437500 0.625000 0.375000 +0.375000 0.562500 0.437500 +0.437500 0.562500 0.437500 +0.375000 0.625000 0.437500 +0.437500 0.625000 0.437500 +0.437500 0.562500 0.375000 +0.500000 0.562500 0.375000 +0.437500 0.625000 0.375000 +0.500000 0.625000 0.375000 +0.437500 0.562500 0.437500 +0.500000 0.562500 0.437500 +0.437500 0.625000 0.437500 +0.500000 0.625000 0.437500 +0.375000 0.500000 0.437500 +0.437500 0.500000 0.437500 +0.375000 0.562500 0.437500 +0.437500 0.562500 0.437500 +0.375000 0.500000 0.500000 +0.437500 0.500000 0.500000 +0.375000 0.562500 0.500000 +0.437500 0.562500 0.500000 +0.437500 0.500000 0.437500 +0.500000 0.500000 0.437500 +0.437500 0.562500 0.437500 +0.500000 0.562500 0.437500 +0.437500 0.500000 0.500000 +0.500000 0.500000 0.500000 +0.437500 0.562500 0.500000 +0.500000 0.562500 0.500000 +0.375000 0.562500 0.437500 +0.437500 0.562500 0.437500 +0.375000 0.625000 0.437500 +0.437500 0.625000 0.437500 +0.375000 0.562500 0.500000 +0.437500 0.562500 0.500000 +0.375000 0.625000 0.500000 +0.437500 0.625000 0.500000 +0.437500 0.562500 0.437500 +0.500000 0.562500 0.437500 +0.437500 0.625000 0.437500 +0.500000 0.625000 0.437500 +0.437500 0.562500 0.500000 +0.500000 0.562500 0.500000 +0.437500 0.625000 0.500000 +0.500000 0.625000 0.500000 +0.125000 0.875000 0.250000 +0.187500 0.875000 0.250000 +0.125000 0.937500 0.250000 +0.187500 0.937500 0.250000 +0.125000 0.875000 0.312500 +0.187500 0.875000 0.312500 +0.125000 0.937500 0.312500 +0.187500 0.937500 0.312500 +0.187500 0.875000 0.250000 +0.250000 0.875000 0.250000 +0.187500 0.937500 0.250000 +0.250000 0.937500 0.250000 +0.187500 0.875000 0.312500 +0.250000 0.875000 0.312500 +0.187500 0.937500 0.312500 +0.250000 0.937500 0.312500 +0.125000 0.937500 0.250000 +0.187500 0.937500 0.250000 +0.125000 1.00000 0.250000 +0.187500 1.00000 0.250000 +0.125000 0.937500 0.312500 +0.187500 0.937500 0.312500 +0.125000 1.00000 0.312500 +0.187500 1.00000 0.312500 +0.187500 0.937500 0.250000 +0.250000 0.937500 0.250000 +0.187500 1.00000 0.250000 +0.250000 1.00000 0.250000 +0.187500 0.937500 0.312500 +0.250000 0.937500 0.312500 +0.187500 1.00000 0.312500 +0.250000 1.00000 0.312500 +0.125000 0.875000 0.312500 +0.187500 0.875000 0.312500 +0.125000 0.937500 0.312500 +0.187500 0.937500 0.312500 +0.125000 0.875000 0.375000 +0.187500 0.875000 0.375000 +0.125000 0.937500 0.375000 +0.187500 0.937500 0.375000 +0.187500 0.875000 0.312500 +0.250000 0.875000 0.312500 +0.187500 0.937500 0.312500 +0.250000 0.937500 0.312500 +0.187500 0.875000 0.375000 +0.250000 0.875000 0.375000 +0.187500 0.937500 0.375000 +0.250000 0.937500 0.375000 +0.125000 0.937500 0.312500 +0.187500 0.937500 0.312500 +0.125000 1.00000 0.312500 +0.187500 1.00000 0.312500 +0.125000 0.937500 0.375000 +0.187500 0.937500 0.375000 +0.125000 1.00000 0.375000 +0.187500 1.00000 0.375000 +0.187500 0.937500 0.312500 +0.250000 0.937500 0.312500 +0.187500 1.00000 0.312500 +0.250000 1.00000 0.312500 +0.187500 0.937500 0.375000 +0.250000 0.937500 0.375000 +0.187500 1.00000 0.375000 +0.250000 1.00000 0.375000 +0.00000 0.875000 0.375000 +0.0625000 0.875000 0.375000 +0.00000 0.937500 0.375000 +0.0625000 0.937500 0.375000 +0.00000 0.875000 0.437500 +0.0625000 0.875000 0.437500 +0.00000 0.937500 0.437500 +0.0625000 0.937500 0.437500 +0.0625000 0.875000 0.375000 +0.125000 0.875000 0.375000 +0.0625000 0.937500 0.375000 +0.125000 0.937500 0.375000 +0.0625000 0.875000 0.437500 +0.125000 0.875000 0.437500 +0.0625000 0.937500 0.437500 +0.125000 0.937500 0.437500 +0.00000 0.937500 0.375000 +0.0625000 0.937500 0.375000 +0.00000 1.00000 0.375000 +0.0625000 1.00000 0.375000 +0.00000 0.937500 0.437500 +0.0625000 0.937500 0.437500 +0.00000 1.00000 0.437500 +0.0625000 1.00000 0.437500 +0.0625000 0.937500 0.375000 +0.125000 0.937500 0.375000 +0.0625000 1.00000 0.375000 +0.125000 1.00000 0.375000 +0.0625000 0.937500 0.437500 +0.125000 0.937500 0.437500 +0.0625000 1.00000 0.437500 +0.125000 1.00000 0.437500 +0.00000 0.875000 0.437500 +0.0625000 0.875000 0.437500 +0.00000 0.937500 0.437500 +0.0625000 0.937500 0.437500 +0.00000 0.875000 0.500000 +0.0625000 0.875000 0.500000 +0.00000 0.937500 0.500000 +0.0625000 0.937500 0.500000 +0.0625000 0.875000 0.437500 +0.125000 0.875000 0.437500 +0.0625000 0.937500 0.437500 +0.125000 0.937500 0.437500 +0.0625000 0.875000 0.500000 +0.125000 0.875000 0.500000 +0.0625000 0.937500 0.500000 +0.125000 0.937500 0.500000 +0.00000 0.937500 0.437500 +0.0625000 0.937500 0.437500 +0.00000 1.00000 0.437500 +0.0625000 1.00000 0.437500 +0.00000 0.937500 0.500000 +0.0625000 0.937500 0.500000 +0.00000 1.00000 0.500000 +0.0625000 1.00000 0.500000 +0.0625000 0.937500 0.437500 +0.125000 0.937500 0.437500 +0.0625000 1.00000 0.437500 +0.125000 1.00000 0.437500 +0.0625000 0.937500 0.500000 +0.125000 0.937500 0.500000 +0.0625000 1.00000 0.500000 +0.125000 1.00000 0.500000 +0.125000 0.875000 0.375000 +0.187500 0.875000 0.375000 +0.125000 0.937500 0.375000 +0.187500 0.937500 0.375000 +0.125000 0.875000 0.437500 +0.187500 0.875000 0.437500 +0.125000 0.937500 0.437500 +0.187500 0.937500 0.437500 +0.187500 0.875000 0.375000 +0.250000 0.875000 0.375000 +0.187500 0.937500 0.375000 +0.250000 0.937500 0.375000 +0.187500 0.875000 0.437500 +0.250000 0.875000 0.437500 +0.187500 0.937500 0.437500 +0.250000 0.937500 0.437500 +0.125000 0.937500 0.375000 +0.187500 0.937500 0.375000 +0.125000 1.00000 0.375000 +0.187500 1.00000 0.375000 +0.125000 0.937500 0.437500 +0.187500 0.937500 0.437500 +0.125000 1.00000 0.437500 +0.187500 1.00000 0.437500 +0.187500 0.937500 0.375000 +0.250000 0.937500 0.375000 +0.187500 1.00000 0.375000 +0.250000 1.00000 0.375000 +0.187500 0.937500 0.437500 +0.250000 0.937500 0.437500 +0.187500 1.00000 0.437500 +0.250000 1.00000 0.437500 +0.125000 0.875000 0.437500 +0.187500 0.875000 0.437500 +0.125000 0.937500 0.437500 +0.187500 0.937500 0.437500 +0.125000 0.875000 0.500000 +0.187500 0.875000 0.500000 +0.125000 0.937500 0.500000 +0.187500 0.937500 0.500000 +0.187500 0.875000 0.437500 +0.250000 0.875000 0.437500 +0.187500 0.937500 0.437500 +0.250000 0.937500 0.437500 +0.187500 0.875000 0.500000 +0.250000 0.875000 0.500000 +0.187500 0.937500 0.500000 +0.250000 0.937500 0.500000 +0.125000 0.937500 0.437500 +0.187500 0.937500 0.437500 +0.125000 1.00000 0.437500 +0.187500 1.00000 0.437500 +0.125000 0.937500 0.500000 +0.187500 0.937500 0.500000 +0.125000 1.00000 0.500000 +0.187500 1.00000 0.500000 +0.187500 0.937500 0.437500 +0.250000 0.937500 0.437500 +0.187500 1.00000 0.437500 +0.250000 1.00000 0.437500 +0.187500 0.937500 0.500000 +0.250000 0.937500 0.500000 +0.187500 1.00000 0.500000 +0.250000 1.00000 0.500000 +0.875000 0.875000 0.375000 +0.937500 0.875000 0.375000 +0.875000 0.937500 0.375000 +0.937500 0.937500 0.375000 +0.875000 0.875000 0.437500 +0.937500 0.875000 0.437500 +0.875000 0.937500 0.437500 +0.937500 0.937500 0.437500 +0.937500 0.875000 0.375000 +1.00000 0.875000 0.375000 +0.937500 0.937500 0.375000 +1.00000 0.937500 0.375000 +0.937500 0.875000 0.437500 +1.00000 0.875000 0.437500 +0.937500 0.937500 0.437500 +1.00000 0.937500 0.437500 +0.875000 0.937500 0.375000 +0.937500 0.937500 0.375000 +0.875000 1.00000 0.375000 +0.937500 1.00000 0.375000 +0.875000 0.937500 0.437500 +0.937500 0.937500 0.437500 +0.875000 1.00000 0.437500 +0.937500 1.00000 0.437500 +0.937500 0.937500 0.375000 +1.00000 0.937500 0.375000 +0.937500 1.00000 0.375000 +1.00000 1.00000 0.375000 +0.937500 0.937500 0.437500 +1.00000 0.937500 0.437500 +0.937500 1.00000 0.437500 +1.00000 1.00000 0.437500 +0.875000 0.875000 0.437500 +0.937500 0.875000 0.437500 +0.875000 0.937500 0.437500 +0.937500 0.937500 0.437500 +0.875000 0.875000 0.500000 +0.937500 0.875000 0.500000 +0.875000 0.937500 0.500000 +0.937500 0.937500 0.500000 +0.937500 0.875000 0.437500 +1.00000 0.875000 0.437500 +0.937500 0.937500 0.437500 +1.00000 0.937500 0.437500 +0.937500 0.875000 0.500000 +1.00000 0.875000 0.500000 +0.937500 0.937500 0.500000 +1.00000 0.937500 0.500000 +0.875000 0.937500 0.437500 +0.937500 0.937500 0.437500 +0.875000 1.00000 0.437500 +0.937500 1.00000 0.437500 +0.875000 0.937500 0.500000 +0.937500 0.937500 0.500000 +0.875000 1.00000 0.500000 +0.937500 1.00000 0.500000 +0.937500 0.937500 0.437500 +1.00000 0.937500 0.437500 +0.937500 1.00000 0.437500 +1.00000 1.00000 0.437500 +0.937500 0.937500 0.500000 +1.00000 0.937500 0.500000 +0.937500 1.00000 0.500000 +1.00000 1.00000 0.500000 +0.250000 0.00000 0.500000 +0.312500 0.00000 0.500000 +0.250000 0.0625000 0.500000 +0.312500 0.0625000 0.500000 +0.250000 0.00000 0.562500 +0.312500 0.00000 0.562500 +0.250000 0.0625000 0.562500 +0.312500 0.0625000 0.562500 +0.312500 0.00000 0.500000 +0.375000 0.00000 0.500000 +0.312500 0.0625000 0.500000 +0.375000 0.0625000 0.500000 +0.312500 0.00000 0.562500 +0.375000 0.00000 0.562500 +0.312500 0.0625000 0.562500 +0.375000 0.0625000 0.562500 +0.250000 0.0625000 0.500000 +0.312500 0.0625000 0.500000 +0.250000 0.125000 0.500000 +0.312500 0.125000 0.500000 +0.250000 0.0625000 0.562500 +0.312500 0.0625000 0.562500 +0.250000 0.125000 0.562500 +0.312500 0.125000 0.562500 +0.312500 0.0625000 0.500000 +0.375000 0.0625000 0.500000 +0.312500 0.125000 0.500000 +0.375000 0.125000 0.500000 +0.312500 0.0625000 0.562500 +0.375000 0.0625000 0.562500 +0.312500 0.125000 0.562500 +0.375000 0.125000 0.562500 +0.250000 0.00000 0.562500 +0.312500 0.00000 0.562500 +0.250000 0.0625000 0.562500 +0.312500 0.0625000 0.562500 +0.250000 0.00000 0.625000 +0.312500 0.00000 0.625000 +0.250000 0.0625000 0.625000 +0.312500 0.0625000 0.625000 +0.312500 0.00000 0.562500 +0.375000 0.00000 0.562500 +0.312500 0.0625000 0.562500 +0.375000 0.0625000 0.562500 +0.312500 0.00000 0.625000 +0.375000 0.00000 0.625000 +0.312500 0.0625000 0.625000 +0.375000 0.0625000 0.625000 +0.250000 0.0625000 0.562500 +0.312500 0.0625000 0.562500 +0.250000 0.125000 0.562500 +0.312500 0.125000 0.562500 +0.250000 0.0625000 0.625000 +0.312500 0.0625000 0.625000 +0.250000 0.125000 0.625000 +0.312500 0.125000 0.625000 +0.312500 0.0625000 0.562500 +0.375000 0.0625000 0.562500 +0.312500 0.125000 0.562500 +0.375000 0.125000 0.562500 +0.312500 0.0625000 0.625000 +0.375000 0.0625000 0.625000 +0.312500 0.125000 0.625000 +0.375000 0.125000 0.625000 +0.625000 0.00000 0.500000 +0.687500 0.00000 0.500000 +0.625000 0.0625000 0.500000 +0.687500 0.0625000 0.500000 +0.625000 0.00000 0.562500 +0.687500 0.00000 0.562500 +0.625000 0.0625000 0.562500 +0.687500 0.0625000 0.562500 +0.687500 0.00000 0.500000 +0.750000 0.00000 0.500000 +0.687500 0.0625000 0.500000 +0.750000 0.0625000 0.500000 +0.687500 0.00000 0.562500 +0.750000 0.00000 0.562500 +0.687500 0.0625000 0.562500 +0.750000 0.0625000 0.562500 +0.625000 0.0625000 0.500000 +0.687500 0.0625000 0.500000 +0.625000 0.125000 0.500000 +0.687500 0.125000 0.500000 +0.625000 0.0625000 0.562500 +0.687500 0.0625000 0.562500 +0.625000 0.125000 0.562500 +0.687500 0.125000 0.562500 +0.687500 0.0625000 0.500000 +0.750000 0.0625000 0.500000 +0.687500 0.125000 0.500000 +0.750000 0.125000 0.500000 +0.687500 0.0625000 0.562500 +0.750000 0.0625000 0.562500 +0.687500 0.125000 0.562500 +0.750000 0.125000 0.562500 +0.625000 0.00000 0.562500 +0.687500 0.00000 0.562500 +0.625000 0.0625000 0.562500 +0.687500 0.0625000 0.562500 +0.625000 0.00000 0.625000 +0.687500 0.00000 0.625000 +0.625000 0.0625000 0.625000 +0.687500 0.0625000 0.625000 +0.687500 0.00000 0.562500 +0.750000 0.00000 0.562500 +0.687500 0.0625000 0.562500 +0.750000 0.0625000 0.562500 +0.687500 0.00000 0.625000 +0.750000 0.00000 0.625000 +0.687500 0.0625000 0.625000 +0.750000 0.0625000 0.625000 +0.625000 0.0625000 0.562500 +0.687500 0.0625000 0.562500 +0.625000 0.125000 0.562500 +0.687500 0.125000 0.562500 +0.625000 0.0625000 0.625000 +0.687500 0.0625000 0.625000 +0.625000 0.125000 0.625000 +0.687500 0.125000 0.625000 +0.687500 0.0625000 0.562500 +0.750000 0.0625000 0.562500 +0.687500 0.125000 0.562500 +0.750000 0.125000 0.562500 +0.687500 0.0625000 0.625000 +0.750000 0.0625000 0.625000 +0.687500 0.125000 0.625000 +0.750000 0.125000 0.625000 +0.500000 0.375000 0.500000 +0.562500 0.375000 0.500000 +0.500000 0.437500 0.500000 +0.562500 0.437500 0.500000 +0.500000 0.375000 0.562500 +0.562500 0.375000 0.562500 +0.500000 0.437500 0.562500 +0.562500 0.437500 0.562500 +0.562500 0.375000 0.500000 +0.625000 0.375000 0.500000 +0.562500 0.437500 0.500000 +0.625000 0.437500 0.500000 +0.562500 0.375000 0.562500 +0.625000 0.375000 0.562500 +0.562500 0.437500 0.562500 +0.625000 0.437500 0.562500 +0.500000 0.437500 0.500000 +0.562500 0.437500 0.500000 +0.500000 0.500000 0.500000 +0.562500 0.500000 0.500000 +0.500000 0.437500 0.562500 +0.562500 0.437500 0.562500 +0.500000 0.500000 0.562500 +0.562500 0.500000 0.562500 +0.562500 0.437500 0.500000 +0.625000 0.437500 0.500000 +0.562500 0.500000 0.500000 +0.625000 0.500000 0.500000 +0.562500 0.437500 0.562500 +0.625000 0.437500 0.562500 +0.562500 0.500000 0.562500 +0.625000 0.500000 0.562500 +0.500000 0.375000 0.562500 +0.562500 0.375000 0.562500 +0.500000 0.437500 0.562500 +0.562500 0.437500 0.562500 +0.500000 0.375000 0.625000 +0.562500 0.375000 0.625000 +0.500000 0.437500 0.625000 +0.562500 0.437500 0.625000 +0.562500 0.375000 0.562500 +0.625000 0.375000 0.562500 +0.562500 0.437500 0.562500 +0.625000 0.437500 0.562500 +0.562500 0.375000 0.625000 +0.625000 0.375000 0.625000 +0.562500 0.437500 0.625000 +0.625000 0.437500 0.625000 +0.500000 0.437500 0.562500 +0.562500 0.437500 0.562500 +0.500000 0.500000 0.562500 +0.562500 0.500000 0.562500 +0.500000 0.437500 0.625000 +0.562500 0.437500 0.625000 +0.500000 0.500000 0.625000 +0.562500 0.500000 0.625000 +0.562500 0.437500 0.562500 +0.625000 0.437500 0.562500 +0.562500 0.500000 0.562500 +0.625000 0.500000 0.562500 +0.562500 0.437500 0.625000 +0.625000 0.437500 0.625000 +0.562500 0.500000 0.625000 +0.625000 0.500000 0.625000 +0.875000 0.375000 0.500000 +0.937500 0.375000 0.500000 +0.875000 0.437500 0.500000 +0.937500 0.437500 0.500000 +0.875000 0.375000 0.562500 +0.937500 0.375000 0.562500 +0.875000 0.437500 0.562500 +0.937500 0.437500 0.562500 +0.937500 0.375000 0.500000 +1.00000 0.375000 0.500000 +0.937500 0.437500 0.500000 +1.00000 0.437500 0.500000 +0.937500 0.375000 0.562500 +1.00000 0.375000 0.562500 +0.937500 0.437500 0.562500 +1.00000 0.437500 0.562500 +0.875000 0.437500 0.500000 +0.937500 0.437500 0.500000 +0.875000 0.500000 0.500000 +0.937500 0.500000 0.500000 +0.875000 0.437500 0.562500 +0.937500 0.437500 0.562500 +0.875000 0.500000 0.562500 +0.937500 0.500000 0.562500 +0.937500 0.437500 0.500000 +1.00000 0.437500 0.500000 +0.937500 0.500000 0.500000 +1.00000 0.500000 0.500000 +0.937500 0.437500 0.562500 +1.00000 0.437500 0.562500 +0.937500 0.500000 0.562500 +1.00000 0.500000 0.562500 +0.875000 0.375000 0.562500 +0.937500 0.375000 0.562500 +0.875000 0.437500 0.562500 +0.937500 0.437500 0.562500 +0.875000 0.375000 0.625000 +0.937500 0.375000 0.625000 +0.875000 0.437500 0.625000 +0.937500 0.437500 0.625000 +0.937500 0.375000 0.562500 +1.00000 0.375000 0.562500 +0.937500 0.437500 0.562500 +1.00000 0.437500 0.562500 +0.937500 0.375000 0.625000 +1.00000 0.375000 0.625000 +0.937500 0.437500 0.625000 +1.00000 0.437500 0.625000 +0.875000 0.437500 0.562500 +0.937500 0.437500 0.562500 +0.875000 0.500000 0.562500 +0.937500 0.500000 0.562500 +0.875000 0.437500 0.625000 +0.937500 0.437500 0.625000 +0.875000 0.500000 0.625000 +0.937500 0.500000 0.625000 +0.937500 0.437500 0.562500 +1.00000 0.437500 0.562500 +0.937500 0.500000 0.562500 +1.00000 0.500000 0.562500 +0.937500 0.437500 0.625000 +1.00000 0.437500 0.625000 +0.937500 0.500000 0.625000 +1.00000 0.500000 0.625000 +0.250000 0.500000 0.625000 +0.312500 0.500000 0.625000 +0.250000 0.562500 0.625000 +0.312500 0.562500 0.625000 +0.250000 0.500000 0.687500 +0.312500 0.500000 0.687500 +0.250000 0.562500 0.687500 +0.312500 0.562500 0.687500 +0.312500 0.500000 0.625000 +0.375000 0.500000 0.625000 +0.312500 0.562500 0.625000 +0.375000 0.562500 0.625000 +0.312500 0.500000 0.687500 +0.375000 0.500000 0.687500 +0.312500 0.562500 0.687500 +0.375000 0.562500 0.687500 +0.250000 0.562500 0.625000 +0.312500 0.562500 0.625000 +0.250000 0.625000 0.625000 +0.312500 0.625000 0.625000 +0.250000 0.562500 0.687500 +0.312500 0.562500 0.687500 +0.250000 0.625000 0.687500 +0.312500 0.625000 0.687500 +0.312500 0.562500 0.625000 +0.375000 0.562500 0.625000 +0.312500 0.625000 0.625000 +0.375000 0.625000 0.625000 +0.312500 0.562500 0.687500 +0.375000 0.562500 0.687500 +0.312500 0.625000 0.687500 +0.375000 0.625000 0.687500 +0.250000 0.500000 0.687500 +0.312500 0.500000 0.687500 +0.250000 0.562500 0.687500 +0.312500 0.562500 0.687500 +0.250000 0.500000 0.750000 +0.312500 0.500000 0.750000 +0.250000 0.562500 0.750000 +0.312500 0.562500 0.750000 +0.312500 0.500000 0.687500 +0.375000 0.500000 0.687500 +0.312500 0.562500 0.687500 +0.375000 0.562500 0.687500 +0.312500 0.500000 0.750000 +0.375000 0.500000 0.750000 +0.312500 0.562500 0.750000 +0.375000 0.562500 0.750000 +0.250000 0.562500 0.687500 +0.312500 0.562500 0.687500 +0.250000 0.625000 0.687500 +0.312500 0.625000 0.687500 +0.250000 0.562500 0.750000 +0.312500 0.562500 0.750000 +0.250000 0.625000 0.750000 +0.312500 0.625000 0.750000 +0.312500 0.562500 0.687500 +0.375000 0.562500 0.687500 +0.312500 0.625000 0.687500 +0.375000 0.625000 0.687500 +0.312500 0.562500 0.750000 +0.375000 0.562500 0.750000 +0.312500 0.625000 0.750000 +0.375000 0.625000 0.750000 +0.125000 0.750000 0.625000 +0.187500 0.750000 0.625000 +0.125000 0.812500 0.625000 +0.187500 0.812500 0.625000 +0.125000 0.750000 0.687500 +0.187500 0.750000 0.687500 +0.125000 0.812500 0.687500 +0.187500 0.812500 0.687500 +0.187500 0.750000 0.625000 +0.250000 0.750000 0.625000 +0.187500 0.812500 0.625000 +0.250000 0.812500 0.625000 +0.187500 0.750000 0.687500 +0.250000 0.750000 0.687500 +0.187500 0.812500 0.687500 +0.250000 0.812500 0.687500 +0.125000 0.812500 0.625000 +0.187500 0.812500 0.625000 +0.125000 0.875000 0.625000 +0.187500 0.875000 0.625000 +0.125000 0.812500 0.687500 +0.187500 0.812500 0.687500 +0.125000 0.875000 0.687500 +0.187500 0.875000 0.687500 +0.187500 0.812500 0.625000 +0.250000 0.812500 0.625000 +0.187500 0.875000 0.625000 +0.250000 0.875000 0.625000 +0.187500 0.812500 0.687500 +0.250000 0.812500 0.687500 +0.187500 0.875000 0.687500 +0.250000 0.875000 0.687500 +0.125000 0.750000 0.687500 +0.187500 0.750000 0.687500 +0.125000 0.812500 0.687500 +0.187500 0.812500 0.687500 +0.125000 0.750000 0.750000 +0.187500 0.750000 0.750000 +0.125000 0.812500 0.750000 +0.187500 0.812500 0.750000 +0.187500 0.750000 0.687500 +0.250000 0.750000 0.687500 +0.187500 0.812500 0.687500 +0.250000 0.812500 0.687500 +0.187500 0.750000 0.750000 +0.250000 0.750000 0.750000 +0.187500 0.812500 0.750000 +0.250000 0.812500 0.750000 +0.125000 0.812500 0.687500 +0.187500 0.812500 0.687500 +0.125000 0.875000 0.687500 +0.187500 0.875000 0.687500 +0.125000 0.812500 0.750000 +0.187500 0.812500 0.750000 +0.125000 0.875000 0.750000 +0.187500 0.875000 0.750000 +0.187500 0.812500 0.687500 +0.250000 0.812500 0.687500 +0.187500 0.875000 0.687500 +0.250000 0.875000 0.687500 +0.187500 0.812500 0.750000 +0.250000 0.812500 0.750000 +0.187500 0.875000 0.750000 +0.250000 0.875000 0.750000 +0.250000 0.875000 0.625000 +0.312500 0.875000 0.625000 +0.250000 0.937500 0.625000 +0.312500 0.937500 0.625000 +0.250000 0.875000 0.687500 +0.312500 0.875000 0.687500 +0.250000 0.937500 0.687500 +0.312500 0.937500 0.687500 +0.312500 0.875000 0.625000 +0.375000 0.875000 0.625000 +0.312500 0.937500 0.625000 +0.375000 0.937500 0.625000 +0.312500 0.875000 0.687500 +0.375000 0.875000 0.687500 +0.312500 0.937500 0.687500 +0.375000 0.937500 0.687500 +0.250000 0.937500 0.625000 +0.312500 0.937500 0.625000 +0.250000 1.00000 0.625000 +0.312500 1.00000 0.625000 +0.250000 0.937500 0.687500 +0.312500 0.937500 0.687500 +0.250000 1.00000 0.687500 +0.312500 1.00000 0.687500 +0.312500 0.937500 0.625000 +0.375000 0.937500 0.625000 +0.312500 1.00000 0.625000 +0.375000 1.00000 0.625000 +0.312500 0.937500 0.687500 +0.375000 0.937500 0.687500 +0.312500 1.00000 0.687500 +0.375000 1.00000 0.687500 +0.250000 0.875000 0.687500 +0.312500 0.875000 0.687500 +0.250000 0.937500 0.687500 +0.312500 0.937500 0.687500 +0.250000 0.875000 0.750000 +0.312500 0.875000 0.750000 +0.250000 0.937500 0.750000 +0.312500 0.937500 0.750000 +0.312500 0.875000 0.687500 +0.375000 0.875000 0.687500 +0.312500 0.937500 0.687500 +0.375000 0.937500 0.687500 +0.312500 0.875000 0.750000 +0.375000 0.875000 0.750000 +0.312500 0.937500 0.750000 +0.375000 0.937500 0.750000 +0.250000 0.937500 0.687500 +0.312500 0.937500 0.687500 +0.250000 1.00000 0.687500 +0.312500 1.00000 0.687500 +0.250000 0.937500 0.750000 +0.312500 0.937500 0.750000 +0.250000 1.00000 0.750000 +0.312500 1.00000 0.750000 +0.312500 0.937500 0.687500 +0.375000 0.937500 0.687500 +0.312500 1.00000 0.687500 +0.375000 1.00000 0.687500 +0.312500 0.937500 0.750000 +0.375000 0.937500 0.750000 +0.312500 1.00000 0.750000 +0.375000 1.00000 0.750000 +0.625000 0.875000 0.625000 +0.687500 0.875000 0.625000 +0.625000 0.937500 0.625000 +0.687500 0.937500 0.625000 +0.625000 0.875000 0.687500 +0.687500 0.875000 0.687500 +0.625000 0.937500 0.687500 +0.687500 0.937500 0.687500 +0.687500 0.875000 0.625000 +0.750000 0.875000 0.625000 +0.687500 0.937500 0.625000 +0.750000 0.937500 0.625000 +0.687500 0.875000 0.687500 +0.750000 0.875000 0.687500 +0.687500 0.937500 0.687500 +0.750000 0.937500 0.687500 +0.625000 0.937500 0.625000 +0.687500 0.937500 0.625000 +0.625000 1.00000 0.625000 +0.687500 1.00000 0.625000 +0.625000 0.937500 0.687500 +0.687500 0.937500 0.687500 +0.625000 1.00000 0.687500 +0.687500 1.00000 0.687500 +0.687500 0.937500 0.625000 +0.750000 0.937500 0.625000 +0.687500 1.00000 0.625000 +0.750000 1.00000 0.625000 +0.687500 0.937500 0.687500 +0.750000 0.937500 0.687500 +0.687500 1.00000 0.687500 +0.750000 1.00000 0.687500 +0.625000 0.875000 0.687500 +0.687500 0.875000 0.687500 +0.625000 0.937500 0.687500 +0.687500 0.937500 0.687500 +0.625000 0.875000 0.750000 +0.687500 0.875000 0.750000 +0.625000 0.937500 0.750000 +0.687500 0.937500 0.750000 +0.687500 0.875000 0.687500 +0.750000 0.875000 0.687500 +0.687500 0.937500 0.687500 +0.750000 0.937500 0.687500 +0.687500 0.875000 0.750000 +0.750000 0.875000 0.750000 +0.687500 0.937500 0.750000 +0.750000 0.937500 0.750000 +0.625000 0.937500 0.687500 +0.687500 0.937500 0.687500 +0.625000 1.00000 0.687500 +0.687500 1.00000 0.687500 +0.625000 0.937500 0.750000 +0.687500 0.937500 0.750000 +0.625000 1.00000 0.750000 +0.687500 1.00000 0.750000 +0.687500 0.937500 0.687500 +0.750000 0.937500 0.687500 +0.687500 1.00000 0.687500 +0.750000 1.00000 0.687500 +0.687500 0.937500 0.750000 +0.750000 0.937500 0.750000 +0.687500 1.00000 0.750000 +0.750000 1.00000 0.750000 +0.250000 0.00000 0.375000 +0.281250 0.00000 0.375000 +0.250000 0.0312500 0.375000 +0.281250 0.0312500 0.375000 +0.250000 0.00000 0.406250 +0.281250 0.00000 0.406250 +0.250000 0.0312500 0.406250 +0.281250 0.0312500 0.406250 +0.281250 0.00000 0.375000 +0.312500 0.00000 0.375000 +0.281250 0.0312500 0.375000 +0.312500 0.0312500 0.375000 +0.281250 0.00000 0.406250 +0.312500 0.00000 0.406250 +0.281250 0.0312500 0.406250 +0.312500 0.0312500 0.406250 +0.250000 0.0312500 0.375000 +0.281250 0.0312500 0.375000 +0.250000 0.0625000 0.375000 +0.281250 0.0625000 0.375000 +0.250000 0.0312500 0.406250 +0.281250 0.0312500 0.406250 +0.250000 0.0625000 0.406250 +0.281250 0.0625000 0.406250 +0.281250 0.0312500 0.375000 +0.312500 0.0312500 0.375000 +0.281250 0.0625000 0.375000 +0.312500 0.0625000 0.375000 +0.281250 0.0312500 0.406250 +0.312500 0.0312500 0.406250 +0.281250 0.0625000 0.406250 +0.312500 0.0625000 0.406250 +0.250000 0.00000 0.406250 +0.281250 0.00000 0.406250 +0.250000 0.0312500 0.406250 +0.281250 0.0312500 0.406250 +0.250000 0.00000 0.437500 +0.281250 0.00000 0.437500 +0.250000 0.0312500 0.437500 +0.281250 0.0312500 0.437500 +0.281250 0.00000 0.406250 +0.312500 0.00000 0.406250 +0.281250 0.0312500 0.406250 +0.312500 0.0312500 0.406250 +0.281250 0.00000 0.437500 +0.312500 0.00000 0.437500 +0.281250 0.0312500 0.437500 +0.312500 0.0312500 0.437500 +0.250000 0.0312500 0.406250 +0.281250 0.0312500 0.406250 +0.250000 0.0625000 0.406250 +0.281250 0.0625000 0.406250 +0.250000 0.0312500 0.437500 +0.281250 0.0312500 0.437500 +0.250000 0.0625000 0.437500 +0.281250 0.0625000 0.437500 +0.281250 0.0312500 0.406250 +0.312500 0.0312500 0.406250 +0.281250 0.0625000 0.406250 +0.312500 0.0625000 0.406250 +0.281250 0.0312500 0.437500 +0.312500 0.0312500 0.437500 +0.281250 0.0625000 0.437500 +0.312500 0.0625000 0.437500 +0.687500 0.250000 0.375000 +0.718750 0.250000 0.375000 +0.687500 0.281250 0.375000 +0.718750 0.281250 0.375000 +0.687500 0.250000 0.406250 +0.718750 0.250000 0.406250 +0.687500 0.281250 0.406250 +0.718750 0.281250 0.406250 +0.718750 0.250000 0.375000 +0.750000 0.250000 0.375000 +0.718750 0.281250 0.375000 +0.750000 0.281250 0.375000 +0.718750 0.250000 0.406250 +0.750000 0.250000 0.406250 +0.718750 0.281250 0.406250 +0.750000 0.281250 0.406250 +0.687500 0.281250 0.375000 +0.718750 0.281250 0.375000 +0.687500 0.312500 0.375000 +0.718750 0.312500 0.375000 +0.687500 0.281250 0.406250 +0.718750 0.281250 0.406250 +0.687500 0.312500 0.406250 +0.718750 0.312500 0.406250 +0.718750 0.281250 0.375000 +0.750000 0.281250 0.375000 +0.718750 0.312500 0.375000 +0.750000 0.312500 0.375000 +0.718750 0.281250 0.406250 +0.750000 0.281250 0.406250 +0.718750 0.312500 0.406250 +0.750000 0.312500 0.406250 +0.687500 0.250000 0.406250 +0.718750 0.250000 0.406250 +0.687500 0.281250 0.406250 +0.718750 0.281250 0.406250 +0.687500 0.250000 0.437500 +0.718750 0.250000 0.437500 +0.687500 0.281250 0.437500 +0.718750 0.281250 0.437500 +0.718750 0.250000 0.406250 +0.750000 0.250000 0.406250 +0.718750 0.281250 0.406250 +0.750000 0.281250 0.406250 +0.718750 0.250000 0.437500 +0.750000 0.250000 0.437500 +0.718750 0.281250 0.437500 +0.750000 0.281250 0.437500 +0.687500 0.281250 0.406250 +0.718750 0.281250 0.406250 +0.687500 0.312500 0.406250 +0.718750 0.312500 0.406250 +0.687500 0.281250 0.437500 +0.718750 0.281250 0.437500 +0.687500 0.312500 0.437500 +0.718750 0.312500 0.437500 +0.718750 0.281250 0.406250 +0.750000 0.281250 0.406250 +0.718750 0.312500 0.406250 +0.750000 0.312500 0.406250 +0.718750 0.281250 0.437500 +0.750000 0.281250 0.437500 +0.718750 0.312500 0.437500 +0.750000 0.312500 0.437500 +0.250000 0.937500 0.375000 +0.281250 0.937500 0.375000 +0.250000 0.968750 0.375000 +0.281250 0.968750 0.375000 +0.250000 0.937500 0.406250 +0.281250 0.937500 0.406250 +0.250000 0.968750 0.406250 +0.281250 0.968750 0.406250 +0.281250 0.937500 0.375000 +0.312500 0.937500 0.375000 +0.281250 0.968750 0.375000 +0.312500 0.968750 0.375000 +0.281250 0.937500 0.406250 +0.312500 0.937500 0.406250 +0.281250 0.968750 0.406250 +0.312500 0.968750 0.406250 +0.250000 0.968750 0.375000 +0.281250 0.968750 0.375000 +0.250000 1.00000 0.375000 +0.281250 1.00000 0.375000 +0.250000 0.968750 0.406250 +0.281250 0.968750 0.406250 +0.250000 1.00000 0.406250 +0.281250 1.00000 0.406250 +0.281250 0.968750 0.375000 +0.312500 0.968750 0.375000 +0.281250 1.00000 0.375000 +0.312500 1.00000 0.375000 +0.281250 0.968750 0.406250 +0.312500 0.968750 0.406250 +0.281250 1.00000 0.406250 +0.312500 1.00000 0.406250 +0.250000 0.937500 0.406250 +0.281250 0.937500 0.406250 +0.250000 0.968750 0.406250 +0.281250 0.968750 0.406250 +0.250000 0.937500 0.437500 +0.281250 0.937500 0.437500 +0.250000 0.968750 0.437500 +0.281250 0.968750 0.437500 +0.281250 0.937500 0.406250 +0.312500 0.937500 0.406250 +0.281250 0.968750 0.406250 +0.312500 0.968750 0.406250 +0.281250 0.937500 0.437500 +0.312500 0.937500 0.437500 +0.281250 0.968750 0.437500 +0.312500 0.968750 0.437500 +0.250000 0.968750 0.406250 +0.281250 0.968750 0.406250 +0.250000 1.00000 0.406250 +0.281250 1.00000 0.406250 +0.250000 0.968750 0.437500 +0.281250 0.968750 0.437500 +0.250000 1.00000 0.437500 +0.281250 1.00000 0.437500 +0.281250 0.968750 0.406250 +0.312500 0.968750 0.406250 +0.281250 1.00000 0.406250 +0.312500 1.00000 0.406250 +0.281250 0.968750 0.437500 +0.312500 0.968750 0.437500 +0.281250 1.00000 0.437500 +0.312500 1.00000 0.437500 + +CELLS 736 6624 +8 0 1 3 2 4 5 7 6 +8 8 9 11 10 12 13 15 14 +8 16 17 19 18 20 21 23 22 +8 24 25 27 26 28 29 31 30 +8 32 33 35 34 36 37 39 38 +8 40 41 43 42 44 45 47 46 +8 48 49 51 50 52 53 55 54 +8 56 57 59 58 60 61 63 62 +8 64 65 67 66 68 69 71 70 +8 72 73 75 74 76 77 79 78 +8 80 81 83 82 84 85 87 86 +8 88 89 91 90 92 93 95 94 +8 96 97 99 98 100 101 103 102 +8 104 105 107 106 108 109 111 110 +8 112 113 115 114 116 117 119 118 +8 120 121 123 122 124 125 127 126 +8 128 129 131 130 132 133 135 134 +8 136 137 139 138 140 141 143 142 +8 144 145 147 146 148 149 151 150 +8 152 153 155 154 156 157 159 158 +8 160 161 163 162 164 165 167 166 +8 168 169 171 170 172 173 175 174 +8 176 177 179 178 180 181 183 182 +8 184 185 187 186 188 189 191 190 +8 192 193 195 194 196 197 199 198 +8 200 201 203 202 204 205 207 206 +8 208 209 211 210 212 213 215 214 +8 216 217 219 218 220 221 223 222 +8 224 225 227 226 228 229 231 230 +8 232 233 235 234 236 237 239 238 +8 240 241 243 242 244 245 247 246 +8 248 249 251 250 252 253 255 254 +8 256 257 259 258 260 261 263 262 +8 264 265 267 266 268 269 271 270 +8 272 273 275 274 276 277 279 278 +8 280 281 283 282 284 285 287 286 +8 288 289 291 290 292 293 295 294 +8 296 297 299 298 300 301 303 302 +8 304 305 307 306 308 309 311 310 +8 312 313 315 314 316 317 319 318 +8 320 321 323 322 324 325 327 326 +8 328 329 331 330 332 333 335 334 +8 336 337 339 338 340 341 343 342 +8 344 345 347 346 348 349 351 350 +8 352 353 355 354 356 357 359 358 +8 360 361 363 362 364 365 367 366 +8 368 369 371 370 372 373 375 374 +8 376 377 379 378 380 381 383 382 +8 384 385 387 386 388 389 391 390 +8 392 393 395 394 396 397 399 398 +8 400 401 403 402 404 405 407 406 +8 408 409 411 410 412 413 415 414 +8 416 417 419 418 420 421 423 422 +8 424 425 427 426 428 429 431 430 +8 432 433 435 434 436 437 439 438 +8 440 441 443 442 444 445 447 446 +8 448 449 451 450 452 453 455 454 +8 456 457 459 458 460 461 463 462 +8 464 465 467 466 468 469 471 470 +8 472 473 475 474 476 477 479 478 +8 480 481 483 482 484 485 487 486 +8 488 489 491 490 492 493 495 494 +8 496 497 499 498 500 501 503 502 +8 504 505 507 506 508 509 511 510 +8 512 513 515 514 516 517 519 518 +8 520 521 523 522 524 525 527 526 +8 528 529 531 530 532 533 535 534 +8 536 537 539 538 540 541 543 542 +8 544 545 547 546 548 549 551 550 +8 552 553 555 554 556 557 559 558 +8 560 561 563 562 564 565 567 566 +8 568 569 571 570 572 573 575 574 +8 576 577 579 578 580 581 583 582 +8 584 585 587 586 588 589 591 590 +8 592 593 595 594 596 597 599 598 +8 600 601 603 602 604 605 607 606 +8 608 609 611 610 612 613 615 614 +8 616 617 619 618 620 621 623 622 +8 624 625 627 626 628 629 631 630 +8 632 633 635 634 636 637 639 638 +8 640 641 643 642 644 645 647 646 +8 648 649 651 650 652 653 655 654 +8 656 657 659 658 660 661 663 662 +8 664 665 667 666 668 669 671 670 +8 672 673 675 674 676 677 679 678 +8 680 681 683 682 684 685 687 686 +8 688 689 691 690 692 693 695 694 +8 696 697 699 698 700 701 703 702 +8 704 705 707 706 708 709 711 710 +8 712 713 715 714 716 717 719 718 +8 720 721 723 722 724 725 727 726 +8 728 729 731 730 732 733 735 734 +8 736 737 739 738 740 741 743 742 +8 744 745 747 746 748 749 751 750 +8 752 753 755 754 756 757 759 758 +8 760 761 763 762 764 765 767 766 +8 768 769 771 770 772 773 775 774 +8 776 777 779 778 780 781 783 782 +8 784 785 787 786 788 789 791 790 +8 792 793 795 794 796 797 799 798 +8 800 801 803 802 804 805 807 806 +8 808 809 811 810 812 813 815 814 +8 816 817 819 818 820 821 823 822 +8 824 825 827 826 828 829 831 830 +8 832 833 835 834 836 837 839 838 +8 840 841 843 842 844 845 847 846 +8 848 849 851 850 852 853 855 854 +8 856 857 859 858 860 861 863 862 +8 864 865 867 866 868 869 871 870 +8 872 873 875 874 876 877 879 878 +8 880 881 883 882 884 885 887 886 +8 888 889 891 890 892 893 895 894 +8 896 897 899 898 900 901 903 902 +8 904 905 907 906 908 909 911 910 +8 912 913 915 914 916 917 919 918 +8 920 921 923 922 924 925 927 926 +8 928 929 931 930 932 933 935 934 +8 936 937 939 938 940 941 943 942 +8 944 945 947 946 948 949 951 950 +8 952 953 955 954 956 957 959 958 +8 960 961 963 962 964 965 967 966 +8 968 969 971 970 972 973 975 974 +8 976 977 979 978 980 981 983 982 +8 984 985 987 986 988 989 991 990 +8 992 993 995 994 996 997 999 998 +8 1000 1001 1003 1002 1004 1005 1007 1006 +8 1008 1009 1011 1010 1012 1013 1015 1014 +8 1016 1017 1019 1018 1020 1021 1023 1022 +8 1024 1025 1027 1026 1028 1029 1031 1030 +8 1032 1033 1035 1034 1036 1037 1039 1038 +8 1040 1041 1043 1042 1044 1045 1047 1046 +8 1048 1049 1051 1050 1052 1053 1055 1054 +8 1056 1057 1059 1058 1060 1061 1063 1062 +8 1064 1065 1067 1066 1068 1069 1071 1070 +8 1072 1073 1075 1074 1076 1077 1079 1078 +8 1080 1081 1083 1082 1084 1085 1087 1086 +8 1088 1089 1091 1090 1092 1093 1095 1094 +8 1096 1097 1099 1098 1100 1101 1103 1102 +8 1104 1105 1107 1106 1108 1109 1111 1110 +8 1112 1113 1115 1114 1116 1117 1119 1118 +8 1120 1121 1123 1122 1124 1125 1127 1126 +8 1128 1129 1131 1130 1132 1133 1135 1134 +8 1136 1137 1139 1138 1140 1141 1143 1142 +8 1144 1145 1147 1146 1148 1149 1151 1150 +8 1152 1153 1155 1154 1156 1157 1159 1158 +8 1160 1161 1163 1162 1164 1165 1167 1166 +8 1168 1169 1171 1170 1172 1173 1175 1174 +8 1176 1177 1179 1178 1180 1181 1183 1182 +8 1184 1185 1187 1186 1188 1189 1191 1190 +8 1192 1193 1195 1194 1196 1197 1199 1198 +8 1200 1201 1203 1202 1204 1205 1207 1206 +8 1208 1209 1211 1210 1212 1213 1215 1214 +8 1216 1217 1219 1218 1220 1221 1223 1222 +8 1224 1225 1227 1226 1228 1229 1231 1230 +8 1232 1233 1235 1234 1236 1237 1239 1238 +8 1240 1241 1243 1242 1244 1245 1247 1246 +8 1248 1249 1251 1250 1252 1253 1255 1254 +8 1256 1257 1259 1258 1260 1261 1263 1262 +8 1264 1265 1267 1266 1268 1269 1271 1270 +8 1272 1273 1275 1274 1276 1277 1279 1278 +8 1280 1281 1283 1282 1284 1285 1287 1286 +8 1288 1289 1291 1290 1292 1293 1295 1294 +8 1296 1297 1299 1298 1300 1301 1303 1302 +8 1304 1305 1307 1306 1308 1309 1311 1310 +8 1312 1313 1315 1314 1316 1317 1319 1318 +8 1320 1321 1323 1322 1324 1325 1327 1326 +8 1328 1329 1331 1330 1332 1333 1335 1334 +8 1336 1337 1339 1338 1340 1341 1343 1342 +8 1344 1345 1347 1346 1348 1349 1351 1350 +8 1352 1353 1355 1354 1356 1357 1359 1358 +8 1360 1361 1363 1362 1364 1365 1367 1366 +8 1368 1369 1371 1370 1372 1373 1375 1374 +8 1376 1377 1379 1378 1380 1381 1383 1382 +8 1384 1385 1387 1386 1388 1389 1391 1390 +8 1392 1393 1395 1394 1396 1397 1399 1398 +8 1400 1401 1403 1402 1404 1405 1407 1406 +8 1408 1409 1411 1410 1412 1413 1415 1414 +8 1416 1417 1419 1418 1420 1421 1423 1422 +8 1424 1425 1427 1426 1428 1429 1431 1430 +8 1432 1433 1435 1434 1436 1437 1439 1438 +8 1440 1441 1443 1442 1444 1445 1447 1446 +8 1448 1449 1451 1450 1452 1453 1455 1454 +8 1456 1457 1459 1458 1460 1461 1463 1462 +8 1464 1465 1467 1466 1468 1469 1471 1470 +8 1472 1473 1475 1474 1476 1477 1479 1478 +8 1480 1481 1483 1482 1484 1485 1487 1486 +8 1488 1489 1491 1490 1492 1493 1495 1494 +8 1496 1497 1499 1498 1500 1501 1503 1502 +8 1504 1505 1507 1506 1508 1509 1511 1510 +8 1512 1513 1515 1514 1516 1517 1519 1518 +8 1520 1521 1523 1522 1524 1525 1527 1526 +8 1528 1529 1531 1530 1532 1533 1535 1534 +8 1536 1537 1539 1538 1540 1541 1543 1542 +8 1544 1545 1547 1546 1548 1549 1551 1550 +8 1552 1553 1555 1554 1556 1557 1559 1558 +8 1560 1561 1563 1562 1564 1565 1567 1566 +8 1568 1569 1571 1570 1572 1573 1575 1574 +8 1576 1577 1579 1578 1580 1581 1583 1582 +8 1584 1585 1587 1586 1588 1589 1591 1590 +8 1592 1593 1595 1594 1596 1597 1599 1598 +8 1600 1601 1603 1602 1604 1605 1607 1606 +8 1608 1609 1611 1610 1612 1613 1615 1614 +8 1616 1617 1619 1618 1620 1621 1623 1622 +8 1624 1625 1627 1626 1628 1629 1631 1630 +8 1632 1633 1635 1634 1636 1637 1639 1638 +8 1640 1641 1643 1642 1644 1645 1647 1646 +8 1648 1649 1651 1650 1652 1653 1655 1654 +8 1656 1657 1659 1658 1660 1661 1663 1662 +8 1664 1665 1667 1666 1668 1669 1671 1670 +8 1672 1673 1675 1674 1676 1677 1679 1678 +8 1680 1681 1683 1682 1684 1685 1687 1686 +8 1688 1689 1691 1690 1692 1693 1695 1694 +8 1696 1697 1699 1698 1700 1701 1703 1702 +8 1704 1705 1707 1706 1708 1709 1711 1710 +8 1712 1713 1715 1714 1716 1717 1719 1718 +8 1720 1721 1723 1722 1724 1725 1727 1726 +8 1728 1729 1731 1730 1732 1733 1735 1734 +8 1736 1737 1739 1738 1740 1741 1743 1742 +8 1744 1745 1747 1746 1748 1749 1751 1750 +8 1752 1753 1755 1754 1756 1757 1759 1758 +8 1760 1761 1763 1762 1764 1765 1767 1766 +8 1768 1769 1771 1770 1772 1773 1775 1774 +8 1776 1777 1779 1778 1780 1781 1783 1782 +8 1784 1785 1787 1786 1788 1789 1791 1790 +8 1792 1793 1795 1794 1796 1797 1799 1798 +8 1800 1801 1803 1802 1804 1805 1807 1806 +8 1808 1809 1811 1810 1812 1813 1815 1814 +8 1816 1817 1819 1818 1820 1821 1823 1822 +8 1824 1825 1827 1826 1828 1829 1831 1830 +8 1832 1833 1835 1834 1836 1837 1839 1838 +8 1840 1841 1843 1842 1844 1845 1847 1846 +8 1848 1849 1851 1850 1852 1853 1855 1854 +8 1856 1857 1859 1858 1860 1861 1863 1862 +8 1864 1865 1867 1866 1868 1869 1871 1870 +8 1872 1873 1875 1874 1876 1877 1879 1878 +8 1880 1881 1883 1882 1884 1885 1887 1886 +8 1888 1889 1891 1890 1892 1893 1895 1894 +8 1896 1897 1899 1898 1900 1901 1903 1902 +8 1904 1905 1907 1906 1908 1909 1911 1910 +8 1912 1913 1915 1914 1916 1917 1919 1918 +8 1920 1921 1923 1922 1924 1925 1927 1926 +8 1928 1929 1931 1930 1932 1933 1935 1934 +8 1936 1937 1939 1938 1940 1941 1943 1942 +8 1944 1945 1947 1946 1948 1949 1951 1950 +8 1952 1953 1955 1954 1956 1957 1959 1958 +8 1960 1961 1963 1962 1964 1965 1967 1966 +8 1968 1969 1971 1970 1972 1973 1975 1974 +8 1976 1977 1979 1978 1980 1981 1983 1982 +8 1984 1985 1987 1986 1988 1989 1991 1990 +8 1992 1993 1995 1994 1996 1997 1999 1998 +8 2000 2001 2003 2002 2004 2005 2007 2006 +8 2008 2009 2011 2010 2012 2013 2015 2014 +8 2016 2017 2019 2018 2020 2021 2023 2022 +8 2024 2025 2027 2026 2028 2029 2031 2030 +8 2032 2033 2035 2034 2036 2037 2039 2038 +8 2040 2041 2043 2042 2044 2045 2047 2046 +8 2048 2049 2051 2050 2052 2053 2055 2054 +8 2056 2057 2059 2058 2060 2061 2063 2062 +8 2064 2065 2067 2066 2068 2069 2071 2070 +8 2072 2073 2075 2074 2076 2077 2079 2078 +8 2080 2081 2083 2082 2084 2085 2087 2086 +8 2088 2089 2091 2090 2092 2093 2095 2094 +8 2096 2097 2099 2098 2100 2101 2103 2102 +8 2104 2105 2107 2106 2108 2109 2111 2110 +8 2112 2113 2115 2114 2116 2117 2119 2118 +8 2120 2121 2123 2122 2124 2125 2127 2126 +8 2128 2129 2131 2130 2132 2133 2135 2134 +8 2136 2137 2139 2138 2140 2141 2143 2142 +8 2144 2145 2147 2146 2148 2149 2151 2150 +8 2152 2153 2155 2154 2156 2157 2159 2158 +8 2160 2161 2163 2162 2164 2165 2167 2166 +8 2168 2169 2171 2170 2172 2173 2175 2174 +8 2176 2177 2179 2178 2180 2181 2183 2182 +8 2184 2185 2187 2186 2188 2189 2191 2190 +8 2192 2193 2195 2194 2196 2197 2199 2198 +8 2200 2201 2203 2202 2204 2205 2207 2206 +8 2208 2209 2211 2210 2212 2213 2215 2214 +8 2216 2217 2219 2218 2220 2221 2223 2222 +8 2224 2225 2227 2226 2228 2229 2231 2230 +8 2232 2233 2235 2234 2236 2237 2239 2238 +8 2240 2241 2243 2242 2244 2245 2247 2246 +8 2248 2249 2251 2250 2252 2253 2255 2254 +8 2256 2257 2259 2258 2260 2261 2263 2262 +8 2264 2265 2267 2266 2268 2269 2271 2270 +8 2272 2273 2275 2274 2276 2277 2279 2278 +8 2280 2281 2283 2282 2284 2285 2287 2286 +8 2288 2289 2291 2290 2292 2293 2295 2294 +8 2296 2297 2299 2298 2300 2301 2303 2302 +8 2304 2305 2307 2306 2308 2309 2311 2310 +8 2312 2313 2315 2314 2316 2317 2319 2318 +8 2320 2321 2323 2322 2324 2325 2327 2326 +8 2328 2329 2331 2330 2332 2333 2335 2334 +8 2336 2337 2339 2338 2340 2341 2343 2342 +8 2344 2345 2347 2346 2348 2349 2351 2350 +8 2352 2353 2355 2354 2356 2357 2359 2358 +8 2360 2361 2363 2362 2364 2365 2367 2366 +8 2368 2369 2371 2370 2372 2373 2375 2374 +8 2376 2377 2379 2378 2380 2381 2383 2382 +8 2384 2385 2387 2386 2388 2389 2391 2390 +8 2392 2393 2395 2394 2396 2397 2399 2398 +8 2400 2401 2403 2402 2404 2405 2407 2406 +8 2408 2409 2411 2410 2412 2413 2415 2414 +8 2416 2417 2419 2418 2420 2421 2423 2422 +8 2424 2425 2427 2426 2428 2429 2431 2430 +8 2432 2433 2435 2434 2436 2437 2439 2438 +8 2440 2441 2443 2442 2444 2445 2447 2446 +8 2448 2449 2451 2450 2452 2453 2455 2454 +8 2456 2457 2459 2458 2460 2461 2463 2462 +8 2464 2465 2467 2466 2468 2469 2471 2470 +8 2472 2473 2475 2474 2476 2477 2479 2478 +8 2480 2481 2483 2482 2484 2485 2487 2486 +8 2488 2489 2491 2490 2492 2493 2495 2494 +8 2496 2497 2499 2498 2500 2501 2503 2502 +8 2504 2505 2507 2506 2508 2509 2511 2510 +8 2512 2513 2515 2514 2516 2517 2519 2518 +8 2520 2521 2523 2522 2524 2525 2527 2526 +8 2528 2529 2531 2530 2532 2533 2535 2534 +8 2536 2537 2539 2538 2540 2541 2543 2542 +8 2544 2545 2547 2546 2548 2549 2551 2550 +8 2552 2553 2555 2554 2556 2557 2559 2558 +8 2560 2561 2563 2562 2564 2565 2567 2566 +8 2568 2569 2571 2570 2572 2573 2575 2574 +8 2576 2577 2579 2578 2580 2581 2583 2582 +8 2584 2585 2587 2586 2588 2589 2591 2590 +8 2592 2593 2595 2594 2596 2597 2599 2598 +8 2600 2601 2603 2602 2604 2605 2607 2606 +8 2608 2609 2611 2610 2612 2613 2615 2614 +8 2616 2617 2619 2618 2620 2621 2623 2622 +8 2624 2625 2627 2626 2628 2629 2631 2630 +8 2632 2633 2635 2634 2636 2637 2639 2638 +8 2640 2641 2643 2642 2644 2645 2647 2646 +8 2648 2649 2651 2650 2652 2653 2655 2654 +8 2656 2657 2659 2658 2660 2661 2663 2662 +8 2664 2665 2667 2666 2668 2669 2671 2670 +8 2672 2673 2675 2674 2676 2677 2679 2678 +8 2680 2681 2683 2682 2684 2685 2687 2686 +8 2688 2689 2691 2690 2692 2693 2695 2694 +8 2696 2697 2699 2698 2700 2701 2703 2702 +8 2704 2705 2707 2706 2708 2709 2711 2710 +8 2712 2713 2715 2714 2716 2717 2719 2718 +8 2720 2721 2723 2722 2724 2725 2727 2726 +8 2728 2729 2731 2730 2732 2733 2735 2734 +8 2736 2737 2739 2738 2740 2741 2743 2742 +8 2744 2745 2747 2746 2748 2749 2751 2750 +8 2752 2753 2755 2754 2756 2757 2759 2758 +8 2760 2761 2763 2762 2764 2765 2767 2766 +8 2768 2769 2771 2770 2772 2773 2775 2774 +8 2776 2777 2779 2778 2780 2781 2783 2782 +8 2784 2785 2787 2786 2788 2789 2791 2790 +8 2792 2793 2795 2794 2796 2797 2799 2798 +8 2800 2801 2803 2802 2804 2805 2807 2806 +8 2808 2809 2811 2810 2812 2813 2815 2814 +8 2816 2817 2819 2818 2820 2821 2823 2822 +8 2824 2825 2827 2826 2828 2829 2831 2830 +8 2832 2833 2835 2834 2836 2837 2839 2838 +8 2840 2841 2843 2842 2844 2845 2847 2846 +8 2848 2849 2851 2850 2852 2853 2855 2854 +8 2856 2857 2859 2858 2860 2861 2863 2862 +8 2864 2865 2867 2866 2868 2869 2871 2870 +8 2872 2873 2875 2874 2876 2877 2879 2878 +8 2880 2881 2883 2882 2884 2885 2887 2886 +8 2888 2889 2891 2890 2892 2893 2895 2894 +8 2896 2897 2899 2898 2900 2901 2903 2902 +8 2904 2905 2907 2906 2908 2909 2911 2910 +8 2912 2913 2915 2914 2916 2917 2919 2918 +8 2920 2921 2923 2922 2924 2925 2927 2926 +8 2928 2929 2931 2930 2932 2933 2935 2934 +8 2936 2937 2939 2938 2940 2941 2943 2942 +8 2944 2945 2947 2946 2948 2949 2951 2950 +8 2952 2953 2955 2954 2956 2957 2959 2958 +8 2960 2961 2963 2962 2964 2965 2967 2966 +8 2968 2969 2971 2970 2972 2973 2975 2974 +8 2976 2977 2979 2978 2980 2981 2983 2982 +8 2984 2985 2987 2986 2988 2989 2991 2990 +8 2992 2993 2995 2994 2996 2997 2999 2998 +8 3000 3001 3003 3002 3004 3005 3007 3006 +8 3008 3009 3011 3010 3012 3013 3015 3014 +8 3016 3017 3019 3018 3020 3021 3023 3022 +8 3024 3025 3027 3026 3028 3029 3031 3030 +8 3032 3033 3035 3034 3036 3037 3039 3038 +8 3040 3041 3043 3042 3044 3045 3047 3046 +8 3048 3049 3051 3050 3052 3053 3055 3054 +8 3056 3057 3059 3058 3060 3061 3063 3062 +8 3064 3065 3067 3066 3068 3069 3071 3070 +8 3072 3073 3075 3074 3076 3077 3079 3078 +8 3080 3081 3083 3082 3084 3085 3087 3086 +8 3088 3089 3091 3090 3092 3093 3095 3094 +8 3096 3097 3099 3098 3100 3101 3103 3102 +8 3104 3105 3107 3106 3108 3109 3111 3110 +8 3112 3113 3115 3114 3116 3117 3119 3118 +8 3120 3121 3123 3122 3124 3125 3127 3126 +8 3128 3129 3131 3130 3132 3133 3135 3134 +8 3136 3137 3139 3138 3140 3141 3143 3142 +8 3144 3145 3147 3146 3148 3149 3151 3150 +8 3152 3153 3155 3154 3156 3157 3159 3158 +8 3160 3161 3163 3162 3164 3165 3167 3166 +8 3168 3169 3171 3170 3172 3173 3175 3174 +8 3176 3177 3179 3178 3180 3181 3183 3182 +8 3184 3185 3187 3186 3188 3189 3191 3190 +8 3192 3193 3195 3194 3196 3197 3199 3198 +8 3200 3201 3203 3202 3204 3205 3207 3206 +8 3208 3209 3211 3210 3212 3213 3215 3214 +8 3216 3217 3219 3218 3220 3221 3223 3222 +8 3224 3225 3227 3226 3228 3229 3231 3230 +8 3232 3233 3235 3234 3236 3237 3239 3238 +8 3240 3241 3243 3242 3244 3245 3247 3246 +8 3248 3249 3251 3250 3252 3253 3255 3254 +8 3256 3257 3259 3258 3260 3261 3263 3262 +8 3264 3265 3267 3266 3268 3269 3271 3270 +8 3272 3273 3275 3274 3276 3277 3279 3278 +8 3280 3281 3283 3282 3284 3285 3287 3286 +8 3288 3289 3291 3290 3292 3293 3295 3294 +8 3296 3297 3299 3298 3300 3301 3303 3302 +8 3304 3305 3307 3306 3308 3309 3311 3310 +8 3312 3313 3315 3314 3316 3317 3319 3318 +8 3320 3321 3323 3322 3324 3325 3327 3326 +8 3328 3329 3331 3330 3332 3333 3335 3334 +8 3336 3337 3339 3338 3340 3341 3343 3342 +8 3344 3345 3347 3346 3348 3349 3351 3350 +8 3352 3353 3355 3354 3356 3357 3359 3358 +8 3360 3361 3363 3362 3364 3365 3367 3366 +8 3368 3369 3371 3370 3372 3373 3375 3374 +8 3376 3377 3379 3378 3380 3381 3383 3382 +8 3384 3385 3387 3386 3388 3389 3391 3390 +8 3392 3393 3395 3394 3396 3397 3399 3398 +8 3400 3401 3403 3402 3404 3405 3407 3406 +8 3408 3409 3411 3410 3412 3413 3415 3414 +8 3416 3417 3419 3418 3420 3421 3423 3422 +8 3424 3425 3427 3426 3428 3429 3431 3430 +8 3432 3433 3435 3434 3436 3437 3439 3438 +8 3440 3441 3443 3442 3444 3445 3447 3446 +8 3448 3449 3451 3450 3452 3453 3455 3454 +8 3456 3457 3459 3458 3460 3461 3463 3462 +8 3464 3465 3467 3466 3468 3469 3471 3470 +8 3472 3473 3475 3474 3476 3477 3479 3478 +8 3480 3481 3483 3482 3484 3485 3487 3486 +8 3488 3489 3491 3490 3492 3493 3495 3494 +8 3496 3497 3499 3498 3500 3501 3503 3502 +8 3504 3505 3507 3506 3508 3509 3511 3510 +8 3512 3513 3515 3514 3516 3517 3519 3518 +8 3520 3521 3523 3522 3524 3525 3527 3526 +8 3528 3529 3531 3530 3532 3533 3535 3534 +8 3536 3537 3539 3538 3540 3541 3543 3542 +8 3544 3545 3547 3546 3548 3549 3551 3550 +8 3552 3553 3555 3554 3556 3557 3559 3558 +8 3560 3561 3563 3562 3564 3565 3567 3566 +8 3568 3569 3571 3570 3572 3573 3575 3574 +8 3576 3577 3579 3578 3580 3581 3583 3582 +8 3584 3585 3587 3586 3588 3589 3591 3590 +8 3592 3593 3595 3594 3596 3597 3599 3598 +8 3600 3601 3603 3602 3604 3605 3607 3606 +8 3608 3609 3611 3610 3612 3613 3615 3614 +8 3616 3617 3619 3618 3620 3621 3623 3622 +8 3624 3625 3627 3626 3628 3629 3631 3630 +8 3632 3633 3635 3634 3636 3637 3639 3638 +8 3640 3641 3643 3642 3644 3645 3647 3646 +8 3648 3649 3651 3650 3652 3653 3655 3654 +8 3656 3657 3659 3658 3660 3661 3663 3662 +8 3664 3665 3667 3666 3668 3669 3671 3670 +8 3672 3673 3675 3674 3676 3677 3679 3678 +8 3680 3681 3683 3682 3684 3685 3687 3686 +8 3688 3689 3691 3690 3692 3693 3695 3694 +8 3696 3697 3699 3698 3700 3701 3703 3702 +8 3704 3705 3707 3706 3708 3709 3711 3710 +8 3712 3713 3715 3714 3716 3717 3719 3718 +8 3720 3721 3723 3722 3724 3725 3727 3726 +8 3728 3729 3731 3730 3732 3733 3735 3734 +8 3736 3737 3739 3738 3740 3741 3743 3742 +8 3744 3745 3747 3746 3748 3749 3751 3750 +8 3752 3753 3755 3754 3756 3757 3759 3758 +8 3760 3761 3763 3762 3764 3765 3767 3766 +8 3768 3769 3771 3770 3772 3773 3775 3774 +8 3776 3777 3779 3778 3780 3781 3783 3782 +8 3784 3785 3787 3786 3788 3789 3791 3790 +8 3792 3793 3795 3794 3796 3797 3799 3798 +8 3800 3801 3803 3802 3804 3805 3807 3806 +8 3808 3809 3811 3810 3812 3813 3815 3814 +8 3816 3817 3819 3818 3820 3821 3823 3822 +8 3824 3825 3827 3826 3828 3829 3831 3830 +8 3832 3833 3835 3834 3836 3837 3839 3838 +8 3840 3841 3843 3842 3844 3845 3847 3846 +8 3848 3849 3851 3850 3852 3853 3855 3854 +8 3856 3857 3859 3858 3860 3861 3863 3862 +8 3864 3865 3867 3866 3868 3869 3871 3870 +8 3872 3873 3875 3874 3876 3877 3879 3878 +8 3880 3881 3883 3882 3884 3885 3887 3886 +8 3888 3889 3891 3890 3892 3893 3895 3894 +8 3896 3897 3899 3898 3900 3901 3903 3902 +8 3904 3905 3907 3906 3908 3909 3911 3910 +8 3912 3913 3915 3914 3916 3917 3919 3918 +8 3920 3921 3923 3922 3924 3925 3927 3926 +8 3928 3929 3931 3930 3932 3933 3935 3934 +8 3936 3937 3939 3938 3940 3941 3943 3942 +8 3944 3945 3947 3946 3948 3949 3951 3950 +8 3952 3953 3955 3954 3956 3957 3959 3958 +8 3960 3961 3963 3962 3964 3965 3967 3966 +8 3968 3969 3971 3970 3972 3973 3975 3974 +8 3976 3977 3979 3978 3980 3981 3983 3982 +8 3984 3985 3987 3986 3988 3989 3991 3990 +8 3992 3993 3995 3994 3996 3997 3999 3998 +8 4000 4001 4003 4002 4004 4005 4007 4006 +8 4008 4009 4011 4010 4012 4013 4015 4014 +8 4016 4017 4019 4018 4020 4021 4023 4022 +8 4024 4025 4027 4026 4028 4029 4031 4030 +8 4032 4033 4035 4034 4036 4037 4039 4038 +8 4040 4041 4043 4042 4044 4045 4047 4046 +8 4048 4049 4051 4050 4052 4053 4055 4054 +8 4056 4057 4059 4058 4060 4061 4063 4062 +8 4064 4065 4067 4066 4068 4069 4071 4070 +8 4072 4073 4075 4074 4076 4077 4079 4078 +8 4080 4081 4083 4082 4084 4085 4087 4086 +8 4088 4089 4091 4090 4092 4093 4095 4094 +8 4096 4097 4099 4098 4100 4101 4103 4102 +8 4104 4105 4107 4106 4108 4109 4111 4110 +8 4112 4113 4115 4114 4116 4117 4119 4118 +8 4120 4121 4123 4122 4124 4125 4127 4126 +8 4128 4129 4131 4130 4132 4133 4135 4134 +8 4136 4137 4139 4138 4140 4141 4143 4142 +8 4144 4145 4147 4146 4148 4149 4151 4150 +8 4152 4153 4155 4154 4156 4157 4159 4158 +8 4160 4161 4163 4162 4164 4165 4167 4166 +8 4168 4169 4171 4170 4172 4173 4175 4174 +8 4176 4177 4179 4178 4180 4181 4183 4182 +8 4184 4185 4187 4186 4188 4189 4191 4190 +8 4192 4193 4195 4194 4196 4197 4199 4198 +8 4200 4201 4203 4202 4204 4205 4207 4206 +8 4208 4209 4211 4210 4212 4213 4215 4214 +8 4216 4217 4219 4218 4220 4221 4223 4222 +8 4224 4225 4227 4226 4228 4229 4231 4230 +8 4232 4233 4235 4234 4236 4237 4239 4238 +8 4240 4241 4243 4242 4244 4245 4247 4246 +8 4248 4249 4251 4250 4252 4253 4255 4254 +8 4256 4257 4259 4258 4260 4261 4263 4262 +8 4264 4265 4267 4266 4268 4269 4271 4270 +8 4272 4273 4275 4274 4276 4277 4279 4278 +8 4280 4281 4283 4282 4284 4285 4287 4286 +8 4288 4289 4291 4290 4292 4293 4295 4294 +8 4296 4297 4299 4298 4300 4301 4303 4302 +8 4304 4305 4307 4306 4308 4309 4311 4310 +8 4312 4313 4315 4314 4316 4317 4319 4318 +8 4320 4321 4323 4322 4324 4325 4327 4326 +8 4328 4329 4331 4330 4332 4333 4335 4334 +8 4336 4337 4339 4338 4340 4341 4343 4342 +8 4344 4345 4347 4346 4348 4349 4351 4350 +8 4352 4353 4355 4354 4356 4357 4359 4358 +8 4360 4361 4363 4362 4364 4365 4367 4366 +8 4368 4369 4371 4370 4372 4373 4375 4374 +8 4376 4377 4379 4378 4380 4381 4383 4382 +8 4384 4385 4387 4386 4388 4389 4391 4390 +8 4392 4393 4395 4394 4396 4397 4399 4398 +8 4400 4401 4403 4402 4404 4405 4407 4406 +8 4408 4409 4411 4410 4412 4413 4415 4414 +8 4416 4417 4419 4418 4420 4421 4423 4422 +8 4424 4425 4427 4426 4428 4429 4431 4430 +8 4432 4433 4435 4434 4436 4437 4439 4438 +8 4440 4441 4443 4442 4444 4445 4447 4446 +8 4448 4449 4451 4450 4452 4453 4455 4454 +8 4456 4457 4459 4458 4460 4461 4463 4462 +8 4464 4465 4467 4466 4468 4469 4471 4470 +8 4472 4473 4475 4474 4476 4477 4479 4478 +8 4480 4481 4483 4482 4484 4485 4487 4486 +8 4488 4489 4491 4490 4492 4493 4495 4494 +8 4496 4497 4499 4498 4500 4501 4503 4502 +8 4504 4505 4507 4506 4508 4509 4511 4510 +8 4512 4513 4515 4514 4516 4517 4519 4518 +8 4520 4521 4523 4522 4524 4525 4527 4526 +8 4528 4529 4531 4530 4532 4533 4535 4534 +8 4536 4537 4539 4538 4540 4541 4543 4542 +8 4544 4545 4547 4546 4548 4549 4551 4550 +8 4552 4553 4555 4554 4556 4557 4559 4558 +8 4560 4561 4563 4562 4564 4565 4567 4566 +8 4568 4569 4571 4570 4572 4573 4575 4574 +8 4576 4577 4579 4578 4580 4581 4583 4582 +8 4584 4585 4587 4586 4588 4589 4591 4590 +8 4592 4593 4595 4594 4596 4597 4599 4598 +8 4600 4601 4603 4602 4604 4605 4607 4606 +8 4608 4609 4611 4610 4612 4613 4615 4614 +8 4616 4617 4619 4618 4620 4621 4623 4622 +8 4624 4625 4627 4626 4628 4629 4631 4630 +8 4632 4633 4635 4634 4636 4637 4639 4638 +8 4640 4641 4643 4642 4644 4645 4647 4646 +8 4648 4649 4651 4650 4652 4653 4655 4654 +8 4656 4657 4659 4658 4660 4661 4663 4662 +8 4664 4665 4667 4666 4668 4669 4671 4670 +8 4672 4673 4675 4674 4676 4677 4679 4678 +8 4680 4681 4683 4682 4684 4685 4687 4686 +8 4688 4689 4691 4690 4692 4693 4695 4694 +8 4696 4697 4699 4698 4700 4701 4703 4702 +8 4704 4705 4707 4706 4708 4709 4711 4710 +8 4712 4713 4715 4714 4716 4717 4719 4718 +8 4720 4721 4723 4722 4724 4725 4727 4726 +8 4728 4729 4731 4730 4732 4733 4735 4734 +8 4736 4737 4739 4738 4740 4741 4743 4742 +8 4744 4745 4747 4746 4748 4749 4751 4750 +8 4752 4753 4755 4754 4756 4757 4759 4758 +8 4760 4761 4763 4762 4764 4765 4767 4766 +8 4768 4769 4771 4770 4772 4773 4775 4774 +8 4776 4777 4779 4778 4780 4781 4783 4782 +8 4784 4785 4787 4786 4788 4789 4791 4790 +8 4792 4793 4795 4794 4796 4797 4799 4798 +8 4800 4801 4803 4802 4804 4805 4807 4806 +8 4808 4809 4811 4810 4812 4813 4815 4814 +8 4816 4817 4819 4818 4820 4821 4823 4822 +8 4824 4825 4827 4826 4828 4829 4831 4830 +8 4832 4833 4835 4834 4836 4837 4839 4838 +8 4840 4841 4843 4842 4844 4845 4847 4846 +8 4848 4849 4851 4850 4852 4853 4855 4854 +8 4856 4857 4859 4858 4860 4861 4863 4862 +8 4864 4865 4867 4866 4868 4869 4871 4870 +8 4872 4873 4875 4874 4876 4877 4879 4878 +8 4880 4881 4883 4882 4884 4885 4887 4886 +8 4888 4889 4891 4890 4892 4893 4895 4894 +8 4896 4897 4899 4898 4900 4901 4903 4902 +8 4904 4905 4907 4906 4908 4909 4911 4910 +8 4912 4913 4915 4914 4916 4917 4919 4918 +8 4920 4921 4923 4922 4924 4925 4927 4926 +8 4928 4929 4931 4930 4932 4933 4935 4934 +8 4936 4937 4939 4938 4940 4941 4943 4942 +8 4944 4945 4947 4946 4948 4949 4951 4950 +8 4952 4953 4955 4954 4956 4957 4959 4958 +8 4960 4961 4963 4962 4964 4965 4967 4966 +8 4968 4969 4971 4970 4972 4973 4975 4974 +8 4976 4977 4979 4978 4980 4981 4983 4982 +8 4984 4985 4987 4986 4988 4989 4991 4990 +8 4992 4993 4995 4994 4996 4997 4999 4998 +8 5000 5001 5003 5002 5004 5005 5007 5006 +8 5008 5009 5011 5010 5012 5013 5015 5014 +8 5016 5017 5019 5018 5020 5021 5023 5022 +8 5024 5025 5027 5026 5028 5029 5031 5030 +8 5032 5033 5035 5034 5036 5037 5039 5038 +8 5040 5041 5043 5042 5044 5045 5047 5046 +8 5048 5049 5051 5050 5052 5053 5055 5054 +8 5056 5057 5059 5058 5060 5061 5063 5062 +8 5064 5065 5067 5066 5068 5069 5071 5070 +8 5072 5073 5075 5074 5076 5077 5079 5078 +8 5080 5081 5083 5082 5084 5085 5087 5086 +8 5088 5089 5091 5090 5092 5093 5095 5094 +8 5096 5097 5099 5098 5100 5101 5103 5102 +8 5104 5105 5107 5106 5108 5109 5111 5110 +8 5112 5113 5115 5114 5116 5117 5119 5118 +8 5120 5121 5123 5122 5124 5125 5127 5126 +8 5128 5129 5131 5130 5132 5133 5135 5134 +8 5136 5137 5139 5138 5140 5141 5143 5142 +8 5144 5145 5147 5146 5148 5149 5151 5150 +8 5152 5153 5155 5154 5156 5157 5159 5158 +8 5160 5161 5163 5162 5164 5165 5167 5166 +8 5168 5169 5171 5170 5172 5173 5175 5174 +8 5176 5177 5179 5178 5180 5181 5183 5182 +8 5184 5185 5187 5186 5188 5189 5191 5190 +8 5192 5193 5195 5194 5196 5197 5199 5198 +8 5200 5201 5203 5202 5204 5205 5207 5206 +8 5208 5209 5211 5210 5212 5213 5215 5214 +8 5216 5217 5219 5218 5220 5221 5223 5222 +8 5224 5225 5227 5226 5228 5229 5231 5230 +8 5232 5233 5235 5234 5236 5237 5239 5238 +8 5240 5241 5243 5242 5244 5245 5247 5246 +8 5248 5249 5251 5250 5252 5253 5255 5254 +8 5256 5257 5259 5258 5260 5261 5263 5262 +8 5264 5265 5267 5266 5268 5269 5271 5270 +8 5272 5273 5275 5274 5276 5277 5279 5278 +8 5280 5281 5283 5282 5284 5285 5287 5286 +8 5288 5289 5291 5290 5292 5293 5295 5294 +8 5296 5297 5299 5298 5300 5301 5303 5302 +8 5304 5305 5307 5306 5308 5309 5311 5310 +8 5312 5313 5315 5314 5316 5317 5319 5318 +8 5320 5321 5323 5322 5324 5325 5327 5326 +8 5328 5329 5331 5330 5332 5333 5335 5334 +8 5336 5337 5339 5338 5340 5341 5343 5342 +8 5344 5345 5347 5346 5348 5349 5351 5350 +8 5352 5353 5355 5354 5356 5357 5359 5358 +8 5360 5361 5363 5362 5364 5365 5367 5366 +8 5368 5369 5371 5370 5372 5373 5375 5374 +8 5376 5377 5379 5378 5380 5381 5383 5382 +8 5384 5385 5387 5386 5388 5389 5391 5390 +8 5392 5393 5395 5394 5396 5397 5399 5398 +8 5400 5401 5403 5402 5404 5405 5407 5406 +8 5408 5409 5411 5410 5412 5413 5415 5414 +8 5416 5417 5419 5418 5420 5421 5423 5422 +8 5424 5425 5427 5426 5428 5429 5431 5430 +8 5432 5433 5435 5434 5436 5437 5439 5438 +8 5440 5441 5443 5442 5444 5445 5447 5446 +8 5448 5449 5451 5450 5452 5453 5455 5454 +8 5456 5457 5459 5458 5460 5461 5463 5462 +8 5464 5465 5467 5466 5468 5469 5471 5470 +8 5472 5473 5475 5474 5476 5477 5479 5478 +8 5480 5481 5483 5482 5484 5485 5487 5486 +8 5488 5489 5491 5490 5492 5493 5495 5494 +8 5496 5497 5499 5498 5500 5501 5503 5502 +8 5504 5505 5507 5506 5508 5509 5511 5510 +8 5512 5513 5515 5514 5516 5517 5519 5518 +8 5520 5521 5523 5522 5524 5525 5527 5526 +8 5528 5529 5531 5530 5532 5533 5535 5534 +8 5536 5537 5539 5538 5540 5541 5543 5542 +8 5544 5545 5547 5546 5548 5549 5551 5550 +8 5552 5553 5555 5554 5556 5557 5559 5558 +8 5560 5561 5563 5562 5564 5565 5567 5566 +8 5568 5569 5571 5570 5572 5573 5575 5574 +8 5576 5577 5579 5578 5580 5581 5583 5582 +8 5584 5585 5587 5586 5588 5589 5591 5590 +8 5592 5593 5595 5594 5596 5597 5599 5598 +8 5600 5601 5603 5602 5604 5605 5607 5606 +8 5608 5609 5611 5610 5612 5613 5615 5614 +8 5616 5617 5619 5618 5620 5621 5623 5622 +8 5624 5625 5627 5626 5628 5629 5631 5630 +8 5632 5633 5635 5634 5636 5637 5639 5638 +8 5640 5641 5643 5642 5644 5645 5647 5646 +8 5648 5649 5651 5650 5652 5653 5655 5654 +8 5656 5657 5659 5658 5660 5661 5663 5662 +8 5664 5665 5667 5666 5668 5669 5671 5670 +8 5672 5673 5675 5674 5676 5677 5679 5678 +8 5680 5681 5683 5682 5684 5685 5687 5686 +8 5688 5689 5691 5690 5692 5693 5695 5694 +8 5696 5697 5699 5698 5700 5701 5703 5702 +8 5704 5705 5707 5706 5708 5709 5711 5710 +8 5712 5713 5715 5714 5716 5717 5719 5718 +8 5720 5721 5723 5722 5724 5725 5727 5726 +8 5728 5729 5731 5730 5732 5733 5735 5734 +8 5736 5737 5739 5738 5740 5741 5743 5742 +8 5744 5745 5747 5746 5748 5749 5751 5750 +8 5752 5753 5755 5754 5756 5757 5759 5758 +8 5760 5761 5763 5762 5764 5765 5767 5766 +8 5768 5769 5771 5770 5772 5773 5775 5774 +8 5776 5777 5779 5778 5780 5781 5783 5782 +8 5784 5785 5787 5786 5788 5789 5791 5790 +8 5792 5793 5795 5794 5796 5797 5799 5798 +8 5800 5801 5803 5802 5804 5805 5807 5806 +8 5808 5809 5811 5810 5812 5813 5815 5814 +8 5816 5817 5819 5818 5820 5821 5823 5822 +8 5824 5825 5827 5826 5828 5829 5831 5830 +8 5832 5833 5835 5834 5836 5837 5839 5838 +8 5840 5841 5843 5842 5844 5845 5847 5846 +8 5848 5849 5851 5850 5852 5853 5855 5854 +8 5856 5857 5859 5858 5860 5861 5863 5862 +8 5864 5865 5867 5866 5868 5869 5871 5870 +8 5872 5873 5875 5874 5876 5877 5879 5878 +8 5880 5881 5883 5882 5884 5885 5887 5886 + +CELL_TYPES 736 + 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 +POINT_DATA 5888 +SCALARS partitions double 1 +LOOKUP_TABLE default +4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 4.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 2.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 3.00000 diff --git a/tests/tests.h b/tests/tests.h index c961df8192..ef37ca2046 100644 --- a/tests/tests.h +++ b/tests/tests.h @@ -1,7 +1,7 @@ // --------------------------------------------------------------------- // $Id$ // -// Copyright (C) 2004 - 2013 by the deal.II authors +// Copyright (C) 2004 - 2014 by the deal.II authors // // This file is part of the deal.II library. // @@ -25,6 +25,7 @@ #include #include #include +#include #include #include #include @@ -33,6 +34,13 @@ #include +// implicitly use the deal.II namespace everywhere, without us having to say +// so in each and every testcase +using namespace dealii; + + +// ------------------------------ Utility functions used in tests ----------------------- + // Cygwin has a different implementation for rand() which causes many tests to fail. // This here is a reimplementation that gives the same sequence of numbers as a program // that uses rand() on a typical linux machine. @@ -89,7 +97,7 @@ void srand(int seed) throw() // given the name of a file, copy it to deallog // and then delete it -inline void cat_file(const char *filename) +void cat_file(const char *filename) { std::ifstream in(filename); Assert (in, dealii::ExcIO()); @@ -106,47 +114,104 @@ inline void cat_file(const char *filename) } +/* + * Some tests (notably base/thread*, base/task*) create output that + * comes out in random order. To make the output of these tests comparable, + * we need to sort them. + * + * This function does just that with the file given. All streams writing + * to this should be closed when calling this function. + */ +void sort_file_contents (const std::string &filename) +{ + int error = std::system ((std::string ("LC_ALL=C sort ") + filename + " -o " + filename).c_str()); + Assert (error == 0, ExcInternalError()); +} + + + +/* + * Replace all occurences of ' &' by '& ' from the given file to hopefully be + * more compiler independent with respect to __PRETTY_FUNCTION__ + * + * Also, while GCC prepends the name by "virtual " if the function is virtual, + * Intel's ICC does not do that, so filter that out as well. + */ +void unify_pretty_function (const std::string &filename) +{ + int error = std::system ((std::string ("sed -i -e 's/ \\&/ \\& /g' -e 's/ & ,/\\&,/g' -e 's/ \\& )/\\&)/g' -e 's/ \\& /\\& /g' -e 's/^DEAL::virtual /DEAL::/g' ") + filename).c_str()); + + Assert (error == 0, ExcInternalError()); +} + + +// ------------------------------ Functions used in initializing subsystems ------------------- + + +/* + * If we run 64 tests at the same time on a 64-core system, and + * each of them runs 64 threads, then we get astronomical loads. + * Limit concurrency to a fixed (small) number of threads, independent + * of the core count. + * + * Note that we can't do this if we run in MPI mode because then + * MPI_InitFinalize already calls this function. Since every test + * calls MPI_InitFinalize itself, we can't adjust the thread count + * for this here. + */ +#ifndef DEAL_II_WITH_MPI +struct LimitConcurrency +{ + LimitConcurrency () + { + multithread_info.set_thread_limit (5); + } +} limit_concurrency; +#endif + + #ifdef DEAL_II_WITH_PETSC #include -inline void check_petsc_allocations() +namespace { - PetscStageLog stageLog; - PetscLogGetStageLog(&stageLog); + void check_petsc_allocations() + { + PetscStageLog stageLog; + PetscLogGetStageLog(&stageLog); - // I don't quite understand petsc and it looks like stageLog->stageInfo->classLog->classInfo[i].id - // is always -1, so we look it up in stageLog->classLog, make sure it has the same number of entries: - Assert(stageLog->stageInfo->classLog->numClasses == stageLog->classLog->numClasses, dealii::ExcInternalError()); + // I don't quite understand petsc and it looks like + // stageLog->stageInfo->classLog->classInfo[i].id is always -1, so we look + // it up in stageLog->classLog, make sure it has the same number of entries: + Assert(stageLog->stageInfo->classLog->numClasses == stageLog->classLog->numClasses, + dealii::ExcInternalError()); - bool errors = false; - for (int i=0;istageInfo->classLog->numClasses;++i) - { - if (stageLog->stageInfo->classLog->classInfo[i].destructions != - stageLog->stageInfo->classLog->classInfo[i].creations) - { - errors = true; - std::cerr << "ERROR: PETSc objects leaking of type '" - << stageLog->classLog->classInfo[i].name << "'" - << " with " - << stageLog->stageInfo->classLog->classInfo[i].creations - << " creations and only " - << stageLog->stageInfo->classLog->classInfo[i].destructions - << " destructions." << std::endl; - } - } + bool errors = false; + for (int i=0;istageInfo->classLog->numClasses;++i) + { + if (stageLog->stageInfo->classLog->classInfo[i].destructions != + stageLog->stageInfo->classLog->classInfo[i].creations) + { + errors = true; + std::cerr << "ERROR: PETSc objects leaking of type '" + << stageLog->classLog->classInfo[i].name << "'" + << " with " + << stageLog->stageInfo->classLog->classInfo[i].creations + << " creations and only " + << stageLog->stageInfo->classLog->classInfo[i].destructions + << " destructions." << std::endl; + } + } - if (errors) - throw dealii::ExcMessage("PETSc memory leak"); + if (errors) + throw dealii::ExcMessage("PETSc memory leak"); + } } #endif -// implicitly use the deal.II namespace everywhere, without us having to say -// so in each and every testcase -using namespace dealii; - -// Function for initialize deallog. Normally, it should be called at +// Function to initialize deallog. Normally, it should be called at // the beginning of main() like // // initlog(); @@ -157,7 +222,6 @@ using namespace dealii; std::string deallogname; std::ofstream deallogfile; -inline void initlog(bool console=false) { @@ -271,40 +335,55 @@ struct MPILogInitAll -/* - * Some tests (notably base/thread*, base/task*) create output that - * comes out in random order. To make the output of these tests comparable, - * we need to sort them. - * - * This function does just that with the file given. All streams writing - * to this should be closed when calling this function. - */ -void sort_file_contents (const std::string &filename) +/* Override the tbb assertion handler in order to print a stacktrace:*/ + +#ifdef TBB_DO_ASSERT + +#include + +DEAL_II_NAMESPACE_OPEN +namespace deal_II_exceptions { - int error = std::system ((std::string ("LC_ALL=C sort ") + filename + " -o " + filename).c_str()); - Assert (error == 0, ExcInternalError()); + extern bool abort_on_exception; + extern bool show_stacktrace; } +DEAL_II_NAMESPACE_CLOSE - -/* - * Replace all occurences of ' &' by '& ' from the given file to hopefully be - * more compiler independent with respect to __PRETTY_FUNCTION__ - * - * Also, while GCC prepends the name by "virtual " if the function is virtual, - * Intel's ICC does not do that, so filter that out as well. - */ -void unify_pretty_function (const std::string &filename) +void new_tbb_assertion_handler(const char *file, int line, const char *expr, + const char *comment) { - int error = std::system ((std::string ("sed -i -e 's/ \\&/ \\& /g' -e 's/ & ,/\\&,/g' -e 's/ \\& )/\\&)/g' -e 's/ \\& /\\& /g' -e 's/^DEAL::virtual /DEAL::/g' ") + filename).c_str()); + // Print out the original assertion message + std::cerr << "TBB assertion:" << std::endl; + std::cerr << "Assertion " << expr << " failed on line " << line << " of file " + << file << std::endl; + std::cerr << "Detailed description: " << comment << std::endl; - Assert (error == 0, ExcInternalError()); + // Reenable abort and stacktraces: + deal_II_exceptions::abort_on_exception = true; + deal_II_exceptions::show_stacktrace = true; + + // And abort with a deal.II exception: + Assert(false, ExcMessage("TBB Exception, see above")); } +struct SetTBBAssertionHandler +{ + SetTBBAssertionHandler () + { + ::tbb::set_assertion_handler(new_tbb_assertion_handler); + } +} set_tbb_assertion_handler; + +#endif /*TBB_DO_ASSERT*/ + + +// ------------------------------ Adjust global variables in deal.II ----------------------- + DEAL_II_NAMESPACE_OPEN /* - * Now, change some global behaviour of deal.II and supporting libraries: + * Now, change some global behavior of deal.II and supporting libraries: */ /* Disable stack traces: */ @@ -343,47 +422,6 @@ struct SetGrainSizes } } set_grain_sizes; - -/* Override the tbb assertion handler in order to print a stacktrace:*/ - -#ifdef TBB_DO_ASSERT - -#include - -namespace deal_II_exceptions -{ - extern bool abort_on_exception; - extern bool show_stacktrace; -} - -void new_tbb_assertion_handler(const char *file, int line, const char *expr, - const char *comment) -{ - // Print out the original assertion message - std::cerr << "TBB assertion:" << std::endl; - std::cerr << "Assertion " << expr << " failed on line " << line << " of file " - << file << std::endl; - std::cerr << "Detailed description: " << comment << std::endl; - - // Reenable abort and stacktraces: - deal_II_exceptions::abort_on_exception = true; - deal_II_exceptions::show_stacktrace = true; - - // And abort with a deal.II exception: - Assert(false, ExcMessage("TBB Exception, see above")); -} - -struct SetTBBAssertionHandler -{ - SetTBBAssertionHandler () - { - ::tbb::set_assertion_handler(new_tbb_assertion_handler); - } -} set_tbb_assertion_handler; - -#endif /*TBB_DO_ASSERT*/ - - DEAL_II_NAMESPACE_CLOSE -- 2.39.5